Wstęp

https://aie24.pl/

Widzenie jest kanałem percepcyjnym, który przyjmuje bodziec i przekazuje jakąś reprezentację świata. Większość agentów, którzy używają wzroku, korzysta z pasywnego wykrywania — nie muszą wysyłać światła, aby widzieć. W przeciwieństwie do tego, aktywne wykrywanie polega na wysyłaniu sygnału, takiego jak radar lub ultradźwięk, i wykrywaniu odbicia. Przykłady środków wykorzystujących aktywne wykrywanie obejmują nietoperze (ultradźwięki), delfiny (dźwięk), ryby głębinowe (światło) i niektóre roboty (światło, dźwięk, radar). Aby zrozumieć kanał percepcyjny, należy przestudiować zarówno fizyczne, jak i statystyczne zjawiska, które występują podczas wyczuwania oraz to, co proces percepcyjny powinien wytworzyć. W tym rozdziale koncentrujemy się na wizji, ale roboty w świecie rzeczywistym wykorzystują różne czujniki do odbierania dźwięku, dotyku, odległości, temperatury, pozycji globalnej i przyspieszenia. Cecha to liczba uzyskana przez zastosowanie prostych obliczeń do obrazu. Bardzo przydatne informacje można uzyskać bezpośrednio z funkcji. Agent wumpusa miał pięć czujników, z których każdy pobierał jeden bit informacji. Te bity, które są cechami, mogą być interpretowane bezpośrednio przez program. Jako inny przykład, wiele latających zwierząt oblicza prostą cechę, która daje dobre oszacowanie czasu na kontakt z pobliskim obiektem; ta cecha może być przekazywana bezpośrednio do mięśni kontrolujących sterowanie lub skrzydła, co pozwala na bardzo szybkie zmiany kierunku. To podejście do wyodrębniania cech kładzie nacisk na proste, bezpośrednie obliczenia stosowane do odpowiedzi czujników. Podejście do wizji oparte na modelach wykorzystuje dwa rodzaje modeli. Model obiektowy może być rodzajem precyzyjnego modelu geometrycznego wytwarzanego przez systemy komputerowego wspomagania projektowania. Może to być również niejasne stwierdzenie dotyczące ogólnych właściwości obiektów, na przykład twierdzenie, że wszystkie twarze oglądane w niskiej rozdzielczości wyglądają mniej więcej tak samo. Model renderowania opisuje procesy fizyczne, geometryczne i statystyczne, które wytwarzają bodziec ze świata. Chociaż modele renderowania są teraz wyrafinowane i dokładne, bodziec jest zwykle niejednoznaczny. W słabym świetle biały obiekt może wyglądać jak czarny obiekt w intensywnym świetle. Mały, pobliski obiekt może wyglądać tak samo jak duży, odległy obiekt. Bez dodatkowych dowodów nie możemy stwierdzić, czy to, co widzimy, to zabawkowa Godzilla rozrywająca zabawkowy budynek, czy prawdziwy potwór który niszczy prawdziwy budynek. Istnieją dwa główne sposoby radzenia sobie z tymi niejasnościami. Po pierwsze, niektóre interpretacje są bardziej prawdopodobne niż inne. Na przykład możemy być pewni, że zdjęcie nie pokazuje prawdziwej Godzilli niszczącej prawdziwy budynek, ponieważ nie ma prawdziwych Godzilli. Po drugie, niektóre niejasności są nieistotne. Na przykład odległą scenerią mogą być drzewa lub płaska pomalowana powierzchnia. W przypadku większości aplikacji różnica jest nieistotna, ponieważ obiekty są daleko, więc nie wpadniemy na nie ani nie wejdziemy z nimi w interakcję. Dwa podstawowe problemy wizji komputerowej to rekonstrukcja, w której agent buduje model świata z obrazu lub zestawu obrazów, oraz rozpoznawanie, w którym agent rozróżnia napotykane obiekty na podstawie informacji wizualnych i innych. Oba problemy należy interpretować bardzo szeroko. Budowanie modelu geometrycznego z obrazów to oczywiście rekonstrukcja (a rozwiązania są bardzo cenne), ale czasami musimy zbudować mapę różnych tekstur na powierzchni i to też jest rekonstrukcja. Dołączanie nazw do obiektów pojawiających się na obrazie jest wyraźnym rozpoznaniem. Czasami musimy odpowiedzieć na pytania typu: Czy to śpi? Czy je mięso? Który koniec ma zęby? Odpowiadanie na te pytania to także uznanie. Ostatnie trzydzieści lat badań przyniosło potężne narzędzia i metody rozwiązywania tych podstawowych problemów. Zrozumienie tych metod wymaga zrozumienia procesów, w których powstają obrazy.

