Roboty Uczenie Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie W oparciu o wykład Dr. Hadi Moradi University of Southern California Inteligentne Systemy Autonomiczne
Ostatnio zobaczyliśmy Grupy robotów Współpracę Rywalizację Komunikację Uczenie
Zarys wykładu Adaptacja vs Uczenie Adaptacyjna kontrola Dlaczego uczenie w robotach? Wyzwania w uczeniu Typy uczenia Wzmocnienie uczenia Optymalizacja uczenia Niekontrolowane uczenie Algorytm Q Learning
Adaptacja vs Uczenie Uczenie –Powoduje zmiany w organizmie –Bazuje na wiedzy Adaptacja –Jest bardziej nastawione na środowisko. (nie zakłada żadnej wiedzy)
Typy adaptacji Behawioralna – zachowania są wzajemnie dostosowywane Ewolucyjna – potomkowie bazują na umiejętnościach przodków zdobytych przez długi okres. Czuciowa – czujniki stają coraz bardziej dostrajane do środowiska
Typowa sprzężenie zwrotne Kontroler System kontrolowany Typowe sprzężenie zwrotne
Adaptujący się system kontroli Kontroler Element adaptujący się System kontrolowany Typowe sprzężenie zwrotne Użyj sprzężenia zwrotnego aby dostosować parametry
Uczenie Uczenie jest czymś więcej niż adaptacja Uczenie – główna oznaka inteligencji, – największe wyzwanie SI. Trudne do osiągnięcia w fizycznych robotach.
Znaczenie nauki Wprowadza nową wiedzę (fakty, zachowania, reguły) do systemu Uogólnia pojęcia: na podstawie wielokrotnych przykładów Ogranicza pojęcia : do szczególnych sytuacji Reorganizuje informacje Tworzy nowe pojęcia Tworzy wyjaśnienia Używa ponownie doświadczeń z przeszłości
Dlaczego uczenie w robotach? Co jest celem uczenia w robotach? 1)Zdolność do przystosowania do zmian w celu i/lub środowisku robota. 2)Zdolność do zwiększenia wydajności 3)Droga do automatyzacji i/lub programowania robota.
Co może zostać zrobione? Automatyczne: –Projektowanie ciała robota –Projektowanie fizycznej sieci jego procesorów –Generowanie zachowań –Zapamiętywanie i ponowne użycie poprzednio wyuczonych zadań –Poprawianie sposobu w jaki oddziałują jego warstwy –Dostrajanie parametrów zachowania i dużo więcej…
Co zostało zrobione? Automatycznie wygenerowane (np. wyuczone): –Części ciała robota, –Mózgi (procesory) i –Programy Mając początkowe programy użycie metody prób & błędów by ulepszyć programy: –Od dostrajania parametrów do –Zmiany całych zachowań Uwzględnianie zmian w środowisku (np. nowe przeszkody, nowe mapy, większe obciążenia, nowe cele)
Wyzwania w uczeniu Przypisanie odpowiedzialności: Kogo wyróżnić/winić za rezultat? Ważność: co jest istotne w danej chwili? Nowy składnik: kiedy powinno być utworzone nowe pojęcie/odwzorowanie? Indeksowanie: jak zorganizować pamięć? Program użytkowy: co powinno się zapomnieć?
Wyzwania specyficzne dla uczenia robota Sytuacyjność (kontekst) w świecie –Hałas, niedoskonałość, blokada, dynamika itd. Więzy czasu rzeczywistego: –Wolnomyśliciele szybką giną Mieszanka nadzorowana/nienadzorowana Równoczesność i wielomodalność
Terminologia Nagradzanie –Pozytywne sprzężenie zwrotne Funkcja miary kosztu/efektywności –Skalarna (zazwyczaj) miara dobroci Indukcja –Generowanie funkcji (zwanej hipotezą) która aproksymuje przykłady Nauczyciel, krytyk –Dostarcza sprzężenia zwrotnego
System/model –System/agent który chcemy wytrenować Zbieżność Problem przypisania odpowiedzialności –Kto powinien zostać uznany/obwiniony? Trudne do stwierdzenia w czasie Trudne do stwierdzenia w systemach wielu robotów Terminologia (c.d.)
Systemy uczące Wzmocnienie: nagrody/kary aby zmienić wartości numeryczne w kontrolerach Sieci neuronowe: Wzmocnienie przez zmianę wag Nauka ewolucji: Operatory genetyczne jak mutacja populacji kontrolerów –Samo-reperujacy sie robotSamo-reperujacy sie robot Nauka przez doświadczenie: –Bazowanie na pamięci: przeszłe doświadczenia –Bazowanie na przypadku: przeszłe przypadki aby móc dopasować się do aktualnej sytuacji.
Systemy uczące Nauka indukcyjna: Określone sytuacje treningowe do uogólnień i specjalizacji Nauka bazująca na wyjaśnieniach: Wiedza o dziedzinie do kierowania uczeniem Uczenie wielu strategii: Zbiory metod współpracujących lub współzawodniczących ze sobą.
Uczenie ze wzmacnianiem (Reinforcement Learning) Kontroler Krytyk System kontrolowany Typowe sprzężenie zwrotne Wzmocnienie Nagroda: zwiększenie prawdopodobieństwa powtórzenia Kara: zmniejszenie prawdopodobieństwa powtórzenia
Ogólny model uczącego się agenta (Russell & Norvig) Krytyk Element uczący Generator zadań Element wydajności Standardy zachowań sprzężenie zwrotne Cele uczenia Efektory ŚRODOWISKOŚRODOWISKO Czujniki zmiana wiedza Agent
Uczenie ze wzmacnianiem (Reinforcement Learning) Najpopularniejsze podejście w uczeniu mobilnych robotów Inspirowane warunkowaniem w psychologii Zastosowanie nagrody natychmiast po pojawieniu się odpowiedzi powodującej wzrost prawdopodobieństwa powtórzenia...
...dopóki nie wystąpi kara za odpowiedź zmniejszająca prawdopodobieństwo. Tłumacząc na język robotyki: –Pewne połączenia bodźców i reakcji są kojarzone z otrzymana nagrodą by powiększyć prawdopodobieństwo ich późniejszego użycia. Uczenie ze wzmacnianiem (Reinforcement Learning)
Wyzwania w uczeniu ze wzmacnianiem Nauka z późniejszych nagród: –Karanie dziecka po dwóch dniach. Problem przypisania odpowiedzialności: –W grupie dzieci, które wykonały rzecz poprawnie, które ma być nagrodzone?
Uczenie ze wzmacnianiem - bez nadzoru Uczenie bez nadzoru: –Brak pożądanego celu Cel jest osiągnięty ale bez wskazówek –Przykład: Uczenia ze wzmacnianiem Wbudowane pojęcia pożądanych i niepożądanych sytuacji, Powiązanie z nagrodą i karą Uczenie nadzorowane: –Wyraźne pojęcie poprawności
Typy krytyka w uczeniu ze wzmacnianiem Krytyk może być: –zewnętrzny: jeżeli użytkownik dostarcza wzmocnienia –wewnętrzny: jeżeli sam system dostarcza wzmocnienia W obu przypadkach podejście jest bez nadzoru, gdyż odpowiedź nigdy nie jest jawnie przedstawiana przez krytyka.
Sieci neuronowe są uczeniem ze wzmacnianiem Celem wszystkich sieci neuronowych: – jest minimalizacja błędu między danymi wyjściowymi sieci a pożądanymi danymi –Jest osiągnięty dzięki dostosowaniu wag połączeń sieci Sieci neuronowe dostarczają nadzorowanego uczenia ze wzmacnianiem z natychmiastową informacją zwrotną o błędzie Projektowanie robota unikającego przeszkod –Tokyo Lecture 5 time 40:30-54:15 Siec neuronowa robota unikającego przeszkod –Tokyo Lecture 5 time 57:00-1:10:00