Sztuczna inteligencja „Inteligencja to zdolność uczenia się i

advertisement
1
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
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.
c
Wstęp do Robotyki – ¥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. Uczenie się :
• 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.
3
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
Sztuczna inteligencja w robotyce
Cechy „inteligentnego” robota:
• 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.
4
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
Uczenie się
Definicja:
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.
5
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
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
Czujniki
Element
ucz¹cy siê
Element
wykonawczy
Generator
dzia³añ
Efektory
Œrodowisko
Krytyk
Agent/robot
Rys. 1: Ogólny schemat uczenia się agenta
6
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
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
Uchyb
Obiekt
Algorytm
Adaptacji
Rys. 2: Ogólna architektura sterowania adaptacyjnego
7
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
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.
8
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
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
9
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
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.
10
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
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.
11
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
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ę
12
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
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.
13
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
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ą.
14
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
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 → R jest funkcją wzmocnienia, której wartość jest zmienną losową o wartościach
rzeczywistych, oznaczającą nagrodę otrzymywaną po wykonaniu akcji a ∈ A w stanie s ∈ S;
• δ : S × A → Π(S) jest funkcją stanu przejść, gdzie element Π(S) jest rozkładem prawdopodobieństwa
na zbiorze S (następny stan po wykonaniu a ∈ A w stanie s ∈ S). Oznacza się jako δ(s, a, s′)
prawdopodobieństwo przejścia ze stanu s do stanu s′ przy użyciu akcji a.
Własność Markowa: Wartości funkcji wzmocnienia ρ i funkcji przejść δ nie zależą od historii, ponieważ
ich argumentami są bieżący stan i akcja.
15
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
Nagroda/kara
Œrodowisko
Stan
Agent
Akcja
Rys. 4: Schemat uczenia się ze wzmocnieniem
Ogólny schemat algorytmu uczenia się ze wzmocnieniem:
1. Dla ∀t, t = 0, . . . , T wykonaj kroki 2–6
2. obserwuj aktualny stan st,
3. wybierz akcję at do wykonania w stanie st,
4. wykonaj akcję at
5. obserwuj wzmocnienie rt i następny stan st+1,
6. ucz się na podstawie doświadczenia {st, at, rt, st+1}
7. Stop
16
c
Wstęp do Robotyki – ¥W.
Szynkiewicz, 2009
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) = max
Eπ 
π
∞
Ø
t=0
γ t rt 
(1)
gdzie π jest strategią (π : S Ô→ A), zaś γ ∈ [0, 1] jest współczynnikiem dyskontowania, który określa
względną wagę krótkoterminowych i długoterminowych nagród. Celem robota/ucznia jest znalezienie
strategii optymalnej π ∗.
• Często ocenia się nie tylko stany, ale także pary stan-akcja i wówczas wskaźnik jakości ma postać:
∗

ρ(s, a) +
V (s) = max
a


Ø
s′ ∈S
′
∗

′ 
δ(s, a, s )V (s ) , ∀s ∈ S
(2)
c
Wstęp do Robotyki – ¥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.
c
Wstęp do Robotyki – ¥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
Download