Wstęp do Robotyki c W. Szynkiewicz, 2009 1 Sztuczna inteligencja Inteligencja to zdolność uczenia się i rozwiązywania problemów Główne działy sztucznej inteligencji: 1. Wnioskowanie: Wykorzystanie logiki formalnej(np. rachunku zdań, rachunku predykatów pierwszego rzędu) do uzyskania efektywnych algorytmów dedukcji. Mechaniczne wyprowadzanie logicznych konsekwencji bazy wiedzy za pomocą reguł wnioskowania. Metody automatycznego wnioskowania znalazły zastosowanie w systemach eksperckich i systemach dowodzenia twierdzeń. 2. Przeszukiwanie: Problem jest opisywany przez przestrzeń możliwych stanów z wyróżnionymi stanami końcowymi odpowiadającymi dopuszczalnym rozwiązaniom oraz przez zestaw operatorów, umożliwiających poruszanie się w przestrzeni stanów. Znalezienie rozwiązania optymalnego sprowadza się do znalezienia najlepszej(według określonego kryterium) sekwencji operatorów przeprowadzających stan początkowy w jeden ze stanów końcowych. Wstęp do Robotyki c W. Szynkiewicz, 2009 2 3. Planowanie: Znalezienie planu rozwiązania problemu w sposób bardziej efektywny niż przeszukiwanie przestrzeni stanów, na podstawie dostarczonej systemowi planowania wiedzy o efektach działania poszczególnych operatorów. Wiedza ta opisuje zmiany w stanie problemu, jakie powoduje zastosowanie każdego operatora. 4.Uczeniesię: Autonomiczna zmiana w postrzeganiu(percepcji) i reakcji systemu zachodząca w wyniku jego doświadczeń, zazwyczaj na podstawie określonej motywacji, która prowadzi do poprawy jakości jego działania. Uczenie się jest jednym z podstawowych atrybutów naturalnej lub sztucznej inteligencji, z którym związana jest adaptacyjność i autonomiczność działania.
Wstęp do Robotyki c W. Szynkiewicz, 2009 3 Cechy inteligentnego robota: Sztuczna inteligencja w robotyce Percepcja otoczenia automatyczne rozpoznawanie i interpretacja sygnałów, w szczególności rozpoznawanie i przetwarzanie obrazów. Wyższe zdolności poznawcze: Reprezentacja wiedzy jak robot powinien opisywać siebie, swoje środowisko oraz zadanie (symboliczna reprezentacja świata: kategorie, jednostki, relacje, kojarzenie symboli z fizycznymi obiektami). Wnioskowanie generowanie odpowiedzi, gdy dostępna jest niepełna informacja(wnioskowanie o stanie, warunkach, wynikach działania). Przeszukiwanie przeszukiwanie bazy wiedzy, poszukiwanie obiektów w środowisku, itp. Planowanie i rozwiązywanie problemów planowanie misji, zadania, ścieżki. Komunikacja z otoczeniem rozpoznawanie i synteza mowy, rozumienie naturalnego języka, konwersacja z człowiekiem. Uczenie się i adaptacja nabywanie nowej wiedzy, doświadczeń i umiejętności. Powyższe cechy zapewniają autonomię robota czyli zdolność do samodzielnego działania w środowisku. Wstęp do Robotyki c W. Szynkiewicz, 2009 4 Definicja: Uczenie się Uczenie się jest to każda autonomiczna zmiana w percepcji i reakcji systemu(organizmu) zachodząca w wyniku jego doświadczeń, zwykle na podstawie jakiejś motywacji, która prowadzi do poprawy jakości jego działania. Powyższa definicja jest niezbyt precyzyjna: Warunki określające zmianę można stosunkowo łatwo zdefiniować i obiektywnie zweryfikować. Dla określenia poprawy jakości działania należy wprowadzić odpowiednie kryterium/kryteria oceny oraz jakich aspektów działania systemu ocena ma dotyczyć. Ocena autonomiczności zmian oraz to czy zachodzą one na podstawie doświadczeń jest, w ogólnym przypadku, problematyczna. Inna definicja uczenia się: Uczenie się to zdobywanie wiedzy lub poprawianie umiejętności na podstawie doświadczeń, obserwacji lub nauczania.
Œrodowisko Wstęp do Robotyki c W. Szynkiewicz, 2009 5 Składniki systemu uczącego się: element uczący się odpowiada za poprawę jakości(decyduje w jaki sposób powinien być modyfikowany element wykonawczy aby uzyskać w poprawę w przyszłości) element wykonawczy odpowiada za wybór akcji(wykorzystuje obserwacje i decyduje o działaniach) generator działań proponuje działania, które prowadzą do uzyskania nowych doświadczeń krytyk odpowiada za ocenę działania elementu uczącego(wykorzystuje ustalony standard wykonania określany jako definiowanie zbioru wybranych obserwacji, które będą traktowane jako realizacja bezpośredniego sprzężenia od jakości zachowania agenta) Standard wykonania Krytyk Czujniki Element ucz¹cy siê Element wykonawczy Generator dzia³añ Efektory Agent/robot Rys. 1: Ogólny schemat uczenia się agenta Wstęp do Robotyki c W. Szynkiewicz, 2009 6 Uczenie się a adaptacja Adaptacja jest to dostosowanie się do funkcjonowania w środowisku przez dostrojenie parametrów i/lub struktury na podstawie bieżącej informacji. + - Uk³ad Sterowania Obiekt Uchyb Algorytm Adaptacji Rys. 2: Ogólna architektura sterowania adaptacyjnego
Wstęp do Robotyki c W. Szynkiewicz, 2009 7 Kryteria klasyfikacji rodzajów uczenia się Wybrane kryteria klasyfikacji rodzajów uczenia się(systemów uczących się): Metoda reprezentacji wiedzy lub umiejętności drzewa decyzyjne, reguły, formuły logiki predykatów, rozkłady prawdopodobieństw, automaty skończone. Sposób wykorzystania wiedzy lub umiejętności zazwyczaj sposób użycia wiedzy określony jest przez metodę reprezentacji wiedzy oraz cel, najczęściej jest to klasyfikacja, aproksymacja i modelowanie środowiska. Źródło i postać informacji trenującej: uczenie się z nadzorem źródłem informacji jest nauczyciel, bez nadzoru brak informacji trenującej; Mechanizm nabywania i doskonalenia wiedzy lub umiejętności: indukcja podejście do wnioskowania polegające na uogólnieniu jednostkowej informacji trenującej w celu uzyskania ogólnej wiedzy, przypisanie zasługi występujące przy uczeniu się ze wzmocnieniem i polegające na określeniu wpływu poszczególnych akcji na otrzymane nagrody. Wstęp do Robotyki c W. Szynkiewicz, 2009 8 Klasyfikacje uczenia się Sposoby uczenia się uczenie się z nadzorem(supervised learning), uczenie się ze wzmocnieniem(reinforcement learning), bez nadzoru(unsupervised learning) Reprezentacje: numeryczne lub symboliczne operowanie funkcjami numerycznymi operowanie reprezentacjami symbolicznymi Indukcyjne lub dedukcyjne indukcyjne: uogólnianie na podstawie przykładów dedukcyjne: wykorzystanie wiedzy ogólnej do wyciągania konkretnych wniosków
Wstęp do Robotyki c W. Szynkiewicz, 2009 9 Tworzenie systemu uczenia się Projektowanie elementu uczącego zależy od następujących czynników: Które składniki elementu wykonawczego są poprawiane? Jaką reprezentację wykorzystano do opisu tych składników? Jakie jest dostępne sprzężenie zwrotne? Jaka wiedza jest wcześniej dostępna? Składniki wykorzystywane do budowy elementu wykonawczego: 1. Bezpośrednie odwzorowanie bieżącego stanu na akcje. 2. Sposób określania odpowiednich własności środowiska na podstawie ciągu obserwacji. 3. Informacja o tym jak zmienia się środowisko. 4. Informacja o wynikach akcji, które może wykonać agent. 5. Informacja użyteczności wskazująca pożądaność stanów środowiska. 6. Informacja wartości akcji wskazująca pożądaność pewnych akcji w poszczególnych stanach. 7. Cele opisujące klasy stanów, których osiągnięcie maksymalizuje użyteczność agenta. Wstęp do Robotyki c W. Szynkiewicz, 2009 10 Każdy z powyższych składników może być opisany za pomocą funkcji i nauczony, przy założenie, że jest dane odpowiednie sprzężenie zwrotne. Często uczenie się może być traktowane jako uczenie się opisu odwzorowania(funkcji). Wejœcia Odwzorowanie? Wyjœcia Rys. 3: Uczenie się odwzorowania Odwzorowania mogą być reprezentowane przez zdania logiczne, wielomiany z wagami, sztuczne sieci neuronowe, i in.
Wstęp do Robotyki c W. Szynkiewicz, 2009 11 Co umożliwia uczenie się? Wprowadzenie nowej wiedzy(fakty, zachowania, reguły) do systemu Uogólnienie pojęć Specjalizację pojęć Tworzenie lub odkrywanie nowych pojęć Reorganizację informacji Tworzenie wyjaśnień Wykorzystywanie wcześniejszych doświadczeń Stosowana terminologia: nagroda/kara dodatnie/ujemne sprzężenie funkcja kosztu(miara jakości) wskaźnik jakości uczenia się indukcja generacja funkcji(hipotezy) aproksymującej przykłady nauczyciel/krytyk element zapewniający sprzężenie obiekt/model system(agent, robot), który uczy się Wstęp do Robotyki c W. Szynkiewicz, 2009 12 Uczenie się indukcyjne Uczenie się indukcyjne polega na uogólnieniu obserwacji, przykładów, jednostkowej informacji trenującej w celu przewidywania nowych obserwacji, uzyskania ogólnej wiedzy. Wyróżniamy trzy rodzaje uczenia się indukcyjnego: uczenie się pojęć(klasyfikacja przykładów) pojęcie to jedna z postaci wiedzy o świecie, używana do interpretowania zmysłowych obserwacji oraz abstrakcyjnych idei, pojęcia służą do klasyfikowania pewnych obiektów na grupy, zwane kategoriami; tworzenie pojęć(grupowanie przykładów) grupowanie pojęciowe: podział przykładów trenujących na grupy i nauczenie się odpowiadających tym grupom pojęć, uczenie się aproksymacji funkcji uczenie się nieznanej funkcji na podstawie par: argument, wartość funkcji. Praktyczne algorytmy uczenia się: indukcja drzew decyzyjnych, sieci bayesowskie.
Wstęp do Robotyki c W. Szynkiewicz, 2009 13 Tryby uczenia się indukcyjnego: tryb inkrementacyjny(uczenie się ciągłe, na bieżąco) przykłady trenujące dostarczane są na bieżąco, po przetworzeniu przykładu uczeń poprawia swą hipotezę, można w każdej chwili przerwać proces uczenia; tryb wsadowy(uczenie się jednorazowe) uczeń otrzymuje cały zbiór trenujący i przetwarza go, nie ma żadnych interakcji z nauczycielem lub otoczeniem; tryb epokowy(hybrydowy tryb łączący cechy trybów wsadowego i inkrementacyjnego proces uczenia jest zorganizowany w cykle zwane epokami); tryb korekcyjny(szczególna odmiana trybu inkrementacyjnego) ma zastosowanie tylko w przypadku uczenia się z nadzorem(tj. uczenia się pojęć i aproksymacji funkcji). Uczeń otrzymuje najpierw przykład nieetykietowany, dla którego ma wyznaczyć za pomocą swojej aktualnej hipotezy kategorię albo wartość funkcji docelowej. Odpowiedź ucznia jest porównywana z etykietą przykładu, po czym przekazuje się mu informację korekcyjną. Wstęp do Robotyki c W. Szynkiewicz, 2009 14 Uczenie się ze wzmocnieniem Uczenie się ze wzmocnieniem(reinforcement learning) jest to: Uczenie się celowego zachowania przez inteligentnego agenta na podstawie dynamicznych oddziaływań ze środowiskiem, na ogół nieznanym mu wcześniej, często niedeterministycznym, a także niestacjonarnym. Źródłem informacji o charakterze wartościującym jakość działania agenta jest krytyk(nie uczy lecz tylko ocenia agenta). Modelem matematycznym zadania uczenia się ze wzmocnieniem jest problem decyzyjny Markowa. Jest to problem znalezienia optymalnej strategii decyzyjnej dla środowiska, którego modelem z kolei jest proces stochastyczny Markowa. Proces decyzyjny Markowa jest definiowany jako czwórka(s, A, ρ, δ), gdzie: S jest skończonym zbiorem stanów; A jest skończonym zbiorem akcji; ρ:s A Rjestfunkcjąwzmocnienia,którejwartośćjestzmiennąlosowąowartościach rzeczywistych, oznaczającą nagrodę otrzymywaną po wykonaniu akcji a A w stanie s S; δ:s A Π(S)jestfunkcjąstanuprzejść,gdzieelementΠ(S)jestrozkłademprawdopodobieństwa nazbiorzes(następnystanpowykonaniua Awstanies S).Oznaczasięjakoδ(s,a,s ) prawdopodobieństwoprzejściazestanusdostanus przyużyciuakcjia. Własność Markowa: Wartości funkcji wzmocnienia ρ i funkcji przejść δ nie zależą od historii, ponieważ ich argumentami są bieżący stan i akcja.
Œrodowisko Wstęp do Robotyki c W. Szynkiewicz, 2009 15 Nagroda/kara Agent Stan Akcja Rys. 4: Schemat uczenia się ze wzmocnieniem Ogólny schemat algorytmu uczenia się ze wzmocnieniem: 1.Dla t,t=0,...,twykonajkroki2 6 2.obserwujaktualnystans t, 3.wybierzakcjęa t dowykonaniawstanies t, 4.wykonajakcjęa t 5.obserwujwzmocnienier t inastępnystans t+1, 6.uczsięnapodstawiedoświadczenia{s t,a t,r t,s t+1 } 7. Stop Wstęp do Robotyki c W. Szynkiewicz, 2009 16 Zasady działania algorytmu: Zadanie agenta polega na wybieraniu akcji, które prowadzą do maksymalizacji wskaźnika jakości zdefiniowanego za pomocą otrzymywanych przez niego nagród(wzmocnienia). Rodzaj wskaźnika decyduje o typie uczenia się ze wzmocnieniem. Najczęściej rozważa się problem uczenia się z opóźnionym wzmocnieniem, w którym wymagane jest uwzględnienie przez agenta opóźnionych skutków wykonywanych przez niego akcji. W odróżnieniu zaś uczenie się z natychmiastowym wzmocnieniem polega tym, że system uczący się maksymalizuje nagrody otrzymywane bezpośrednio po wykonanych akcjach i pomija opóźnione skutki tych akcji. Najczęściej jako wskaźnik jakości przyjmuje się wartość oczekiwaną zdyskontowanej sumy otrzymanych nagród: V (s)=maxe π π γ t r t (1) gdzieπjeststrategią(π :S A),zaśγ [0,1]jestwspółczynnikiemdyskontowania,któryokreśla względną wagę krótkoterminowych i długoterminowych nagród. Celem robota/ucznia jest znalezienie strategiioptymalnejπ. Często ocenia się nie tylko stany, ale także pary stan-akcja i wówczas wskaźnik jakości ma postać: s S t=0 V (s)=max ρ(s,a)+ δ(s,a,s )V (s ), s S (2) a
Wstęp do Robotyki c W. Szynkiewicz, 2009 17 Funkcja wartości akcji ze względu na strategię przyporządkowuje każdej parze akcja-stan oczekiwaną wartość zdyskontowanej sumy przyszłych nagród. Środowisko uczenia się jest niepewne i nieznane uczniowi i nie jest przez niego kontrolowane. Specyfika uczenia się ze wzmocnieniem: Informacja trenująca ma charakter wartościujący. Informacja trenująca określa cel zadania, a nie sposób jego realizacji. Uczenie się następuje na podstawie prób i błędów. Uczenie się wykonywania zadanie i jego faktyczne wykonywanie odbywa się łącznie. Nie na rozdziału fazy uczenia się od fazy stosowania uzyskanej wiedzy lub umiejętności. Wstęp do Robotyki c W. Szynkiewicz, 2009 18 Inne metody uczenia się: uczenie się automatów uczenie sieci(sztuczne sieci neuronowe, sieci bayesowskie) dobór wag sieci na podstawie przykładów trenujących. uczenie się ewolucyjne przeszukiwanie przestrzeni populacji osobników(hipotez) w celu znalezienia maksimum funkcji dopasowania. Potencjalne rozwiązania problemu zakodowane z wykorzystaniem specyficznych struktur danych, które są przetwarzane algorytmami ewolucyjnymi.w skład algorytmu wchodzi strategia selekcja(zazwyczaj losowa) osobników oraz reprodukcja, która jest realizowana przez krzyżowanie i mutację. uczenie się na podstawie eksperymentów uczenie się oparte na wielu strategiach