Rozpoznawanie obrazów

https://aie24.pl/

Większość zwierząt ma oczy, często przy znacznych kosztach: oczy zajmują dużo miejsca; zużywać energię; i są dość kruche. Koszt ten jest uzasadniony ogromną wartością, jaką zapewniają oczy. Agent, który widzi, może przewidzieć przyszłość – może powiedzieć, na co może wpaść; potrafi powiedzieć, czy zaatakować, czy uciekać, czy też drażnić się; może odgadnąć, czy teren przed nami jest bagnisty, czy twardy; i może powiedzieć, jak daleko jest owoc. Tu opisujemy, jak odzyskać informacje z zalewu danych pochodzących z oczu lub kamer.

Streszczenie

https://aie24.pl/

Robotyka dotyczy fizycznie ucieleśnionych agentów, które mogą zmieniać stan fizycznego świata. Dowiedzieliśmy się, co następuje:

  • Najczęstsze typy robotów to manipulatory (ramiona robota) i roboty mobilne. Mają czujniki do postrzegania świata i aktuatory, które wytwarzają ruch, który następnie wpływa na świat za pomocą efektorów.
  • Ogólny problem robotyki obejmuje stochastyczność (z którą mogą sobie poradzić MDP), częściową obserwowalność (z którą mogą sobie poradzić POMDP) ​​oraz działanie z innymi agentami i wokół nich (z czym można sobie poradzić za pomocą teorii gier). Problem jest tym trudniejszy, że większość robotów pracuje w ciągłych i wielowymiarowych przestrzeniach stanów i akcji. Działają również w prawdziwym świecie, który nie działa szybciej niż w czasie rzeczywistym i w którym awarie prowadzą do uszkodzenia rzeczywistych rzeczy, bez możliwości „cofnięcia”.
  • W idealnym przypadku robot rozwiązałby cały problem za jednym razem: obserwacje w postaci surowych sygnałów z czujników wchodzą i wychodzą działania w postaci momentów obrotowych lub prądów do silników. W praktyce jest to jednak zbyt zniechęcające, a robotycy zazwyczaj oddzielają różne aspekty problemu i traktują je niezależnie.
  • Zazwyczaj oddzielamy percepcję (ocenę) od działania (generowanie ruchu). Percepcja w robotyce obejmuje widzenie komputerowe w celu rozpoznawania otoczenia za pomocą kamer, ale także lokalizację i mapowanie.
  • Percepcja robotów zajmuje się szacowaniem wielkości istotnych dla decyzji na podstawie danych z czujników. Aby to zrobić, potrzebujemy wewnętrznej reprezentacji i metody aktualizowania tej wewnętrznej reprezentacji w czasie.
  • Probabilistyczne algorytmy filtrowania, takie jak filtry cząstek i filtry Kalmana, są przydatne do percepcji robota. Techniki te utrzymują stan przekonania, rozkład a posteriori na zmiennych stanu.
  • Do generowania ruchu używamy przestrzeni konfiguracyjnych, w których punkt określa wszystko, co musimy wiedzieć, aby zlokalizować każdy punkt ciała robota. Na przykład w przypadku ramienia robota z dwoma przegubami konfiguracja składa się z dwóch kątów przegubu.
  • Zazwyczaj rozdzielamy problem generowania ruchu na planowanie ruchu, związane z tworzeniem planu, i sterowanie śledzeniem trajektorii, związane z tworzeniem zasad dla wejść sterujących (polecenia siłownika), które skutkują wykonaniem planu.
  • Planowanie ruchu można rozwiązać za pomocą przeszukiwania wykresów z wykorzystaniem rozkładu komórek; wykorzystanie algorytmów losowego planowania ruchu, które próbują kamienie milowe w przestrzeni konfiguracji ciągłej; lub za pomocą optymalizacji trajektorii, która może iteracyjnie wypchnąć linię prostą z kolizji, wykorzystując pole ze znakiem odległości.
  • Ścieżka znaleziona przez algorytm wyszukiwania może być wykonana przy użyciu ścieżki jako trajektorii odniesienia dla regulatora PID, który stale koryguje błędy między miejscem, w którym znajduje się robot, a miejscem, w którym powinien się znajdować, lub za pomocą obliczonego sterowania momentem, który dodaje termin sprzężenia do przodu, który wykorzystuje dynamikę odwrotną do obliczenia z grubsza, jaki moment należy wysłać, aby posunąć się naprzód wzdłuż trajektorii.
  • Optymalne sterowanie łączy planowanie ruchu i śledzenie trajektorii poprzez obliczanie optymalnej trajektorii bezpośrednio na wejściach sterujących. Jest to szczególnie łatwe, gdy mamy koszty kwadratowe i dynamikę liniową, co skutkuje liniowym regulatorem kwadratowym (LQR). Popularne metody wykorzystują to poprzez linearyzację dynamiki i obliczanie aproksymacji kosztu drugiego rzędu (ILQR).
  • Planowanie w warunkach niepewności łączy percepcję i działanie poprzez ponowne planowanie online (takie jak kontrola predykcyjna modelu) oraz działania związane z gromadzeniem informacji, które wspomagają percepcję.
  • Uczenie ze wzmacnianiem jest stosowane w robotyce, przy użyciu technik dążących do zmniejszenia wymaganej liczby interakcji ze światem rzeczywistym. Takie techniki mają tendencję do wykorzystywania modeli, czy to szacowania modeli i wykorzystywania ich do planowania, czy też strategii szkoleniowych, które są niezawodne w odniesieniu do różnych możliwych parametrów modelu.
  • Interakcja z ludźmi wymaga umiejętności koordynowania działań robota z ich działaniami, co można sformułować jako grę. Zwykle rozkładamy rozwiązanie na przewidywanie, w którym wykorzystujemy bieżące działania danej osoby, aby oszacować, co zrobi w przyszłości, oraz działanie, w którym wykorzystujemy przewidywania do obliczenia optymalnego ruch robota.

