1 Uczenie ze wzmocnieniem Literatura: Paweł Cichosz, Systemy uczące się, Wydawnictwa Naukowo-Techniczne, Warszawa 2000, str Richard Sutton, Andrew G. Barto, Reinforcement Learning: An Introduction, MIT Press, Cambridge, MA, Stuart J.Russel, Peter Norvig, Artificial Intelligence, Prentice-Hall, London, 2003, str
2 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ń
3 Ś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
4 Wieloetapowe procesy decyzyjne Procesy polegające na wielokrotnej interakcji ucznia (agenta) ze środowiskiem. W wyniku podjęcia jednej z możliwych akcji a t w danym stanie s t, środowisko przechodzi do nowego stanu s t+1 i zwraca nagrodę r t+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) stst s t+1 s t+2 s t+k... a t, r t+1 a t+1, r t+2 a t+k-1, r t+k
5 Ogólny schemat uczenia się w interakcji ze środowiskiem UCZEŃ ŚRODOWISKO akcja a t stst r t+1 rtrt s t+1
6 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)
7 Zadanie optymalizacji w procesach epizodycznych Cel maksymalizacji: gdzie r t - nagroda w kroku t, - współczynnik dyskontowania, 0 1, 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)
8 Dobór współczynnika dyskontowania w zależności od wartości nagród Niech r 2 oznacza wartość nagrody za dojście do stanu końcowego, r 1 - wartość nagrody dla pozostałych stanów Zadania do-sukcesu: stąd: r1r1 r1r1 r1r1 r1r1 r1r1 r2r2 r2r2 r1r1 r1r1 r1r1 r1r1 r1r1 r1r1 r1r1 r1r1 r2r2
9 Przykład GRID
10 Przykład GRID-6 – przykładowe strategie
11 Funkcje wartości Funkcja wartości stanu s t przy strategii : Funkcja wartości pary [stan,akcja]: (s t, a t ) przy strategii : Przy danej strategii dla każdego stanu s zachodzi równanie:
12 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
13 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 r t+1 jest realizacją zmiennej losowej (s t,a t ) a stan s t+1 jest realizacją zmiennej losowej (s t,a t )
14 Przykład GRAF-5 S = {1,2,3,4,5}, A={0,1} Nagroda za akcję a w stanie s:
15 Przykład GRAF-5 Optymalne wartości stanów dla = V(1)V(2)V(3)V(4)V(5)
16 Funkcja wartości a strategia Strategia jest lepsza od strategii jeśli dla każdego s: oraz istnieje takie s, że zachodzi: Zachłanna metoda wyboru akcji: - 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
17 Strategia optymalna Strategia * jest optymalna jeśli dla każdej strategii oraz dla każdego stanu s: 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 - 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
18 Metody szukania optymalnej strategii Programowanie dynamiczne Metoda Monte Carlo Metoda różnic czasowych (TD)
19 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 Model środowiska
20 Przykładowy graf przejść ze stanu s=s 1 do s {s 1, s 2, s 3 }, po wykonaniu akcji a: Programowanie dynamiczne s2s2 s1s1 s3s3 stąd:
21 Wyprowadzenie równania równowagi dla funkcji wartości stanu s: Programowanie dynamiczne
22 Równania optymalności Bellmana dla reprezentacji [stan] oraz [stan,akcja]: Programowanie dynamiczne - wartości odpowiadające strategii optymalnej
23
24 Iteracyjne obliczanie funkcji wartości stanów powtarzaj dla wszystkich s: mając dane:, P, R aż nastąpi w kroku i obliczanie funkcji wartości stanu dla strategii :
25 Iteracja strategii dla reprezentacji [stan] iteracyjne obliczanie funkcji wartości stanu dla strategii lub metodą rozwiązywania układu równań dla wszystkich s: wyznaczanie nowej strategii: naprzemienne wyznaczanie strategii (początkowo losowej) oraz wartości stanów dotąd aż strategie w 2 kolejnych cyklach iteracji nie różnią się: k-1 = k obliczanie funkcji wartości stanów dla strategii :
26 Iteracja wartości dla reprezentacji [stan] powtarzaj dla wszystkich s: mając dane: P, R aż nastąpi w kroku k
27 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
28 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 Wyznaczanie strategii optymalnej: np. metodą iteracji strategii lub metodą iteracji wartości
29 Metody Monte Carlo - wady i zalety V = ? V = p = 0.9 p = 0.1 nowy stan 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
30 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
31 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 s t ; wybierz akcję a t do wykonania w stanie s t ; wykonaj akcję a t ; obserwuj wzmocnienie r t+1 i następny stan s t+1 ; ucz się na podstawie doświadczenia (s t,a t,r t+1,s t+1,a t+1 ); until s jest stanem końcowym until spełniony warunek końca
32 Średni dochód przy wyjściu ze stanu s t i przy strategii : Rzeczywisty: Aproksymowany: Częściowo aproksymowany: Metoda różnic czasowych – TD(0)
33 Metoda różnic czasowych – TD(0) Aktualizacja wartości stanu - ogólna postać: Częściowo aproksymowany dochód uzyskany po wyjściu ze stanu s t : Reprezentacja [stan,akcja]:
34 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ść
35 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): Wykonaj akcję a w stanie s zgodnie z wybraną strategią(np. ε-zachłanną względem Q(s,a)) until s jest stanem końcowym until spełniony warunek końca
36 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)) until s jest stanem końcowym until spełniony warunek końca
37 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 Typy strategii
38 Przykłady strategii wyboru akcji w trakcie uczenia: maksimum losowa -zachłanna softmax Eksploatacja i eksploracja 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):
39 Warunki zbieżności: tablicowa reprezentacja funkcji Q stosowanie ciągu zmiennych współczynników α dostateczna eksploracja Q-learning - zbieżność
40 Różnica pomiędzy algorytmami SARSA i Q-learning - przykład SARSA – zabezpieczenie przed niedeterminizmem strategii użytej do uczenia np. -zachłannej SKLIFK Droga bezpieczna Droga optymalna Q-learning Nauka chodzenia po krawędzi klifu (od S do K): za każdy krok odbierany jest 1 pkt, za wejście w przepaść odbieranych jest 1000 pkt. Pytanie: Która droga zostanie wybrana w przypadku -zachłannej strategii uczenia przez system uczony algorytmem SARSA?
41 Metoda Actor-Critic - schemat Schemat ogólny: Funkcja strategii (s,a) (actor) Funkcja wartości V(s) (critic) Środowisko akcja stan nagroda błąd TD -
42 Algorytm Actor-Critic Algorytm Actor-Critic z funkcją wartości stanów V(s) i dodatkową funkcją wyboru akcji Zainicjuj V(s), (s,a) Repeat (dla kolejnych epizodów): Zainicjuj s Repeat (dla kolejnych kroków epizodu): Wykonaj akcję a w stanie s zgodnie ze strategią wyboru akcji (np. -zachłanną względem (s,a)) until s jest stanem końcowym until spełniony warunek końca
43 Algorytm Actor-Critic Cechy: W stosunku do standardowego algorytmu z reprezentacją stanów (V(s)) wymaga małego nakładu obliczeniowego przy wyborze akcji Analogia do iteracji wartości w metodzie DP
44 Przybliżenie TD(0) Wartość stanu w danym epizodzie jest modyfikowana tylko na podstawie wartości następnego stanu i nagrody: stst s t+1 r > 0
45 Inne przybliżenia Można wyznaczyć sumę ważoną przybliżeń przyjmując, że im przybliżenie dalsze, tym mniej istotne:
46 Ślady aktywności TD( ) - wyprowadzenie Sumując elementy w kolumnach i uwzględniając: otrzymujemy:
47 Ślady aktywności TD( ) - wyprowadzenie gdzie Przesuwamy ostatnią kolumnę w dół. Wstawiamy -V(s t ) do pierwszego wiersza
48 Ślady aktywności TD( ) W każdym kroku modyfikowane są wartości wszystkich stanów lub par [stan,akcja]:
49 Ś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 stany s x : end for until s jest stanem końcowym until spełniony warunek końca
50 Ś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
51 Wydobywanie cech Przekształcenie wektorów z pierwotnej przestrzeni stanów s = [s 1, s 2,..., s N ] (np. układu figur na szachownicy) do przestrzeni cech istotnych dla określenia wartości stanu: z wykorzystaniem wiedzy o problemie Cele: Zmniejszenie liczby parametrów Uzyskanie cech istotnych dla określenia wartości stanów Zwiększenie uogólniania poprzez agregację stanów o podobnej wartości
52 Aproksymacja i kodowanie Kodowanie stanów – transformacja stanów do nowej przestrzeni cech 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
53 Aproksymatory funkcji Przykłady: Aproksymator liniowy Wielomiany stopnia > 1 Sztuczne sieci neuronowe (SNN) Sieci o podstawie radialnej (Radial Basis Functions – RBF) 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
54 zamiast pełnej informacji o stanie w postaci wektora s, można wykorzystać stan uogólniony w postaci wektora cech Wektorowi parametrów modelu odpowiada wektor wag sieci Gradient funkcji wartości oblicza się metodą propagacji wstecznej błędu Aproksymator SSN... Q(s,a)Q(s,a) s1s1 s2s2 s3s3 sNsN a s1s1 s2s2 s3s3 sNsN V(s)V(s)
55 Aproksymatory funkcji - definicje Wektor parametrów: Kryterium optymalizacji: V (s) – poszukiwana wartość stanu s dla strategii V t (s) – aktualna wartość stanu s Wartości stanów lub par [stan,akcja] reprezentowane są za pomocą funkcji zależnej od parametrów (i):
56 Gradientowa metoda aproksymacji funkcji wartości stanów Przyjmując przybliżenie: Otrzymujemy algorytm aktualizacji wartości stanu: (następny slajd) parametry funkcji wartości modyfikowane są w kierunku maksymalnego spadku funkcji błędu MSE
57 Gradientowa metoda aproksymacji funkcji wartości stanów - TD( ) Zainicjuj Repeat (dla kolejnych epizodów): Zainicjuj s, Repeat (dla kolejnych kroków epizodu): Wybierz i wykonaj akcję a w stanie s zgodnie ze strategią określoną przez until s jest stanem końcowym until spełniony warunek końca
58 Metody wyznaczania kierunku modyfikacji wektora parametrów funkcji wartości Metoda spadku gradientu funkcji błędu (propagacja wsteczna w SSN) Metoda gradientów sprzężonych Metoda Newtona Metody quasi-Newtonowskie Metoda Levenberga-Marquardta - poprawka wektora wag
59 Przykład zastosowania SSN: TD-Gammon Problemy: Duży stopień rozgałęzienia drzewa gry – ok. 400 Gra częściowo losowa (stochastyczna) Ogromna liczba wszystkich możliwych stanów gry... s1s1 s2s2 s3s3 s 198 V(s)V(s) neuronów w warstwie ukrytej Sposób kodowania: Po 4 wejścia dla każdego pola planszy: [1,0,0,0] gdy jeden kamień w polu, [1,1,0,0] gdy 2, [1,1,1,0] gdy 3, [1,1,1,0.5] gdy 4, [1,1,1,1] gdy 5 2 wejścia: liczby kamieni w poczekalni (białe+czarne) 2 wejścia: liczby kamieni usuniętych z planszy 2 wejścia: kolejny ruch (0 lub 1)
60 Przykład zastosowania SSN: TD-Gammon Problemy: Duży stopień rozgałęzienia drzewa gry – ok. 400 Gra częściowo losowa (stochastyczna) Ogromna liczba wszystkich możliwych stanów gry Sposób uczenia: Standardowy algorytm propagacji wstecznej obliczania gradientu + gradientowa metoda aproksymacji funkcji wartości stanów TD( ) (opisana kilka slajdów wcześniej) Uczenie odbywało się w trakcie rozgrywania gier 2 uczących się strategii bez wykorzystania wiedzy o problemie Rezultaty: Po ok grach uzyskano strategie o zbliżonej efektywności do innych programów komputerowych grających w tryk-traka
61 Ciągłe wartości parametrów stanu Problemy: Konieczność doboru reprezentacji funkcyjnej (aproksymacji) funkcji wartości stanu oraz funkcji strategii Konieczność zapewnienia zbieżności algorytmu uczenia Konieczność doboru reprezentacji funkcyjnej do problemu
62 Metody kodowania stanów o parametrach ciągłych Metody kodowania (obliczania cech): Kodowanie metodą pokryć (CMAC, tile coding) Kodowanie przybliżone (coarse coding) Kodowanie przybliżone rozproszone - np. metodą Kanervy
63 Kodowanie metodą pokryć - wektor cech stanu gradient funkcji wartości:
64 Kodowanie metodą pokryć Adaptacyjne zagęszczanie stanów: Kryteria zagęszczania stanów: duża częstość odwiedzin niestabilność wartości stanu podczas uczenia Realizacja: drzewa czwórkowe w przypadku 2 parametrów stanu
65 Kodowanie przybliżone Przykładowe zastosowanie: aproksymator liniowy z wykorzystaniem zbioru cech: - wektor cech stanu Kodowanie przybliżone dla 2-wymiarowej przestrzeni stanów - każde pole jest związane z jedną cechą binarną, równą 1 jeśli stan znajduje się wewnątrz pola: x y Licząc po kolejnych wierszach od lewej do prawej wektor cech: gradient funkcji wartości:
66 Kodowanie przybliżone, rozproszone (kodowanie Kanervy) Kodowanie przybliżone dla przykładowej 2-wymiarowej przestrzeni stanów - każdy prototyp stanu jest związany z jedną cechą binarną, równą 1 jeśli spełnione jest kryterium odległości (w przypadku kodowania Kanervy jest to odległość Hamminga): x y Licząc po kolejnych wierszach od lewej do prawej, nowy wektor cech: Prototypowe stany lub pary [stan, akcja] są początkowo wybierane losowo. Dodatkowo, w bardziej zaawansowanych metodach mogą być przemieszczane w celu większego ich skupienia w ważniejszych obszarach przestrzeni stanów
67 Przykładowe zadanie - 1 s1s1 s2s2 s3s3 V1V1 V2V2 V 3 = 0 P(a 1 ) = 0,2 P(a 2 ) = 0,1 P(a 1 ) = 0,8 P(a 2 ) = 0,3 P(a 1 ) = 0,8 P(a 2 ) = 0,9 R = 0 P(a 1 ) = 0,2 P(a 2 ) = 0,7 R = 0 R = 1,0 Oblicz użyteczność stanów V 1 i V 2 (met. programowania dynamicznego) dla strategii {π(s 1 ) = a 1, π(s 1 ) = a 2 }. Wykaż że to jest lub nie jest strategia optymalna
68 Przykładowe zadanie - 2 Oblicz użyteczność stanów V 1 i V 2 (met. programowania dynamicznego) dla strategii {π(s 1 ) = a 1, π(s 1 ) = a 2 }. Wykaż że to jest lub nie jest strategia optymalna s1s1 s2s2 V1V1 V2V2 V = 1.0 P(a 1 ) = 0,2 P(a 2 ) = 0,1 P(a 1 ) = 0,7 P(a 2 ) = 0,2 P(a 1 ) = 0,7 P(a 2 ) = 0,9 P(a 1 ) = 0,3 P(a 2 ) = 0,8 V = -0.5 P(a 1 ) = 0,1