Przejdź do treści głównej
OpenAI
Ładowanie…

Opracowaliśmy hierarchiczny model uczenia przez wzmacnianie, który uczy się działań wysokiego poziomu, przydatnych przy rozwiązywaniu szerokiego zakresu zadań, umożliwiając szybkie rozwiązywanie problemów wymagających tysięcy kroków czasowych. Po zastosowaniu w zbiorze problemów nawigacyjnych, nasz algorytm odkrywa zbiór działań wysokiego poziomu dla chodzenia i czołgania się w różnych kierunkach, co pozwala agentowi na szybkie radzenie sobie z zadaniem nawigacyjnym.

Ludzie rozwiązują złożone zadania dzieląc je na mniejsze, łatwiejsze do przetworzenia części składowe. Smażenie placków obejmuje serię działań wysokiego poziomu takich jak odmierzenie porcji mąki, ubicie jajek, przeniesienie mieszaniny na patelnię, włączenie palnika itd. Ludzie potrafią również uczyć się się wykonywania nowych zadań poprzez odpowiednie sekwencjonowanie tego rodzaju opanowanych wcześniej elementów pomimo tego, że dane zadanie może obejmować miliony działań niskiego poziomu, przykładowo pojedynczych skurczy określonych mięśni.

Z drugiej strony, współczesne metody uczenia przez wzmocnienie działają na zasadzie siłowego wyszukiwania w zbiorze działań niskiego poziomu, przez co rozwiązanie nowego zadania wymaga zazwyczaj podjęcia ogromnej liczby prób. Metody takie okazują się bardzo mało wydajne w przypadku zadań obejmujących dużą liczbę kroków czasowych.

Nasze rozwiązanie bazuje na idei hierarchicznego uczenia przez wzmacnianie, w którym agent podchodzi do złożonych zachowań jako do krótkich sekwencji działań wysokiego poziomu. Pozwala to naszym agentom na rozwiązywanie o wiele trudniejszych zadań: choć rozwiązanie może wymagać 2000 działań niskiego poziomu, reguła hierarchiczna przekształca je w prostą sekwencję 10 działań wysokiego poziomu, przez co wyszukanie 10-etapowej sekwencji staje się o wiele bardziej wydajne niż w przypadku sekwencji 2000-etapowej.

Meta-nauka wspólnych hierarchii

Schemat blokowy obserwacji podlegających regułom i konwersji takich obserwacji na działania

Nasz algorytm meta-nauki wspólnych hierarchii (MLSH) uczy się się reguły hierarchicznej w sytuacji, gdy reguła główna obejmuje pewną liczbę pod-reguł. Reguła główna wybiera działanie co N kroków czasowych, gdzie wartość N możemy określić jako 200. Pod-reguła wykonana dla N kroków czasowych stanowi działanie wysokiego poziomu, a w przypadku naszego zadania nawigacyjnego, poszczególne pod-reguły odpowiadają chodzeniu lub czołganiu się w różnych kierunkach.

W większości wcześniejszych prac, reguły hierarchiczne były formułowane wyłącznie ręcznie. Natomiast naszym celem jest automatyczne wynajdywanie tego rodzaju struktur hierarchicznych poprzez interakcje z otoczeniem. Przyjmując perspektywę meta uczenia, definiujemy dobrą hierarchię jako zdolną do szybkiego osiągania wysokich nagród w toku uczenia się nieznanego zadania. W związku z tym algorytm MLSH ukierunkowany jest na poznawanie pod-reguł umożliwiających szybką naukę w kontekście wcześniej nieznanych zadań.

Trenujemy zdolność dystrybucji między zadaniami, udostępniając pod-reguły w ramach nauki reguły głównej dla każdego zadania. Poprzez ciągłą naukę reguł głównych, proces zyskuje zdolność do automatycznego wyszukiwania pod-reguł odpowiadających dynamice nauki reguły głównej.

Eksperymenty

Ładowanie…

W naszym środowisku AntMaze, robot Mujoco Ant zostaje umieszczony w otoczeniu 9 różnych labiryntów i ma za zadanie pokonanie trasy od punktu początkowego do celu. Nasz algorytm z powodzeniem identyfikuje różnorodny zbiór pod-reguł, które mogą zostać połączone w sekwencję umożliwiającą rozwiązanie zadań w labiryncie, wyłącznie na podstawie swoich interakcji z otoczeniem. Taki zbiór pod-reguł może być następnie wykorzystany w procesie rozwiązywania zadania większego od zadań treningowych (zob. wideo na początku tego posta).

Ładowanie…

Kod

Udostępniamy kod(otwiera nowe okno) treningu agentów MLSH, jak również środowiska MuJoCo, które zbudowaliśmy, aby oceniać wyniki tych algorytmów.

Autorzy

Kevin Frans, Jonathan Ho, Peter Chen i Pieter Abbeel