• Pomaganie ludziom wymaga również umiejętności uczenia się lub wnioskowania, czego chcą. Roboty mogą podejść do tego, ucząc się pożądanej funkcji kosztów, którą powinny zoptymalizować na podstawie danych wejściowych człowieka, takich jak demonstracje, poprawki lub instrukcje w języku naturalnym. Alternatywnie roboty mogą naśladować ludzkie zachowanie i wykorzystywać uczenie się przez wzmacnianie, aby pomóc w sprostaniu wyzwaniu uogólniania do nowych stanów.

Domeny aplikacji

https://aie24.pl/

Technologia robotyczna już przenika nasz świat i ma potencjał, aby poprawić naszą niezależność, zdrowie i produktywność. Oto kilka przykładowych aplikacji.

Opieka domowa: Roboty zaczęły wchodzić do domu, aby opiekować się osobami starszymi i osobami z niepełnosprawnością ruchową, pomagając im w codziennych czynnościach i umożliwiając im bardziej niezależne życie. Należą do nich wózki inwalidzkie i ramiona montowane na wózku inwalidzkim, takie jak ramię Kinova. Mimo że na początku są obsługiwane bezpośrednio przez człowieka, roboty te zyskują coraz większą autonomię. Na horyzoncie znajdują się roboty obsługiwane przez interfejsy mózg-maszyna, które, jak wykazano, umożliwiają osobom z tetraplegią używanie ramienia robota do chwytania przedmiotów, a nawet karmienia się. Powiązane z nimi są protezy kończyn, które inteligentnie reagują na nasze działania, oraz egzoszkielety, które dają nam nadludzką siłę lub umożliwiają chodzenie ludziom, którzy nie mogą kontrolować swoich mięśni od pasa w dół. Roboty osobiste mają pomagać nam w codziennych zadaniach, takich jak sprzątanie i organizowanie, uwalniając nasz czas. Chociaż manipulacja wciąż musi przejść, zanim będzie mogła bezproblemowo działać w nieuporządkowanych, nieustrukturyzowanych środowiskach ludzkich, nawigacja poczyniła pewne postępy. W szczególności wiele domów już korzysta z mobilnego odkurzacza robota, takiego jak ten na Rysunku 26.33(b). Opieka zdrowotna: Roboty wspomagają i wspomagają chirurgów, umożliwiając bardziej precyzyjne, minimalnie inwazyjne i bezpieczniejsze procedury z lepszymi wynikami dla pacjentów. Robot chirurgiczny Da Vinci  jest obecnie szeroko stosowany w szpitalach w Stanach Zjednoczonych.

Usługi: Roboty mobilne pomagają w budynkach biurowych, hotelach i szpitalach. Savioke umieścił roboty w hotelach, które dostarczają produkty takie jak ręczniki czy pasta do zębów do Twojego pokoju. Roboty Helpmate i TUG przewożą żywność i lekarstwa w szpitalach , podczas gdy robot Moxi firmy Diligent Robotics pomaga pielęgniarkom w zapleczu logistycznym. Co-Bot wędruje po korytarzach Uniwersytetu Carnegie Mellon, gotowy zaprowadzić Cię do czyjegoś biura. Możemy również używać robotów teleobecności, takich jak Beam, aby zdalnie uczestniczyć w spotkaniach i konferencjach lub meldować się u naszych dziadków.

