Programowanie poprzez demonstrację
W informatyce programowanie przez demonstrację ( PbD ) to technika programowania przez użytkownika końcowego, służąca do uczenia komputera lub robota nowych zachowań poprzez zademonstrowanie zadania do bezpośredniego przeniesienia zamiast programowania go za pomocą poleceń maszynowych.
Terminy programowanie przez przykład (PbE) i programowanie przez demonstrację (PbD) pojawiły się w badaniach nad rozwojem oprogramowania już w połowie lat 80. XX wieku, aby zdefiniować sposób definiowania sekwencji operacji bez konieczności nauki języka programowania. Typowe rozróżnienie w literaturze między tymi terminami jest takie, że w PbE użytkownik podaje prototypowy produkt wykonania komputerowego, taki jak wiersz w żądanych wynikach zapytania ; podczas gdy w PbD użytkownik wykonuje sekwencję czynności, które komputer musi powtórzyć, uogólniając ją do użycia w różnych zestawach danych.
Te dwa terminy były początkowo niezróżnicowane, ale później PbE było najczęściej przyjmowane przez badaczy zajmujących się tworzeniem oprogramowania, podczas gdy PbD było zwykle przyjmowane przez badaczy robotyki. Dziś PbE nawiązuje do zupełnie innej koncepcji, wspartej nowymi językami programowania przypominającymi symulatory. Ramy te można porównać z syntezą programu bayesowskiego .
Programowanie robotów poprzez demonstrację
Paradygmat PbD jest atrakcyjny przede wszystkim dla branży robotyki ze względu na koszty związane z rozwojem i utrzymaniem programów robotycznych. Na tym polu operator często ma ukrytą wiedzę na temat zadania, które ma wykonać (wie, jak to zrobić), ale zazwyczaj nie ma umiejętności programowania (ani czasu) niezbędnych do rekonfiguracji robota. Pokazanie, jak osiągnąć zadanie na przykładach, pozwala zatem nauczyć się umiejętności bez bezpośredniego programowania każdego szczegółu.
Pierwsze strategie PbD zaproponowane w robotyce opierały się na metodach uczenia , prowadzenia lub odtwarzania , które polegały zasadniczo na przemieszczaniu robota (poprzez dedykowany interfejs lub ręcznie) poprzez zestaw odpowiednich konfiguracji, które robot powinien przyjąć sekwencyjnie (pozycja, orientacja, stan chwytaka). Następnie metodę tę stopniowo udoskonalano, koncentrując się głównie na kontroli zdalnej i stosując różne interfejsy, takie jak obraz.
Jednak w tych metodach PbD nadal stosowano bezpośrednie powtarzanie, co było przydatne w przemyśle tylko przy projektowaniu linii montażowej wykorzystującej dokładnie te same komponenty produktu. Aby zastosować tę koncepcję do produktów o różnych wariantach lub zastosować programy do nowych robotów, kwestia uogólnienia stała się kwestią kluczową. Aby rozwiązać ten problem, pierwsze próby uogólnienia umiejętności opierały się głównie na pomocy użytkownika poprzez zapytania o jego intencje. Następnie zaproponowano różne poziomy abstrakcji, aby rozwiązać problem uogólnień, zasadniczo podzielonych na metody uczenia się na poziomie symbolicznym lub na poziomie trajektorii.
Rozwój robotów humanoidalnych w naturalny sposób spowodował rosnące zainteresowanie programowaniem robotów poprzez demonstrację. Ponieważ robot humanoidalny ze swej natury ma przystosowywać się do nowych środowisk, ważny jest nie tylko ludzki wygląd, ale algorytmy stosowane do jego sterowania wymagają elastyczności i wszechstronności. Ze względu na stale zmieniające się środowisko i ogromną różnorodność zadań, jakie ma wykonywać robot, wymaga on zdolności do ciągłego uczenia się nowych umiejętności i dostosowywania istniejących umiejętności do nowych kontekstów.
Badania nad PbD również stopniowo odchodziły od pierwotnej, czysto inżynieryjnej perspektywy, na rzecz przyjęcia podejścia interdyscyplinarnego, czerpiąc spostrzeżenia z neuronauki i nauk społecznych, aby naśladować proces naśladowania u ludzi i zwierząt. Wraz z coraz większym uwzględnieniem tego zakresu prac w robotyce, koncepcja programowania robotów przez demonstrację (znana również jako RPD lub RbD) była również stopniowo zastępowana bardziej biologiczną etykietą uczenia się przez naśladownictwo .
Stabilne pola wektorowe z nadrukiem neuronowym (NiVF)
Stabilne pola wektorowe z imprintingiem neuronowym (NiVF) zostały wprowadzone jako nowatorski schemat uczenia się podczas ESANN 2013 i pokazują, jak wdrukowywać pola wektorowe do sieci neuronowych, takich jak maszyny do ekstremalnego uczenia się (ELM), w gwarantowany stabilny sposób. Ponadto praca zdobyła nagrodę dla najlepszej pracy studenckiej. Sieci reprezentują ruchy, w których stabilność asymptotyczna jest uwzględniana poprzez ograniczenia wywodzące się z teorii stabilności Lapunowa. Wykazano, że podejście to z powodzeniem umożliwia wykonywanie stabilnych i płynnych ruchów od punktu do punktu, wyuczonych na podstawie ruchów ludzkiego pisma.
Możliwe jest również poznanie kandydata Lapunowa, który służy do stabilizacji układu dynamicznego. Z tego powodu potrzebny jest schemat uczenia się neuronowego, który szacuje stabilne systemy dynamiczne na podstawie demonstracji w oparciu o proces dwuetapowy: najpierw szacuje się kandydata na funkcję Lapunowa na podstawie danych. Po drugie, stabilność jest uwzględniana za pomocą nowatorskiej metody uwzględniającej lokalne ograniczenia w uczeniu się neuronowym. Pozwala to na naukę stabilnej dynamiki przy jednoczesnym zachowaniu dokładności układu dynamicznego i solidnym generowaniu złożonych ruchów.
Transformacje dyfeomorficzne
Transformacje dyfeomorficzne okazują się szczególnie przydatne do znacznego zwiększenia możliwości uczenia się układów dynamicznych dla ruchów robotycznych. Stabilny estymator układów dynamicznych (SEDS) to interesujące podejście do uczenia się systemów niezmienniczych w czasie do sterowania ruchami robotów. Jednak ogranicza się to do układów dynamicznych zawierających wyłącznie kwadratowe funkcje Lapunowa. Nowe podejście Tau-SEDS pokonuje te ograniczenia w matematyczny elegancki sposób.
Umiejętności parametryczne
Po zademonstrowaniu zadania przez człowieka trajektoria jest zapisywana w bazie danych. Łatwiejszy dostęp do surowych danych realizowany jest za pomocą sparametryzowanych umiejętności. Umiejętność żąda bazy danych i generuje trajektorię. Na przykład, najpierw do bazy danych ruchu wysyłana jest umiejętność „opengripper(slow)”, a w odpowiedzi udostępniany jest zapisany ruch ramienia robota. Parametry umiejętności pozwalają modyfikować politykę w celu spełnienia ograniczeń zewnętrznych .
Umiejętność to interfejs pomiędzy nazwami zadań podanymi w języku naturalnym a leżącym u ich podstaw ruchem czasoprzestrzennym w przestrzeni 3D, która składa się z punktów. Pojedyncze umiejętności można połączyć w zadanie polegające na zdefiniowaniu dłuższych sekwencji ruchu z perspektywy wysokiego poziomu. W zastosowaniach praktycznych różne działania są przechowywane w bibliotece umiejętności. Aby jeszcze bardziej zwiększyć poziom abstrakcji, umiejętności można przekształcić w prymitywy ruchu dynamicznego (DMP). Generują w locie trajektorię robota, która nie była znana w czasie demonstracji. Pomaga to zwiększyć elastyczność solwera.
Zastosowanie inne niż roboty
Dla użytkowników końcowych, aby zautomatyzować przepływ pracy w złożonym narzędziu (np. Photoshopie ), najprostszym przypadkiem PbD jest rejestrator makr .
Zobacz też
- Programowanie na przykładzie
- Programowanie celowe
- Programowanie indukcyjne
- Rejestrator makro
- Nadzorowana nauka
- Cypher, Allen (1993), Oglądaj, co robię: programowanie przez demonstrację , Daniel C. Halbert, MIT Press, ISBN 978-0-262-03213-1
- Lieberman, Henry (2001), Twoje życzenie jest moim rozkazem: programowanie na przykładzie , Ben Shneiderman, Morgan Kaufmann, ISBN 978-1-55860-688-3
Linki zewnętrzne
Recenzje artykułów
- Billard, Aude (2008), S. Calinon, R. Dillmann i S. Schaal, „Programowanie robotów przez demonstrację” (PDF) , Handbook of Robotics , MIT Press: 1371–1394, doi : 10.1007/978-3-540- 30301-5_60 , ISBN 978-3-540-23957-4 .
- Schaal, S (2004), Ijspert, A; Billard, A; Frith, CD, Wolpert, D. (red.), „Podejścia obliczeniowe do uczenia się motorycznego przez naśladownictwo” (PDF) , The Neuroscience of Social Interaction , Oxford University Press, 358 (1431): 199–218, doi : 10.1098/rstb .2002.1258 , PMC 1693137 , PMID 12689379 .
- Roboty, które naśladują ludzi , Cynthia Breazeal i Brian Scassellati, Trends in Cognitive Sciences, 6:1, 2002, s. 481–87
- Billard, A, „Imitation”, w: Arbib, MA (red.), Handbook of Brain Theory and Neural Networks , MIT Press, s. 566–69 .
- Schaal, S (1999), „Czy nauka przez naśladownictwo jest drogą do robotów humanoidalnych?”, Trendy w naukach kognitywnych (PDF) .
Zeszyty specjalne w czasopismach
- Transakcje IEEE dotyczące systemów, człowieka i cybernetyki , kwiecień 2007, 37:2 .
- RSJ Advanced Robotics , tom. 21, numer 13 .
- Sieci neuronowe , Elsevier .
- Robotyka i systemy autonomiczne (PDF) , Elsevier, 2006 .
Kluczowe laboratoria i ludzie
- Techniki uczenia maszynowego w programowaniu robotów poprzez demonstrację , Lozanna, VD, CH: EPFL LASA, zarchiwizowane od oryginału w dniu 2012-05-01 .
- Uczenie się przez wzmacnianie i uczenie się prymitywów motorycznych , SC, USA: USC CLMC Lab .
- Calinon, Sylvain, Interaktywna demonstracja kinestetyczna nauczyciel-uczeń (trener/coach-stażysta/klient) , CH .
- Bentivegna, Darrin, Nauczanie humanoidalnego robota w cymbergaju , JP: ATR, zarchiwizowane od oryginału w dniu 27.01.2008 .
- Działania społeczności dotyczące ściśle powiązanych tematów
- Komitet Techniczny ds. Interakcji i Koordynacji Człowiek-Robot , IEEE Robotyka i Automatyka, zarchiwizowane od oryginału w dniu 26.07.2011 r .
- Komitet Techniczny ds. Uczenia się Robotów , IEEE Robotyki i Automatyzacji, zarchiwizowane od oryginału w dniu 26.07.2011 r .
Filmy
Robot, który uczy się gotować omlet:
Robot, który uczy się odkręcać butelkę coli:
- „Odkręć butelkę coli”, YouTube , DE .