Tematem
niniejszego skryptu są mechanizmy adaptacji aplikowane w systemach
tworzonych przez człowieka. Ogólnym celem adaptacji tego rodzaju
jest poprawa działania systemu w trakcie jego działania. Często
nie jest możliwe zaprojektowanie systemu funkcjonującego w sposób
optymalny natychmiast po uruchomieniu. W tej sytuacji optymalizacja
funkcji systemu w trakcie jego działania może być pożyteczna.
Ogólny
schemat sytuacji, w której pojawia się problem adaptacji (uczenia
się) dyskutowany w niniejszym skrypcie przedstawia rysunek 1.
Punktem wyjścia jest pewien system dynamiczny: może być to
urządzenie wraz ze środowiskiem, w którym działa lub „światek”,
na który oddziałuje pewien program komputerowy. Przez decydenta
należy rozumieć sterownik urządzenia lub (pod)program komputerowy.
Na podstawie stanu systemu generuje on decyzje, którymi na ten
system oddziałuje, np. powoduje podejmowanie przez urządzenie
pewnych działań. Problem polega na tym, że nie można z góry
zdefiniować dobrych reguł decyzyjnych dla decydenta z jednego lub
kilku spośród następujących powodów:
Dynamika
systemu jest nieznana czyli nie wiadomo w jaki sposób na jego stan
wypływają aplikowane decyzje,
Dynamika
systemu jest znana w sposób niepełny/niedokładny,
Dynamika
systemu jest na tyle skomplikowana, że projektowanie decydenta
staje się bardzo kosztowne.
Narzucającym
się w takiej sytuacji rozwiązaniem jest wyposażenie decydenta w
możliwość adaptacji lub uczenia się na podstawie interakcji z
systemem dynamicznym.
Ostatnim
elementem powyższego schematu jest arbiter. Spełnia on dwie
funkcje. Po pierwsze stanowi interfejs między parą decydent –
system dynamiczny a człowiekiem, który jest użytkownikiem tej
pary. Po drugie, arbiter ocenia skutki działania decydenta. Zwykłe
zadanie decydenta, polega na tym, aby w sekwencji decyzji osiągnąć
pewne cele. Arbiter nie musi wiedzieć jakie decyzje prowadzą do
tego celu ale musi umieć rozpoznawać moment, w którym cel zostaje
osiągnięty.
Spis treści
Wprowadzenie
Przykłady
zagadnień, w których pojawia się potrzeba adaptacji i uczenia
się
Cel
skryptu i poruszane zagadnienia
Trzy
dziedziny składające się na zawartość skryptu
Adaptacja
i uczenie się jako droga do inteligentnego zachowania się maszyn
i programów
Aproksymacja
funkcji i podstawowe mechanizmy adaptacji
Liniowa
aproksymacja funkcji
Aproksymatory
i zagadnienie aproksymacji
Aproksymacja
liniowa i rekurencyjne najmniejsze kwadraty
Własności
statystyczne rekurencyjnych najmniejszych kwadratów
Nieliniowa
aproksymacja funkcji i sieci neuronowe
Perceptron
wielowarstwowy
Iteracyjna
optymalizacja i aproksymacja stochastycznej
Uczenie
się przy użyciu aproksymacji stochastycznej
Zagadnienie
dostrajania parametru kroku
Zagadnienia
praktyczne związane z używaniem sieci neuronowych w systemach
uczących się
Uczenie
się przez wzmacnianie
Podstawy
Proces
Decyzyjny Markowa
Algorytmy
Q-Learning i SARSA
Rozszerzenie
algorytmów Q-Learning i sarsa do ciągłych przestrzeni stanów i
decyzji
Optymalizacja
stochastycznego wyboru
Parametryzowane
rozkłady prawdopodobieństwa
Algorytm
REINFORCE punktowy
Stacjonarna
polityka decyzyjna
Algorytm
REINFORCE statyczny
Algorytm
REINFORCE epizodyczny
Algorytm
Aktor – Krytyk
Aktor
i Krytyk
TD
(λ)
Aktor
– Krytyk z kompatybilną aproksymacją
Optymalizacja
średniej nagrody
Gradient
polityki
Aktor
– Krytyk z kompatybilną aproksymacją
Naturalny
Aktor – Krytyk
Dyskonto:
ograniczenie wariancji estymatora gradientu
Wielokrotne
przetwarzanie obserwacji
Algorytm
Q-Learning z powtarzaniem doświadczenia
Próbkowanie
ważnościowe
Algorytm
Aktor – Krytyk z powtarzaniem doświadczenia
Optymalizacja
estymatora wskaźnika jakości
Sterowanie
adaptacyjne
Obiekty
dynamiczne
Wstęp
Liniowe
obiekty SISO
Dyskretna
aproksymacja obiektów o ciągłej dynamice
Stabilność
i funkcja Lapunowa
Ogólna
postać typowego schematu adaptacji
Stabilność
Funkcja
Lagunowa
Stabilność
w kontekście funkcji Lagunowa
Schematy
adaptacji dla obiektów liniowych z obserwowalnym stanem
Liniowy
obiekt SISO pierwszego rzędu
Uogólnienie
Obiekty
liniowe wyższych rzędów
Zaawansowane
schematy adaptacji
Obiekty
o nieliniowej dynamice
Obiekty
z nieobserowalnymi pochodnymi stanu
Samostrojące
się regulatory
Dynamika
liniowo parametryzowana
Liniowe
najmniejsze kwadraty w czasie ciągłym
Najmniejsze
kwadraty z wykładniczym zapominaniem
Adaptacyjny
dobór współczynnika zapominania
Synteza
Pozostałe
podejścia
Stochastyczne
sterowanie adaptacyjne
Aproksymowane
programowanie dynamiczne
Podsumowanie
Uczenie
się przez wzmacnianie
Sterownie
adaptacyjne
Dodatek
A
Probabilistyka
B
Dowody