Autonomiczne samochody: Niektórzy z nas są czasami rozpraszani podczas jazdy przez telefony komórkowe, SMS-y lub inne czynniki. Smutny wynik: ponad milion osób ginie co roku w wypadkach drogowych. Co więcej, wielu z nas spędza dużo czasu na prowadzeniu samochodu i chciałoby odzyskać część tego czasu. Wszystko to doprowadziło do ogromnych wysiłków na rzecz wdrażania samochodów autonomicznych. Prototypy istnieją od lat 80. XX wieku, ale postęp był stymulowany przez DARPA Grand Challenge 2005, wyścig pojazdów autonomicznych na 200 trudnych kilometrach nieprzećwiczonego pustynnego terenu. Pojazd Stanleya ze Stanforda ukończył kurs w mniej niż siedem godzin, zdobywając nagrodę w wysokości 2 milionów dolarów i miejsce w Narodowym Muzeum Historii Amerykańskiej.  W 2009 roku Google rozpoczęło projekt autonomicznej jazdy (z udziałem wielu badaczy, którzy pracowali nad Stanley i BOSS), który teraz został wydzielony jako Waymo. W 2018 roku Waymo rozpoczął testy bez kierowcy (bez kierowcy) na przedmieściach Pheonix w Arizonie. W międzyczasie inne firmy zajmujące się jazdą autonomiczną i firmy współdzielące przejazdy pracują nad rozwojem własnej technologii, podczas gdy producenci samochodów sprzedają samochody z coraz większą inteligencją wspomagającą, takie jak asystent kierowcy Tesli, który jest przeznaczony do jazdy po autostradach. Inne firmy skupiają się na zastosowaniach innych niż autostrady, w tym na kampusach uniwersyteckich i społecznościach emerytów. Jeszcze inne firmy koncentrują się na zastosowaniach niepasażerskich, takich jak przewozy ciężarowe, dostawa artykułów spożywczych i parkowanie samochodu.

Rozrywka: Disney używa robotów (pod nazwą animatronika) w swoich parkach od 1963 roku. Początkowo roboty te były ograniczone do ręcznie zaprojektowanych, otwartych pętli, niezmiennego ruchu (i mowy), ale od 2009 roku wersja o nazwie autonomatronika może generować działania autonomiczne. Roboty przybierają również postać inteligentnych zabawek dla dzieci; na przykład Cozmo Anki gra z dziećmi i może walić w stół z frustracją, gdy przegrywa. Wreszcie, quadrotory, takie jak Skydio R1 , działają jako osobiści fotografowie i kamerzyści, podążając za nami, aby robić zdjęcia akcji podczas jazdy na nartach lub rowerze.

Eksploracja i niebezpieczne środowiska: Roboty dotarły tam, gdzie wcześniej nie dotarł żaden człowiek, w tym na powierzchni Marsa. Ramiona robotów pomagają astronautom rozmieszczać i wyszukiwać satelity oraz budować Międzynarodową Stację Kosmiczną. Roboty pomagają także w eksploracji pod wodą. Są one rutynowo używane do pozyskiwania map zatopionych statków.  W 1996 roku zespół naukowców wypuścił robota na nogach do krateru aktywnego wulkanu, aby zebrać dane do badań klimatycznych. Roboty stają się bardzo skutecznymi narzędziami do gromadzenia informacji w domenach, do których dostęp jest trudny (lub niebezpieczny). Roboty pomagały ludziom w usuwaniu odpadów nuklearnych, w szczególności w Three Mile Island, Czarnobylu i Fukushimie. Roboty były obecne po upadku World Trade Center, gdzie weszły w struktury uważane za zbyt niebezpieczne dla poszukiwań i ratowania ludzi załogi. Również tutaj roboty te są początkowo wdrażane za pomocą teleoperacji, a wraz z postępem technologicznym stają się coraz bardziej autonomiczne, z ludzkim operatorem odpowiedzialnym, ale nie musi określać każdego pojedynczego polecenia. Przemysł: Większość dzisiejszych robotów jest wdrażana w fabrykach, automatyzując zadania, które są trudne, niebezpieczne lub nudne dla ludzi. (Większość robotów fabrycznych znajduje się w fabrykach samochodowych.) Automatyzacja tych zadań jest pozytywna pod względem wydajnej produkcji tego, czego potrzebuje społeczeństwo. Jednocześnie oznacza to również odejście od pracy niektórych pracowników ludzkich. Ma to ważne implikacje polityczne i ekonomiczne – potrzebę przekwalifikowania i edukacji, potrzebę sprawiedliwego podziału zasobów itp.

Architektury subsumpcji

https://aie24.pl/

