Apprendere una gerarchia

Abbiamo sviluppato un algoritmo di apprendimento gerarchico per rinforzo che apprende azioni di alto livello utili per risolvere una serie di attività, consentendo di risolvere rapidamente attività che richiedono migliaia di passaggi temporali. Tale algoritmo, applicato a una serie di problemi di navigazione, scopre un insieme di azioni di alto livello per esplorare e ricercare in diverse direzioni, il che consente all’agente di padroneggiare rapidamente nuove attività di navigazione.
Gli esseri umani risolvono sfide complicate suddividendole in componenti piccoli e gestibili. La preparazione dei pancake consiste in una serie di azioni di alto livello, come misurare la farina, sbattere le uova, trasferire il composto nella padella, accendere il fornello e così via. Gli esseri umani sono in grado di apprendere rapidamente nuove attività mettendo in sequenza questi componenti appresi, anche se l’attività potrebbe richiedere milioni di azioni di basso livello, cioè singole contrazioni muscolari.
D’altra parte, gli attuali metodi di apprendimento per rinforzo operano attraverso una ricerca a forza bruta su azioni di basso livello, implicando un numero enorme di tentativi per risolvere un nuova attività. Questi metodi diventano molto inefficienti nella risoluzione di attività che richiedono un gran numero di passaggi temporali.
La nostra soluzione si basa sull’idea dell’apprendimento gerarchico del rinforzo, in cui gli agenti rappresentano comportamenti complicati come una breve sequenza di azioni di alto livello. Questo permette ai nostri agenti di risolvere attività molto più difficili: mentre la soluzione potrebbe richiedere 2000 azioni di basso livello, la politica gerarchica la trasforma in una sequenza di 10 azioni di alto livello, ed è molto più efficiente cercare sulla sequenza di 10 passi che su quella di 2000 passi.

Il nostro algoritmo, il meta-apprendimento di gerarchie condivise (MLSH), apprende una politica gerarchica in cui una politica principale passa da una serie di politiche secondarie. Il master seleziona un’azione ogni N timestep, dove potremmo considerare N=200. Una sotto politica eseguita per N timestep costituisce un’azione di alto livello e, per le nostre attività di navigazione, le sotto politiche corrispondono a esplorare o ricercare in diverse direzioni.
Nella maggior parte dei lavori precedenti, le politiche gerarchiche sono state progettate esplicitamente a mano. Il nostro obiettivo è invece quello di scoprire questa struttura gerarchica automaticamente attraverso l’interazione con l’ambiente. In una prospettiva di meta-apprendimento, definiamo una buona gerarchia come una gerarchia che raggiunge rapidamente una ricompensa elevata quando si addestra su attività non viste. Pertanto, l’algoritmo MLSH mira ad apprendere sotto politiche che consentano un apprendimento rapido su attività precedentemente non viste.
Ci addestriamo su una distribuzione di attività, condividendo le politiche secondarie e imparando una nuova politica principale su ogni attività campionata. Addestrando ripetutamente nuove politiche master, questo processo trova automaticamente delle sotto politiche che si adattano alle dinamiche di apprendimento della politica master.
In ambiente AntMaze, un robot Mujoco Ant viene inserito in una distribuzione di 9 diversi labirinti e deve navigare dalla posizione di partenza alla meta. Il nostro algoritmo è in grado di trovare un insieme diversificato di sotto politiche che possono essere messe in sequenza per risolvere le attività del labirinto, solo attraverso l’interazione con l’ambiente. Questo insieme di sotto-politiche può quindi essere utilizzato per padroneggiare un’attività più ampia rispetto a quelle su cui sono stati addestrati (vedi video all’inizio del post).
Stiamo rilasciando il codice(si apre in una nuova finestra) per l’addestramento degli agenti MLSH e gli ambienti MuJoCo che abbiamo costruito per valutare questi algoritmi.


