Gå direkt till huvudinnehåll
OpenAI

Vi har utvecklat en hierarkisk algoritm för förstärkningsinlärning som lär sig åtgärder på hög nivå och är användbara för att lösa många olika uppgifter och gör att man snabbt kan lösa uppgifter som kräver tusentals tidssteg. När vår algoritm tillämpas på olika navigeringsproblem upptäcker den flera olika åtgärder på hög nivå för att gå och krypa i olika riktningar, vilket gör att agenten snabbt kan bemästra nya navigeringsuppgifter.

Människor löser komplicerade utmaningar genom att dela upp dem i mindre, hanterbara delar. Att steka pannkakor består av en serie åtgärder på hög nivå, såsom att ta mått på mjölet, vispa äggen, överföra smeten till stekpannan, slå på spisen, osv. Människor kan snabbt lära sig nya uppgifter genom lägga de inlärda delarna i följd, fastän uppgiften kan ta miljontals åtgärder på låg nivå, t.ex. enskilda muskelsammandragningar.

Å andra sidan använder sig dagens förstärkningsinlärning av totalsökning före åtgärder på låg nivå, vilket kräver en enorm mängd försök till att lösa nya uppgifter. Dessa metoder blir väldigt ineffektiva på att lösa uppgifter som kräver ett större antal tidssteg.

Vår lösning är baserad på idén om hierarkisk förstärkningsinlärning, där agenter representerar komplicerade beteenden som en kort sekvens med åtgärder på hög nivå. Därmed kan våra agenter lösa mycket svårare uppgifter. Medan lösningen kan kräva 2 000 åtgärder på låg nivå, förvandlar den hierarkiska policyn detta till en sekvens med 10 åtgärder på hög nivå, och det är mycket effektivare att söka på 10-stegsekvensen än 2 000-stegsekvensen.

Metainlärning med delade hierarkier

Flödesschema över observationer som genomgår policy och omvandlas till åtgärd

Vår algoritm, metainlärning med delade hierarkier (MLSH), lär sig en hierarkisk policy där en huvudpolicy byter mellan olika delpolicyer. Huvudpolicyn väljer en åtgärd varje N tidssteg, där N kan motsvara 200. En delpolicy som genomförts för N tidssteg motsvarar en åtgärd på hög nivå och för våra navigeringsuppgifter motsvarar delpolicyer att gå eller krypa i olika riktningar.

I de flesta tidigare arbetena har hierarkiska policyer varit uttryckligen handkonstruerade. Istället ämnar vi att upptäcka denna hierarkiska struktur automatiskt genom interaktioner med miljön. Med ett metainlärningsperspektiv definierar vi en god hierarki som en som snabbt uppnår en hög belöning när den tränar på osedda uppgifter. Följaktligen ämnar MLSH-algoritmen att lära sig delpolicyer som aktiverar snabb inlärning på tidigare osedda uppgifter.

Vi tränar på en fördelning över uppgifter, delar delpolicyerna samtidigt som vi lär oss en ny huvudpolicy för varje provuppgift. Genom att upprepade gånger träna nya huvudpolicyer hittar processen automatiskt delpolicyer som anpassar sig till huvudpolicyns inlärningsdynamik.

Experiment

Laddar …

I vår AntMaze placeras en MuJoCo Ant-robot i en miljö med nio olika labyrinter och måste navigera från startpositionen till målet. Vår algoritm lyckas hitta flera olika delpolicyer som kan sammanföras för att lösa labyrintuppgifterna, endast genom interaktionen med miljön. Dessa delpolicyer kan sedan användas till att bemästra större uppgifter än de som de har tränats på (se videon i början av inlägget).

Laddar …

Kod

Vi släpper koden(öppnas i ett nytt fönster) för att träna MLSH-agenterna, samt MuJoCo-miljöerna vi har skapat för att utvärdera algoritmerna.

Författare

Kevin Frans, Jonathan Ho, Peter Chen, Pieter Abbeel