Pokazywanie robotom jak prowadzić samochód
Wyobraź sobie, że roboty mogłyby się uczyć, oglądając pokazy: możesz pokazać robotowi domowemu, jak wykonywać rutynowe prace domowe lub nakrywać do stołu. W miejscu pracy można było szkolić roboty jak nowych pracowników, pokazując im, jak wykonywać wiele obowiązków. Na drodze Twój autonomiczny samochód może nauczyć się bezpiecznej jazdy, obserwując, jak jeździsz po okolicy.
Postępując w tej wizji, badacze z USC zaprojektowali system, który pozwala robotom na samodzielne uczenie się skomplikowanych zadań na podstawie bardzo niewielkiej liczby demonstracji – nawet niedoskonałych. Artykuł zatytułowany Learning from Demonstrations Using Signal Temporal Logic został zaprezentowany na konferencji dotyczącej uczenia się robotów (CoRL) 18 listopada.
System badaczy działa poprzez ocenę jakości każdej demonstracji, więc uczy się na błędach, które widzi, a także na sukcesach. Podczas gdy obecne najnowocześniejsze metody wymagają co najmniej 100 demonstracji, aby wykonać określone zadanie, ta nowa metoda pozwala robotom uczyć się na podstawie zaledwie kilku demonstracji. Pozwala też robotom uczyć się bardziej intuicyjnie, tak jak ludzie uczą się od siebie nawzajem – obserwujesz, jak ktoś wykonuje zadanie, nawet niedoskonale, a potem próbujesz samemu. Nie musi to być „doskonała” demonstracja, aby ludzie mogli czerpać wiedzę z obserwowania siebie nawzajem.
„Wiele systemów uczenia maszynowego i uczenia ze wzmocnieniem wymaga dużych ilości danych i setek demonstracji – potrzeba człowieka do ciągłego demonstrowania, co jest niewykonalne” – powiedział główny autor, dr Aniruddh Puranic. student informatyki w USC Viterbi School of Engineering.
„Ponadto większość ludzi nie ma wiedzy programistycznej, aby jednoznacznie określić, co robot musi zrobić, a człowiek nie jest w stanie zademonstrować wszystkiego, co robot musi wiedzieć. A co, jeśli robot napotka coś, czego wcześniej nie widział? To jest kluczowe wyzwanie ”.
Uczenie się z demonstracji
Uczenie się na podstawie demonstracji staje się coraz bardziej popularne w uzyskiwaniu skutecznych zasad sterowania robotami – które kontrolują ruchy robota – w przypadku złożonych zadań. Ale jest podatny na niedoskonałości w demonstracjach, a także budzi obawy dotyczące bezpieczeństwa, ponieważ roboty mogą nauczyć się niebezpiecznych lub niepożądanych działań.
Ponadto nie wszystkie demonstracje są równe: niektóre demonstracje są lepszym wskaźnikiem pożądanego zachowania niż inne, a jakość pokazów często zależy od wiedzy użytkownika przeprowadzającego demonstracje.
Aby rozwiązać te problemy, naukowcy zintegrowali „signal temporal logic”(logikę czasową sygnału) lub STL, aby ocenić jakość demonstracji i automatycznie sklasyfikować je w celu uzyskania nieodłącznych nagród.
Innymi słowy, nawet jeśli niektóre części demonstracji nie mają żadnego sensu w oparciu o wymagania logiczne, przy użyciu tej metody robot może nadal uczyć się na niedoskonałych częściach. W pewnym sensie system dochodzi do własnego wniosku o dokładności lub powodzeniu demonstracji.
„Powiedzmy, że roboty uczą się na podstawie różnych rodzajów demonstracji – może to być praktyczna demonstracja, filmy lub symulacje – jeśli zrobię coś, co jest bardzo niebezpieczne, w standardowym podejściu robot zrobi jedną z dwóch rzeczy: całkowicie lekceważy to, albo co gorsza, robot nauczy się czegoś niewłaściwego ”- powiedział współautor Stefanos Nikolaidis, adiunkt informatyki USC Viterbi.
„Ta praca w przeciwieństwie do tego, w bardzo inteligentny sposób,wykorzystuje pewne rozsądne rozumowanie w formie logiki, aby zrozumieć, które części demonstracji są dobre, a które nie. W istocie tak właśnie robią ludzie”.
Weźmy na przykład pokaz jazdy, podczas którego ktoś omija znak stopu. Byłoby to przez system gorsze niż demonstracja dobrego kierowcy. Ale jeśli podczas tej demonstracji kierowca zrobi coś inteligentnego – na przykład uruchomi hamulce, aby uniknąć wypadku – robot nadal będzie się uczył na podstawie tego inteligentnego działania.
Dostosowanie się do ludzkich preferencji
Logika temporalna jest ekspresyjnym, matematycznym językiem symbolicznym, który umożliwia robotyczne rozumowanie na temat obecnych i przyszłych wyników. Podczas gdy poprzednie badania w tej dziedzinie wykorzystywały „liniową logikę czasową”, w tym przypadku preferowany jest STL, powiedział Jyo Deshmukh, były inżynier Toyoty i asystent profesora informatyki na USC Viterbi.
„Kiedy wchodzimy w świat systemów cyber fizycznych, takich jak roboty i samojezdne samochody, w których czas ma kluczowe znaczenie, liniowa logika czasowa staje się nieco kłopotliwa, ponieważ uzasadnia sekwencje wartości prawda / fałsz dla zmiennych, podczas gdy STL umożliwia wnioskowanie o sygnałach fizycznych ”.
Puranik, któremu doradza Deshmukh, wpadł na pomysł po zajęciach praktycznych z robotyki z Nikolaidisem, który pracował nad rozwojem robotów, aby uczyć się z filmów na YouTube. Trio postanowiło to przetestować. Wszyscy trzej powiedzieli, że byli zaskoczeni zakresem sukcesu systemu, a profesorowie obaj uznają Puranica za jego ciężką pracę.
„W porównaniu z najnowocześniejszym algorytmem, szeroko stosowanym w wielu zastosowaniach robotyki, widać różnicę rzędu wielkości w liczbie wymaganych demonstracji” – powiedział Nikolaidis.
System został przetestowany przy użyciu symulatora gry w stylu Minecrafta, ale naukowcy twierdzą, że system może również uczyć się na symulatorach jazdy, a ostatecznie nawet na filmach. Następnie naukowcy mają nadzieję wypróbować to na prawdziwych robotach. Stwierdzili, że to podejście dobrze nadaje się do zastosowań, w których mapy są znane z wyprzedzeniem, gdzie występują dynamiczne przeszkody: roboty w środowisku domowym, magazyny, a nawet łaziki do eksploracji kosmosu.
„Jeśli chcemy, aby roboty były dobrymi członkami zespołu i pomagały ludziom, najpierw muszą bardzo skutecznie uczyć się i dostosowywać do ludzkich preferencji” – powiedział Nikolaidis. „Nasza metoda to zapewnia”.