Architektura subsumpcji jest strukturą do składania sterowników reaktywnych z automatów skończonych. Węzły w tych maszynach mogą zawierać testy dla pewnych zmiennych czujnika, w którym to przypadku ślad wykonania automatu skończonego jest uzależniony od wyniku takiego testu. Łuki mogą być oznaczone komunikatami, które będą generowane podczas ich przechodzenia i które są wysyłane do silników robota lub do innych maszyn skończonych. Dodatkowo automaty skończone posiadają wewnętrzne liczniki czasu (zegary), które kontrolują czas potrzebny do przebycia łuku. Powstałe maszyny nazywane są rozszerzonymi maszynami skończonymi (AFSM), gdzie rozszerzenie odnosi się do użycia zegarów. Przykładem prostego AFSM jest czterostanowa maszyna, o której właśnie mówiliśmy, pokazana na rysunku (b).

Ten AFSM implementuje sterownik cykliczny, którego wykonanie w większości nie opiera się na sprzężeniu zwrotnym z otoczenia. Faza wymachu do przodu jednak opiera się na sprzężeniu zwrotnym z czujnika. Jeśli noga utknęła, co oznacza, że ​​nie udało mu się wykonać zamachu do przodu, robot cofa nogę, podnosi ją nieco wyżej i ponownie próbuje wykonać zamach do przodu. W ten sposób kontroler jest w stanie reagować na nieprzewidziane okoliczności wynikające z interakcji robota i jego otoczenia. Architektura subsumcji oferuje dodatkowe elementy podstawowe do synchronizacji AFSM i łączenia wartości wyjściowych wielu, potencjalnie sprzecznych AFSM. W ten sposób umożliwia programiście komponowanie coraz bardziej złożonych sterowników w sposób oddolny. W naszym przykładzie możemy zacząć od AFSM dla poszczególnych odnóg, a następnie AFSM dla  koordynowanie wielu nóg. Ponadto możemy zaimplementować zachowania wyższego poziomu, takie jak unikanie kolizji, które może obejmować cofanie się i skręcanie. Pomysł komponowania sterowników robotów z AFSM jest dość intrygujący. Wyobraź sobie, jak trudne byłoby wygenerowanie tego samego zachowania za pomocą dowolnego algorytmu planowania ścieżki w przestrzeni konfiguracji opisanego w poprzedniej sekcji. Najpierw potrzebowalibyśmy dokładnego modelu terenu. Przestrzeń konfiguracyjna robota z sześcioma nogami, z których każda jest napędzana przez dwa niezależne silniki, ma łącznie 18 wymiarów (12 wymiarów dla konfiguracji nóg oraz sześć dla lokalizacji i orientacji robota względem otoczenia). Nawet gdyby nasze komputery były wystarczająco szybkie, aby znaleźć ścieżki w tak wielowymiarowych przestrzeniach, musielibyśmy się martwić o nieprzyjemne efekty, takie jak zjeżdżanie robota po zboczu. Z powodu takich efektów stochastycznych pojedyncza ścieżka przez przestrzeń konfiguracyjną byłaby prawie na pewno zbyt krucha, a nawet regulator PID może nie poradzić sobie z takimi nieprzewidzianymi okolicznościami. Innymi słowy, celowe generowanie zachowań ruchowych jest w niektórych przypadkach po prostu zbyt złożonym problemem dla współczesnych algorytmów planowania ruchu robotów. Niestety architektura subsumpcji ma swoje własne problemy. Po pierwsze, AFSM są napędzane przez surowe dane wejściowe z czujnika, układ, który działa, jeśli dane z czujnika są wiarygodne i zawierają wszystkie informacje niezbędne do podejmowania decyzji, ale zawodzi, jeśli dane z czujników muszą być integrowane w nietrywialny sposób w czasie. Kontrolery w stylu subsumpcji były zatem stosowane głównie do prostych zadań, takich jak podążanie za ścianą lub poruszanie się w kierunku widocznych źródeł światła. Po drugie, brak namysłu utrudnia zmianę celów robota. Robot z architekturą subsumpcji zwykle wykonuje tylko jedno zadanie i nie ma pojęcia, jak modyfikować swoje elementy sterujące, aby dostosować je do różnych celów . Po trzecie, w wielu rzeczywistych problemach polityka, której chcemy, jest często zbyt złożona, aby ją jednoznacznie zakodować. Pomyśl o przykładzie , gdzie autonomiczny samochód musi negocjować zmianę pasa z kierowcą. Możemy zacząć od prostej polityki, która idzie na pas docelowy. Ale kiedy testujemy samochód, dowiadujemy się, że nie każdy kierowca na docelowym pasie zwolni, aby wpuścić samochód. Możemy wtedy dodać trochę więcej złożoności: sprawić, by samochód ruszył w kierunku docelowego pasa, poczekać na formularz odpowiedzi kierowcy na tym pasie, a następnie kontynuuj lub cofaj się z powrotem. Ale potem testujemy samochód i zdajemy sobie sprawę, że popychanie musi nastąpić z inną prędkością w zależności od prędkości pojazdu na docelowym pasie, od tego, czy na docelowym pasie znajduje się inny pojazd, od tego, czy jest jakiś pojazd. za samochodem na początku i tak dalej. Liczba warunków, które musimy wziąć pod uwagę, aby określić właściwy kierunek działania, może być bardzo duża, nawet dla tak zwodniczo prostego manewru. To z kolei stawia wyzwania skalowalności dla architektur opartych na subsumpcji. Podsumowując, robotyka jest złożonym problemem z wieloma podejściami: deliberatywnym, reaktywnym lub ich mieszanką; oparte na fizyce, modelach kognitywnych, danych lub ich mieszaninie. Właściwe podejście jest nadal przedmiotem debaty, badań naukowych i umiejętności inżynieryjnych.

