1 / 48

Uczenie ze wzmocnieniem

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.

dorie
Download Presentation

Uczenie ze wzmocnieniem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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.

  2. Ś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: • niestacjonarne (zmienne w czasie) • niedeterministyczne - taka sama akcja może spowodować przejście do różnych stanów a przy przejściu do takiego samego stanu może zwrócić różne nagrody • nieznane uczniowi: • Ze względu na niepełną informację o stanie środowiska (brak własności Markowa) • Ze względu na nieznajomość wszystkich możliwych stanów w trakcie uczenia (może ich być nieskończenie wiele) - konieczność uogólniania zachowań

  3. 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 • 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)

  4. Ogólny schemat uczenia się w interakcji ze środowiskiem rt st UCZEŃ akcja at rt+1 st+1 ŚRODOWISKO

  5. 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 / dyskretne • Ze względu na umiejscowienie nagród: tylko w stanach końcowych (terminalnych) / również w stanach pośrednich • Ze względu na liczbę etapów procesu: ciągłe (nieskończone), epizodyczne (kończące się po pewnej liczbie kroków)

  6. Metody szukania optymalnej strategii • Metoda Monte Carlo • Programowanie dynamiczne • Metoda różnic czasowych (TD)

  7. Zadanie optymalizacji w procesach epizodycznych Maksymalizacja: gdzie rt - 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 zastosowań praktycznych: nagrody warto zdobywać jak najszybciej (zadania do-sukcesu), kary jak najdłużej odwlekać (zadania do-porażki)

  8. 1 0.5 Przykład GRID-6

  9. Funkcja wartości pary [stan,akcja]: (st , at) przy strategii : Przy danej strategii  dla każdego stanu s zachodzi równanie: Funkcje wartości Funkcja wartości stanu st przy strategii :

  10. Porównanie funkcji V oraz Q • Wady: • 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

  11. Strategia optymalna Strategia  jest lepsza od strategii ’ jeśli dla każdego s: oraz istnieje takie s, że zachodzi: Strategia jest optymalna, gdy nie ma od niej lepszej. Zachłanna strategia wyboru akcji: Wniosek: zachłanna strategia wyboru akcji względem optymalnej funkcji wartości lub funkcji wartości akcji jest strategią optymalną

  12. 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)

  13. 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:

  14. 1 2 3 4 5 Przykład GRAF-5 Optymalne wartości stanów dla  = 0.9

  15. 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); until s jest stanem końcowym until spełniony warunek końca

  16. Programowanie dynamiczne Model środowiska Prawdopodobieństwo przejścia ze stanu s do s’ po wykonaniu akcji a, oraz średnia nagroda związana z tym zdarzeniem: Równania równowagi Bellmana dla reprezentacji [stan] oraz [stan,akcja] i strategii , ( (s) - akcja w stanie s zgodna ze strategią  ):

  17. Programowanie dynamiczne s2 s1 s3 Przykładowy graf przejść ze stanu s=s1 do s’{s1 , s2 , s3 }, po wykonaniu akcji a: stąd:

  18. Programowanie dynamiczne Wyprowadzenie równania równowagi dla funkcji wartości stanu s:

  19. Programowanie dynamiczne Równania optymalności Bellmana dla reprezentacji [stan] oraz [stan,akcja]: - wartości optymalne

  20. Programowanie dynamiczne • Metody wyznaczania optymalnej strategii: • Iteracja strategii - naprzemienne obliczanie V(s) dla wszystkich stanów przy danej strategii oraz wyznaczanie lepszej strategii ’ dla V (s) • Iteracja wartości - obliczanie V (s) stosując strategię zachłanną przy wyborze akcji

  21. Programowanie dynamiczne - wady i zalety • Wady: • duża złożoność obliczeniowa metody dokładnej (bez iteracji) • 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

  22. 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.

  23. -1 p = 0.9 V = ? V = -0.8 nowy stan p = 0.1 1 Metody Monte Carlo - wada • Powolna zbieżność - obliczenie funkcji wartości nowego stanu bez uwzględnienia wartości stanów następujących po danym (bootstraping) może wymagać wielu iteracji

  24. Metody Monte Carlo - zalety • Pewna zbieżność do funkcji wartości dla ustalonej strategii przy odpowiedniej eksploracji • Nie jest wymagana znajomość modelu środowiska

  25. Metoda różnic czasowych – TD(0) Aktualizacja wartości stanu lub pary [stan,akcja] - ogólna postać:

  26. 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 działania + eksploracja) • Zalety: • uczenie w czasie rzeczywistym • dobra zbieżność

  27. 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

  28. 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):

  29. Algorytm SARSA Algorytm SARSA z aktualizacją wartości par [stan,akcja] zgodnie z aktualną strategią (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

  30. Różnica pomiędzy algorytmami SARSA i Q-learning - przykład SARSA – zabezpieczenie przed niedeterminizmem strategii użytej do uczenia np. -zachłannej Droga bezpieczna Droga optymalna Q-learning Nauka chodzenia po krawędzi klifu: za każdy krok odbierany jest 1 pkt, za wejście na zbocze klifu 100 pkt Pytanie: Jaka droga zostanie wybrana w przypadku niedeterminizmu środowiska?

  31. Metoda Actor-Critic - schemat Schemat ogólny: Funkcja Strategii (s,a) (actor) błąd TD -  Funkcja wartości V(s) (critic) stan akcja nagroda Środowisko

  32. 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

  33. Metoda Actor-Critic - zaleta • Zaleta: • W stosunku do standardowego algorytmu z reprezentacją stanów (V(s)) wymaga małego nakładu obliczeniowego przy wyborze akcji

  34. Przybliżenie TD(0) Wartość stanu w danym epizodzie jest modyfikowana tylko na podstawie wartości stanu w następnym kroku: st+1 st r > 0

  35. Inne przybliżenia Można zsumować i wykorzystać wszystkie przybliżenia przyjmując, że im dalsze, tym mniej istotne:

  36. Ś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 cech metod Monte Carlo i TD(0) przez odpowiedni wybór współczynnika świeżości • Znaczne przyspieszenie uczenia w przypadku nagród znacznie oddalonych

  37. Ślady aktywności TD() Sumując elementy w kolumnach i uwzględniając: otrzymujemy:

  38. Ślady aktywności TD() gdzie

  39. Ślady aktywności TD() W każdym kroku modyfikowane są wartości wszystkich stanów lub par [stan,akcja]:

  40. Ś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 all s: end for until s jest stanem końcowym until spełniony warunek końca

  41. Aproksymatory funkcji • Przykłady: • Sztuczne sieci neuronowe wielowarstwowe (MLP) • Sieci RBF • Wielomiany • Zalety: • Oszczędność miejsca przy dużych zbiorach stanów lub par [stan,akcja] • Możliwość uogólniania wiedzy dla stanów pośrednich • Uniknięcie dyskretyzacji w przypadku rzeczywistoliczbowej reprezentacji stanów lub akcji

  42. Aproksymator MLP V(s) Q(s,a) ... ... ... ... ... ... s1 s2 s3 sn s3 sn a s1 s2

  43. Aproksymatory funkcji - definicje Wartości stanów lub par [stan,akcja] reprezentowane są za pomocą funkcji zależnej od parametrów (i): Wektor parametrów: Kryterium optymalizacji: P(s) – rozkład wag błędów dla poszczególnych stanów, V(s) – wartość stanu s dla strategii 

  44. Gradientowa metoda aproksymacji funkcji wartości stanów Przyjmując przybliżenie: Otrzymujemy algorytm aktualizacji wartości stanu: (następny slajd)

  45. Gradientowa metoda aproksymacji funkcji wartości stanów - TD() Zainicjuj  Repeat (dla kolejnych epizodów): Zainicjuj s, dla wszystkich stanów e(s)=0 Repeat (dla kolejnych kroków epizodu): Wybierz i wykonaj akcję a w stanie s zgodnie z przyjętą strategią until s jest stanem końcowym until spełniony warunek końca

  46. Aproksymacja funkcji - wybór akcji z wykorzystaniem strategii -zachłannej for all a A(s) symuluj wykonanie akcji a, obserwuj stan s’ end for z prawdopodobieństwem a’  random(A(s)) Reprezentacja [stan]: for all a A(s) end for z prawdopodobieństwem a’  random(A(s)) Reprezentacja [stan,akcja]:

  47. Aproksymatory funkcji • Najczęściej stosowane typy aproksymatorów: • Wielowarstwowe sieci neuronowe (MLP) • Sieci o radialnej funkcji bazowej (RBF) • Kodowanie przybliżone (coarse coding) • Kodowanie metodą pokryć (CMAC, tile coding)

  48. Aproksymator liniowy Aproksymator liniowy - ogólna postać: - wektor cech wejściowych aproksymatora 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: Licząc po kolejnych wierszach od lewej do prawej wektor cech: y x

More Related