570 likes | 752 Views
Uczenie ze wzmocnieniem. Literatura: Paweł Cichosz, Systemy uczące się , Wydawnictwa Naukowo-Techniczne, Warszawa 2000, str. 712-792. Richard Sutton, Andrew G. Barto, Reinforcement Learning: An Introduction , MIT Press, Cambridge, MA, 1998.
E N D
Uczenie ze wzmocnieniem • Literatura: • Paweł Cichosz, Systemy uczące się, Wydawnictwa Naukowo-Techniczne, Warszawa 2000, str. 712-792. • Richard Sutton, Andrew G. Barto, Reinforcement Learning: An Introduction,MIT Press, Cambridge, MA, 1998. http://www.cs.ualberta.ca/~sutton/book/the-book.html • Stuart J.Russel, Peter Norvig, Artificial Intelligence, Prentice-Hall, London, 2003, str. 598-645.
Plan wykładu • Wieloetapowe procesy decyzyjne - typy procesów i środowisk • Programowanie dynamiczne a metoda Monte Carlo • Uczenie ze wzmocnieniem – podstawowy algorytm • Eksploatacja a eksploracja • Metody przyśpieszania zbieżności - ślady aktywności • Aproksymacja funkcji wartości stanów • Metody kodowania stanów • Agregacja stanów • Przykłady zastosowań
Środowisko • Cechy środowiska w sztucznych systemach uczących się: • przydziela nagrody i wyznacza bieżący stan • jest niezależne od ucznia, czyli oznacza wszystko to, na co uczeń nie ma wpływu Typy środowisk: • stacjonarne / niestacjonarne (zmienne w czasie) • deterministyczne / niedeterministyczne - taka sama akcja może spowodować przejście do różnych stanów, a przy przejściu do takiego samego stanu można uzyskać różne nagrody z tym, że wartości oczekiwane nagród i prawdopodobieństwa przejść są stałe • niedeterministyczne o znanym / nieznanym modelu • o parametrach ciągłych / dyskretnych • o pełnej informacji o stanie (własność Markowa) / o niepełnej informacji o stanie
at+1, rt+2 at+k-1, rt+k at, rt+1 st st+1 st+2 st+k ... Wieloetapowe procesy decyzyjne • Procesy polegające na wielokrotnej interakcji ucznia (agenta) ze środowiskiem. W wyniku podjęcia jednej z możliwych akcji at w danym stanie st, środowisko przechodzi do nowego stanu st+1 i zwraca nagrodę rt+1 • Celem uczenia jest maksymalizacja nagród uzyskanych w ciągu całego procesu, niezależnie od stanu początkowego • Wniosek: należy szukać optymalnej strategii (policy) zachowania ucznia (wyboru odpowiedniej akcji w każdym ze stanów)
Ogólny schemat uczenia się w interakcji ze środowiskiem st rt UCZEŃ akcja at rt+1 st+1 ŚRODOWISKO
Typy procesów • Ze względu na środowisko: deterministyczne / niedeterministyczne, stacjonarne / niestacjonarne • Ze względu na informacje o stanie: spełniające własność Markowa / niespełniające własności Markowa • Ze względu na ogólną liczbę stanów środowiska: o skończonej liczbie stanów / o nieskończonej liczbie stanów • Ze względu na typ przestrzeni stanów: ciągłe (nieprzeliczalne)/ dyskretne • Ze względu na umiejscowienie nagród: tylko w stanach końcowych (terminalnych) / tylko w stanach pośrednich / w stanach końcowych oraz pośrednich • Ze względu na liczbę etapów procesu: nieskończone / epizodyczne (kończące się po pewnej liczbie kroków)
Zadanie optymalizacji w procesach epizodycznych Cel maksymalizacji: gdzie rt - nagroda w kroku t, - współczynnik dyskontowania, 01, reguluje ważność krótko i długoterminowych nagród. Zastosowanie współczynnika dyskontowania wynika z pewnych praktycznych spostrzeżeń: nagrody warto zdobywać jak najszybciej (zadania do-sukcesu), kary jak najdłużej odwlekać (zadania do-porażki)
r2 r2 r1 r1 r2 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 * Dobór współczynnika dyskontowania w zależności od wartości nagród Niech r2 oznacza wartość nagrody za dojście do stanu końcowego, r1 - wartość nagrody dla pozostałych stanów Zadania do-sukcesu: stąd:
1 0.5 Przykład GRID-6
Przykład GRID-6 – przykładowe strategie 1 2 3 4
Funkcje wartości Funkcja wartości stanu st przy strategii : Funkcja wartości pary [stan,akcja]: (st , at) przy strategii : Przy danej strategii dla każdego stanu s zachodzi równanie:
* Proces decyzyjny Markowa • Proces decyzyjny Markowa można zdefiniować jako czwórkę (S, A, , ): • S - skończony zbiór stanów • A - skończony zbiór akcji • (s,a) - funkcja wzmocnienia - zmienna losowa o wartościach rzeczywistych oznaczająca nagrodę po wykonaniu akcji a w stanie s • (s,a) - funkcja przejść stanów - zmienna losowa o wartościach ze zbioru S oznaczająca następny stan po wykonaniu akcji a w stanie s W ogólności w każdym kroku t nagroda rt+1 jest realizacją zmiennej losowej (st,at) a stan st+1 jest realizacją zmiennej losowej (st,at)
1 2 3 4 5 * Przykład GRAF-5 S = {1,2,3,4,5}, A={0,1} Nagroda za akcję a w stanie s:
1 2 3 4 5 * Przykład GRAF-5 Optymalne wartości stanów dla = 0.9
- prawdopodobieństwo przejścia od stanu s do s’ przy wykonaniu akcji a - średnia nagroda przy przejściu od s do s’ dzięki a Funkcja wartości a strategia Strategia ’ jest lepsza od strategii jeśli dla każdego s: oraz istnieje takie s, że zachodzi: Każdej strategii odpowiada tablica wartości stanów – V lub akcji – Q, natomiast dla danej tablicy wartości można przypisać najlepszą znaną strategię metodą zachłannego wyboru akcji w każdym ze stanów. Zachłanny wybór strategii na podstawie przybliżonych wartości V lub Q:
* Porównanie funkcji V oraz Q • Użycie funkcji wartości stanu V(s) wymaga każdorazowej symulacji wykonania jednego kroku naprzód w celu znalezienia akcji optymalnej • Użycie funkcji Q(s,a) wymaga stosowania większych tablic lub bardziej złożonych aproksymatorów funkcji
- prawdopodobieństwo przejścia od stanu s do s’ przy wykonaniu akcji a - średnia nagroda przy przejściu od s do s’ dzięki a Strategia optymalna Strategia * jest optymalna jeśli dla każdej strategii oraz dla każdego stanu s: lub dla każdej akcji w każdym stanie: Zachłanna metoda wyboru akcji: Zachłanna metoda wyboru akcji względem optymalnej funkcji wartości lub funkcji wartości akcji jest realizacją strategii optymalnej
Metody szukania optymalnej strategii • Programowanie dynamiczne • Metoda Monte Carlo • Metoda różnic czasowych (TD)
Model środowiska Programowanie dynamiczne Prawdopodobieństwo przejścia ze stanu s do s’ po wykonaniu akcji a, oraz średnia wartość nagrody związanej z tym zdarzeniem: Równania równowagi Bellmana dla reprezentacji [stan] oraz [stan,akcja] i strategii , ( (s) - akcja w stanie s zgodna ze strategią ):
Programowanie dynamiczne Przykładowy graf przejść ze stanu s=s1 do s’{s1 , s2 , s3 }, po wykonaniu akcji a: s2 s1 s3 stąd:
* Programowanie dynamiczne Wyprowadzenie równania równowagi dla funkcji wartości stanu s:
Programowanie dynamiczne Równania optymalności Bellmana dla reprezentacji [stan] oraz [stan,akcja]: - wartości odpowiadające strategii optymalnej
Programowanie dynamiczne • Metody wyznaczania wartości V lub Q dla danej strategii: • Rozwiązanie układu równań o |S| (lub |SA| w przypadku reprezentacji [stan,akcja]) niewiadomych • Iteracyjne na podstawie równań równowagi Bellmana (o udowodnionej zbieżności) Metody wyznaczania optymalnej strategii: • Iteracja strategii - naprzemienne obliczanie przybliżonych wartości V(s) dla wszystkich stanów przy danej (początkowo losowej) strategii oraz wyznaczanie lepszej strategii ’ dla V(s) do momentu, gdy w kolejnych dwóch iteracjach strategia pozostanie niezmienna • Iteracja wartości - obliczanie V(s) stosując zachłanną metodę wyboru akcji do momentu, gdy wartości V(s) przestaną się zmieniać
Iteracyjne obliczanie wartości stanów obliczanie wartości stanów dla strategii : mając dane: , P,R powtarzaj dla wszystkich s: aż nastąpi w kroku i
Iteracja strategii dla reprezentacji [stan] naprzemienne wyznaczanie strategii (początkowo losowej) oraz wartości stanów dotąd aż strategie w 2 kolejnych cyklach iteracji przestaną się różnić: k-1= k obliczanie wartości stanów dla strategii : iteracyjne obliczanie wartości stanów dla strategii lub metodą rozwiązywania układu równań wyznaczanie nowej strategii ’: dla wszystkich s:
Iteracja wartości dla reprezentacji [stan] mając dane: P,R powtarzaj dla wszystkich s: aż nastąpi w kroku k
Programowanie dynamiczne - wady i zalety • Wady: • konieczność znajomości modelu środowiska (prawdopodobieństw przejść pomiędzy stanami dla wszystkich możliwych akcji i oczekiwanych wartości nagród) • Zalety: • pewność znalezienia rozwiązania w przypadku metody dokładnej oraz zbieżność metod iteracyjnych • mała złożoność obliczeniowa
Metody Monte Carlo Obliczanie funkcji wartości stanów lub par [stan, akcja] dla pewnej strategii metodą uśredniania nagród z wielu epizodów. gdzie L - liczba epizodów, ne – liczba kroków e-tego epizodu Wyznaczanie strategii optymalnej: np. metodą iteracji strategii lub metodą iteracji wartości
-1 p = 0.9 V = -0.8 V = ? nowy stan p = 0.1 1 Metody Monte Carlo - wady i zalety • Wady: • Wymóg epizodyczności zadań • Wymagana duża eksploracja • Powolna zbieżność - obliczenie funkcji wartości nowego stanu bez uwzględnienia wartości stanów następujących po danym (bootstraping) • Zalety: • Pewna zbieżność do funkcji wartości V(s) dla ustalonej strategii przy odpowiedniej eksploracji • Nie jest wymagana znajomość modelu środowiska
Uczenie ze wzmocnieniem – cechy charakterystyczne • Uczenie z krytykiem (bez informacji o właściwych decyzjach) • Nie są znane optymalna strategia, metoda dojścia do optymalnej strategii ani model środowiska • Uczenie się na zasadzie ,,prób i błędów’’ – potrzebna jest eksploracja, co może wiązać się z kosztami • Uczenie się oraz wykonywanie zadań (działanie systemu) odbywa się jednocześnie
Uczenie ze wzmocnieniem - ogólny algorytm Zainicjuj Q(s,a) lub V(s) Repeat (dla kolejnych epizodów): Zainicjuj s Repeat (dla kolejnych kroków epizodu): obserwuj aktualny stan st; wybierz akcję at do wykonania w stanie st; wykonaj akcję at; obserwuj wzmocnienie rt+1 i następny stan st+1; ucz się na podstawie doświadczenia (st,at,rt+1,st+1,at+1); untils jest stanem końcowym until spełniony warunek końca
Metoda różnic czasowych – TD(0) Średni dochód przy wyjściu ze stanu sti przy strategii : Rzeczywisty: Aproksymowany: Częściowo aproksymowany:
Częściowo aproksymowany dochód uzyskany po wyjściu ze stanu st: Aktualizacja wartości stanu - ogólna postać: Reprezentacja [stan,akcja]: Metoda różnic czasowych – TD(0)
Metoda różnic czasowych – TD(0) • Metody uczenia: • Q-learning (off-policy) • SARSA (on-policy) • Actor-Critic (on-policy) (dodatkowy system wartościowania strategii przyjętej do uczenia (strategia aproksymowana + eksploracja (strategia losowa)) • Zalety metod TD: • nie jest wymagany model środowiska • możliwość uczenia w czasie rzeczywistym (online-learning) • zastosowanie w przypadku niestacjonarnego środowiska • duża uniwersalność zastosowań np. w środowiskach niestacjonarnych (gry planszowe) • dobra zbieżność
Algorytm Q-learning Algorytm Q-learning z aktualizacją wartości par [stan,akcja] niezależną od aktualnej strategii wyboru akcji (off-policy) Zainicjuj Q(s,a) Repeat (dla kolejnych epizodów): Zainicjuj s Repeat (dla kolejnych kroków epizodu): 1.) Z prawdop. 1-εwykonaj akcję a w stanie s o najwyższej wartości Q lub akcję losową z prawdop. ε przechodząc do stanu s' 2.) Zmodyfikuj wartość akcji a w stanie s: until s jest stanem końcowym until spełniony warunek końca
Algorytm SARSA * Algorytm SARSA z aktualizacją wartości par [stan,akcja] zgodnie z aktualną strategią np. -zachłanną (on-policy) Zainicjuj Q(s,a) Repeat (dla kolejnych epizodów): Zainicjuj s Wykonaj akcję a w stanie s zgodnie ze strategią opartą na Q (np. ε-zachłanną) Repeat (dla kolejnych kroków epizodu): Wykonaj akcję a’ w stanie s’ zgodnie ze strategią wyboru akcji (np. -zachłanną względem Q(s’,a’)) untils jest stanem końcowym until spełniony warunek końca
Typy strategii • poszukiwana strategia optymalizująca zyski (eksploatacja) • strategia uczenia (eksploatacja + eksploracja): • bieżące zyski nie mają znaczenia w trakcie uczenia lub mają (np. w problemie k-rękiego bandyty) • optymalizacja zysków przy nieznanej początkowo strategii optymalnej pozwala na ukierunkowanie poszukiwań • optymalizacja procesu uczenia dzięki sprawdzeniu wielu potencjalnie dobrych akcji w wielu potencjalnie dobrych stanach
Eksploatacja i eksploracja • Przykłady strategii wyboru akcji w trakcie uczenia: • maksimum • losowa • -zachłanna • softmax • Strategia -zachłanna : • z prawdopodobieństwem wybierz akcję losowo • z prawdopodobieństwem 1- wybierz akcję: Strategia softmax - wybór akcji zgodnie z rozkładem Bolzmanna (prawdopodobieństwo wylosowania akcji proporcjonalne do jej funkcji wartości):
Przybliżenie TD(0) * Wartość stanu w danym epizodzie jest modyfikowana tylko na podstawie wartości następnego stanu i nagrody: st+1 st r > 0
Inne przybliżenia * Można wyznaczyć sumę ważoną przybliżeń przyjmując, że im przybliżenie dalsze, tym mniej istotne:
Ślady aktywności TD() - wyprowadzenie * Sumując elementy w kolumnach i uwzględniając: otrzymujemy:
Ślady aktywności TD() - wyprowadzenie * Przesuwamy ostatnią kolumnę w dół. Wstawiamy -V(st) do pierwszego wiersza gdzie
Ślady aktywności - algorytm * Zainicjuj V(s) Repeat (dla kolejnych epizodów): Zainicjuj s, e(s)=0 dla wszystkich s Repeat (dla kolejnych kroków epizodu): Wykonaj akcję a w stanie s zgodnie z , obserwuj nagrodę r i następny stan s’ for wszystkie odwiedzone stanysx: end for untils jest stanem końcowym until spełniony warunek końca
Ślady aktywności TD() * • Zalety: • Przyspieszenie uczenia dzięki równoległemu przypisywaniu zasług wszystkim stanom lub akcjom, które poprzedzają otrzymanie nagrody • Połączenie zalet metod Monte Carlo i TD(0) przez odpowiedni wybór współczynnika świeżości • Znaczne przyspieszenie uczenia w przypadku nagród znacznie oddalonych Wady: • Duża złożoność w przypadku tabelarycznej (wyliczeniowej) reprezentacji stanów lub akcji
Aproksymacja funkcji wartości – przedstawienie funkcji wartości stanów lub par [stan,akcja] w postaci modelu parametrycznego funkcji (struktury) o odpowiednio dobranych (nauczonych) wartościach parametrów Aproksymacja i kodowanie Kodowanie stanów – transformacja stanów do nowej przestrzeni cech
Wydobywanie cech - kodowanie Przekształcenie wektorów z pierwotnej przestrzeni stanów s= [s1, s2,..., sN] (np. układu figur na szachownicy) do przestrzeni cech istotnych dla określenia wartości stanu: z wykorzystaniem wiedzy o problemie • Cele: • Uzyskanie cech istotnych dla określenia wartości stanów • Zwiększenie uogólniania poprzez agregację stanów o podobnej wartości
Aproksymatory funkcji • Przykłady: • Aproksymator liniowy • Sieci o podstawie radialnej (Radial Basis Functions – RBF) • Wielomiany stopnia > 1 • Sztuczne sieci neuronowe (SNN) • Systemy rozmyte Zalety: • Oszczędność miejsca przy dużych zbiorach stanów lub par [stan,akcja] • Możliwość uogólniania wiedzy dla stanów pośrednich • Brak dyskretyzacji w przypadku rzeczywistoliczbowej reprezentacji stanów lub akcji
V(s) Q(s,a) ... ... ... ... ... ... s1 s2 s3 s3 sN a s1 s2 sN Aproksymator SSN • Wektorowi parametrów modelu odpowiada wektor wag sieci: • Poprawa wartości oceny odbywa się poprzez zmianę wektora wag w kierunku największego spadku funkcji błędu – gradientu. Gradient funkcji błędu względem wag oblicza się metodą propagacji wstecznej błędu.
Aproksymatory funkcji - definicje Wartości stanów lub par [stan,akcja] reprezentowane są za pomocą funkcji zależnej od wektora parametrów : Wektor parametrów: Kryterium optymalizacji: V(s) – poszukiwana wartość stanu s dla strategii Vt(s) – aktualna wartość stanu s
Gradientowa metoda aproksymacji funkcji wartości stanów * parametry funkcji wartości modyfikowane są w kierunku maksymalnego spadku funkcji błędu MSE Przyjmując przybliżenie: Otrzymujemy algorytm aktualizacji wartości stanu: (następny slajd)