Alternatywne szkielety robotów

https://aie24.pl/

Do tej pory przyjęliśmy pogląd na robotykę w oparciu o pojęcie definiowania lub uczenia się funkcji nagrody, a robot zoptymalizował tę funkcję (czy to poprzez planowanie, czy uczenie się), czasami w koordynacji lub współpracy z ludźmi. Jest to przemyślany pogląd na robotykę, który należy skontrastować z poglądem reaktywnym.

Kontrolery reaktywne

W niektórych przypadkach łatwiej jest ustalić dobrą politykę dla robota niż modelować świat i planować. Wtedy zamiast racjonalnego agenta mamy agenta odruchowego. Na przykład wyobraź sobie robota z nogami, który próbuje podnieść nogę nad przeszkodą. Moglibyśmy dać temu robotowi regułę, która mówi, że podnieś nogę na niewielką wysokość h i przesuń ją do przodu, a jeśli noga napotka przeszkodę, cofnij ją i zacznij ponownie na większej wysokości. Można powiedzieć, że h modeluje pewien aspekt świata, ale możemy też myśleć o h jako o zmiennej pomocniczej sterownika robota, pozbawionej bezpośredniego znaczenia fizycznego. Jednym z takich przykładów jest robot sześcionożny (sześcionóg),  zaprojektowany do poruszania się po trudnym terenie. Czujniki robota są niewystarczające do uzyskania dokładnych modeli terenu do planowania ścieżki. Co więcej, nawet gdybyśmy dodali bardzo precyzyjne kamery i dalmierze, 12 stopni swobody (dwa na każdą nogę) sprawiłoby, że powstały problem planowania ścieżki byłby trudny obliczeniowo. Niemniej jednak możliwe jest bezpośrednie określenie sterownika bez wyraźnego modelu środowiska. (Widzieliśmy już to z kontrolerem PD, który był w stanie utrzymać złożone ramię robota na cel bez wyraźnego modelu dynamiki robota.) W przypadku robota sześcionógowego najpierw wybieramy chód, czyli wzór ruchu kończyn. Jeden statycznie stabilny chód polega na przesunięciu prawej przedniej, prawej tylnej i lewej środkowej nogi do przodu (utrzymując pozostałe trzy nieruchome), a następnie przesuń pozostałe trzy. Ten chód sprawdza się dobrze na płaskim terenie. Na nierównym terenie przeszkody mogą uniemożliwić ruch nogi do przodu. Ten problem można przezwyciężyć za pomocą niezwykle prostej zasady kontroli: gdy ruch nogi do przodu jest zablokowany, po prostu cofnij ją, unieś wyżej i spróbuj ponownie.

Zasady uczenia się bezpośrednio przez naśladownictwo

https://aie24.pl/

