Aprenent una jerarquia

Hem desenvolupat un algorisme d’aprenentatge per reforç jeràrquic que aprèn accions d’alt nivell útils per resoldre diverses tasques, i permet resoldre ràpidament tasques que requereixen milers de passos temporals. El nostre algorisme, aplicat a un conjunt de problemes de navegació, descobreix un conjunt d’accions d’alt nivell per caminar i arrossegar-se en diferents direccions, cosa que permet a l’agent dominar ràpidament noves tasques de navegació.
Els humans resolen reptes complicats descomponent-los en components petits i manejables. Fer creps a la planxa consisteix en una sèrie d’accions d’alt nivell, com mesurar la farina, batre els ous, abocar la barreja a la paella, encendre els fogons, etc. Els humans poden aprendre noves tasques ràpidament encadenant aquests components apresos, tot i que la tasca pot requerir milions d’accions de baix nivell, és a dir, contraccions musculars individuals.
En canvi, els mètodes actuals d’aprenentatge per reforç funcionen mitjançant una cerca exhaustiva sobre accions de baix nivell, i requereixen un nombre enorme d’intents per resoldre una tasca nova. Aquests mètodes es tornen molt ineficients a l’hora de resoldre tasques que requereixen un gran nombre de passos temporals.
La nostra solució es basa en la idea de l’aprenentatge per reforç jeràrquic, en què els agents representen comportaments complicats com una seqüència curta d’accions d’alt nivell. Això permet als nostres agents resoldre tasques molt més difícils: mentre que la solució pot requerir 2000 accions de baix nivell, la política jeràrquica ho converteix en una seqüència de 10 accions d’alt nivell, i és molt més eficient cercar sobre la seqüència de 10 passos que sobre la de 2000 passos.

El nostre algorisme, metaaprenentatge de jerarquies compartides (MLSH), aprèn una política jeràrquica en què una política mestra alterna entre un conjunt de subpolítiques. La mestra selecciona una acció cada N passos temporals, on podem prendre N=200. Una subpolítica executada durant N passos temporals constitueix una acció d’alt nivell i, per a les nostres tasques de navegació, les subpolítiques corresponen a caminar o arrossegar-se en diferents direccions.
En la major part del treball previ, les polítiques jeràrquiques s’han dissenyat manualment de manera explícita. En canvi, el nostre objectiu és descobrir aquesta estructura jeràrquica automàticament mitjançant la interacció amb l’entorn. Des d’una perspectiva de metaaprenentatge, definim una bona jerarquia com aquella que arriba ràpidament a una recompensa alta quan s’entrena en tasques no vistes. Per tant, l’algorisme MLSH pretén aprendre subpolítiques que permetin un aprenentatge ràpid en tasques no vistes prèviament.
Entrenem sobre una distribució de tasques, compartint les subpolítiques mentre aprenem una nova política mestra en cada tasca mostrejada. En entrenar repetidament noves polítiques mestres, aquest procés troba automàticament subpolítiques que s’adapten a la dinàmica d’aprenentatge de la política mestra.
En el nostre entorn AntMaze, un robot Ant de MuJoCo es col·loca en una distribució de 9 laberints diferents i ha de navegar des de la posició inicial fins a l’objectiu. El nostre algorisme aconsegueix trobar un conjunt divers de subpolítiques que es poden encadenar per resoldre les tasques del laberint, únicament mitjançant la interacció amb l’entorn. Aquest conjunt de subpolítiques es pot fer servir després per dominar una tasca més gran que aquelles amb què es va entrenar (vegeu el vídeo a l’inici de la publicació).
Publiquem el codi(s'obre en una finestra nova) per entrenar els agents MLSH, així com els entorns MuJoCo que hem creat per avaluar aquests algorismes.