Alternatywą jest ominięcie funkcji kosztów i bezpośrednie poznanie pożądanej polityki dotyczącej robotów. W naszym przykładzie z samochodem demonstracje człowieka tworzą wygodny zestaw danych stanów oznaczonych jako działanie, które robot powinien wykonać w każdym stanie: D = f{(xi ,ui)}. Robot może uruchomić nadzorowane uczenie się, aby dopasować się do polityki: π : x |->  u i realizuj tę politykę. Nazywa się to naśladownictwem lub klonowaniem behawioralnym. Wyzwaniem przy takim podejściu jest uogólnienie na nowe państwa. Robot nie wie, dlaczego działania w jego bazie zostały oznaczone jako optymalne. Nie ma reguły przyczynowej; wszystko, co może zrobić, to uruchomić nadzorowany algorytm uczenia się, aby spróbować nauczyć się polityki, która uogólni się na nieznane stany. Nie ma jednak gwarancji, że uogólnienie będzie poprawne. Projekt autonomicznego samochodu ALVINN wykorzystał to podejście i odkrył, że nawet podczas startu ze stanu w D, π popełni drobne błędy, które zepchną samochód z zademonstrowanej trajektorii. Tam π wystąpi większy błąd, który jeszcze bardziej zepchnie samochód z pożądanego kursu. Możemy rozwiązać ten problem w czasie szkolenia, jeśli przełożymy zbieranie etykiet i uczenie się: start z demonstracją, naucz się polityki, a następnie wprowadź tę politykę i zapytaj ludzi, jakie działania podjąć w każdym stanie po drodze, a następnie powtórz. Następnie robot uczy się, jak korygować swoje błędy, gdy odbiega od pożądanych działań człowieka. Alternatywnie możemy rozwiązać ten problem, wykorzystując uczenie się przez wzmacnianie. Robot może dopasować model dynamiki oparty na demonstracjach, a następnie wykorzystać optymalne sterowanie do wygenerowania polityki, która optymalizuje trzymanie się blisko demonstracji. Wersja tego została wykorzystana do wykonywania bardzo wymagających manewrów na poziomie eksperta w małym helikopterze sterowanym radiowo (patrz Rysunek 23.9(b)). System DAGGER (Agregacja danych) zaczyna się od demonstracji przez człowieka. Na tej podstawie uczy się polityki π1 i wykorzystuje ją do wygenerowania zbioru danych D. Następnie z D generuje nową politykę π2, która najlepiej imituje oryginalne dane ludzkie. To się powtarza i przy n-tej iteracji używa πn do wygenerowania większej ilości danych, które mają być dodane do D, które jest następnie używane do utworzenia πn+1. Innymi słowy, w każdej iteracji system zbiera nowe dane w ramach bieżącej polityki i trenuje następną politykę, korzystając ze wszystkich zebranych do tej pory danych. Powiązane najnowsze techniki wykorzystują trening kontradyktoryjny: naprzemiennie szkolą klasyfikatora w celu rozróżnienia między wyuczoną polityką robota a demonstracjami człowieka i szkolą nową politykę dotyczącą robotów poprzez uczenie się wzmacniające, aby oszukać klasyfikatora. Te postępy umożliwiają robotowi radzenie sobie ze stanami bliskimi demonstracji, ale uogólnienie na stany odległe lub na nową dynamikę jest w toku. Nauczanie interfejsów a problem korespondencji. Do tej pory wyobrażaliśmy sobie przypadek autonomicznego samochodu lub autonomicznego helikoptera, w których demonstracje ludzi wykorzystują te same czynności, które robot może wykonać sam: przyspieszanie, hamowanie i kierowanie. Ale co się stanie, jeśli zrobimy to do zadań takich jak sprzątanie stołu kuchennego? Mamy tu dwie możliwości: albo osoba demonstruje przy użyciu własnego ciała, gdy robot patrzy, albo osoba fizycznie kieruje efektorami robota. Pierwsze podejście jest atrakcyjne, ponieważ przychodzi naturalnie użytkownikom końcowym. Niestety, boryka się z problemem korespondencji: jak odwzorować ludzkie działania na działania robota. Ludzie mają inną kinematykę i dynamikę niż roboty. Nie tylko utrudnia to przełożenie lub ponowne ukierunkowanie ruchu człowieka na ruch robota (np. przekierowanie pięciopalcowego uchwytu człowieka na dwupalcowy uchwyt robota), ale często strategia wysokiego poziomu, której może użyć dana osoba, nie jest odpowiednia robot. Drugie podejście, w którym człowiek-nauczyciel ustawia efektory robota we właściwych pozycjach, nazywa się nauczaniem kinestetycznym. Ludziom nie jest łatwo uczyć w ten sposób, zwłaszcza robotów z wieloma stawami. Nauczyciel musi koordynować wszystkie stopnie swobody, prowadząc ramię przez zadanie. Naukowcy zbadali zatem alternatywy, jak demonstrowanie klatek kluczowych w przeciwieństwie do ciągłych trajektorii, a także użycie programowania wizualnego, aby umożliwić użytkownikom końcowym programowanie prymitywów dla zadania, zamiast demonstrowania programowania wizualnego od podstaw (rysunek 26.31). Czasami oba podejścia są połączone.

Nauka preferencji: funkcje kosztów uczenia się

https://aie24.pl/

Wyobraź sobie, że użytkownik końcowy pokazuje robotowi, jak wykonać zadanie. Na przykład prowadzą samochód w sposób, w jaki chcieliby, aby był prowadzony przez robota. Czy możesz wymyślić sposób, w jaki robot wykorzysta te działania — nazywamy je „demonstracjami” — aby dowiedzieć się, jaką funkcję kosztów powinien zoptymalizować? Właściwie już widzieliśmy odpowiedź na to. Tam konfiguracja była nieco inna: inna osoba podejmowała działania w tej samej przestrzeni co robot, a robot musiał przewidzieć, co ta osoba zrobi. Ale jedną z technik, którą przeszliśmy do tworzenia tych prognoz, było założenie, że ludzie działają w celu głośnej optymalizacji pewnej funkcji kosztu JH, a my możemy wykorzystać ich bieżące działania jako dowód na to, jaka to funkcja kosztu. Tutaj możemy zrobić to samo, tyle że nie w celu przewidywania ludzkich zachowań w przyszłości, ale raczej uzyskania funkcji kosztu, którą sam robot powinien zoptymalizować. Jeśli dana osoba jeździ defensywnie, funkcja kosztów, która wyjaśni jej działania, będzie kładła duży nacisk na bezpieczeństwo, a mniej na wydajność. Robot może przyjąć tę funkcję kosztów jako własną i zoptymalizować ją podczas prowadzenia samego samochodu. Robotycy eksperymentowali z różnymi algorytmami, aby to wnioskowanie o kosztach było możliwe do wykonania obliczeniowego. Na rysunku 26.29 widzimy przykład uczenia robota, aby wolał pozostawać na drodze niż pokonywać trawiasty teren. Tradycyjnie w takich metodach funkcję kosztu przedstawiano jako połączenie ręcznie wykonanych funkcji, ale w ostatnich pracach badano również, jak ją przedstawić za pomocą głębokiej sieci neuronowej, bez inżynierii funkcji. Istnieją inne sposoby wprowadzania danych przez daną osobę. Osoba może używać języka zamiast demonstracji, aby poinstruować robota. Osoba może zachowywać się jak krytyk, obserwując robota wykonującego zadanie w jeden (lub na dwa sposoby), a następnie mówiąc, jak dobrze zadanie zostało wykonane (lub który sposób był lepszy) lub dając radę, jak poprawić.

Nauka robienia tego, czego chcą ludzie

https://aie24.pl/

nagrody robota. Ramy racjonalnych agentów i związane z nimi algorytmy redukują problem generowania dobrego zachowania do określenia dobrej funkcji nagrody. Ale w przypadku robotów, podobnie jak w przypadku wielu innych agentów AI, ustalenie właściwych kosztów jest nadal trudne. Weźmy na przykład samochody autonomiczne: chcemy, aby dojechały do ​​celu, były bezpieczne, jeździły wygodnie dla swoich pasażerów, przestrzegały przepisów ruchu drogowego itp. Projektant takiego systemu musi pogodzić się z tymi różnymi składnikami funkcji kosztowej. Zadanie projektanta jest trudne, ponieważ roboty budowane są z myślą o użytkownikach końcowych, a nie każdy użytkownik końcowy jest taki sam. Wszyscy mamy różne preferencje co do tego, jak agresywnie chcemy, aby nasz samochód jeździł itp. Poniżej zbadamy dwie alternatywy, aby spróbować dopasować zachowanie robota do tego, czego faktycznie chcemy, aby robot robił. Pierwszym z nich jest nauczenie się funkcji kosztu na podstawie danych wejściowych człowieka. Drugim jest ominięcie funkcji kosztów i naśladowanie ludzkich demonstracji zadania.

Ludzie jako agenci czarnej skrzynki

https://aie24.pl/

Nie musimy traktować ludzi jako celowych, celowych agentów, aby roboty koordynowały z nami. Alternatywnym modelem jest to, że człowiek jest tylko jakimś agentem, którego polityka H „miesza” z dynamiką środowiska. Robot nie zna H, ale potrafi modelować problem jako konieczność działania w MDP o nieznanej dynamice. Widzieliśmy to już wcześnie. Robot może dopasować model polityki H do danych ludzkich i wykorzystać go do obliczenia optymalnej polityki dla siebie. Ze względu na niedostatek danych było to dotychczas najczęściej wykorzystywane na poziomie zadań. Na przykład roboty nauczyły się poprzez interakcję, jakie działania ludzie podejmują (w odpowiedzi na własne działania) w celu umieszczania i wiercenia śrub w zadaniu montażu przemysłowego. Istnieje również alternatywa uczenia się przez wzmacnianie bez modelu: robot może zacząć od jakiejś początkowej funkcji polityki lub wartości i z czasem ją ulepszać metodą prób i błędów.