Wrocław University of Technology SPOTKANIE 11: Reinforcement learning Adam Gonczarek Studenckie Koło Naukowe Estymator adam.gonczarek@pwr.edu.pl 19.01.2016
Uczenie z nadzorem (ang. supervised learning) na podstawie obserwacji świata s t algorytm generuje decyzję a t 2/29
Problem wielorękiego bandyty (ang. multi-armed bandit) algorytm generuje decyzję a t, świat ją ocenia i generuje nagrodę R t 2/29
Problem wielorękiego bandyty z kontekstem (ang. contextual multi-armed bandit) na podstawie obserwacji świata s t algorytm generuje decyzję a t, świat ją ocenia i generuje nagrodę R t 2/29
Uczenie ze wzmocnieniem (ang. reinforcement learning) na podstawie obserwacji świata s t algorytm generuje decyzję a t, świat ją ocenia i generuje nagrodę R t, decyzja zmienia stan świata na s t+1 2/29
Przykłady zastosowań Programowanie robotów Boty do gier Zarządzanie portfelem Sterowanie pojazdami Sterowanie produkcją HCI Badania operacyjne Reklamy online 3/29
Podstawowe pojęcia Algorytm (agent) uczenia z wzmocnieniem podczas swojego działania korzysta co najmniej z jednej z następujących informacji: 4/29
Podstawowe pojęcia Algorytm (agent) uczenia z wzmocnieniem podczas swojego działania korzysta co najmniej z jednej z następujących informacji: Model świata opis sposobu reakcji świata na decyzje podejmowane przez algorytm 4/29
Podstawowe pojęcia Algorytm (agent) uczenia z wzmocnieniem podczas swojego działania korzysta co najmniej z jednej z następujących informacji: Model świata opis sposobu reakcji świata na decyzje podejmowane przez algorytm Taktyka (ang. policy) funkcja/rozkład reprezentujący sposób podejmowania decyzji przez algorytm 4/29
Podstawowe pojęcia Algorytm (agent) uczenia z wzmocnieniem podczas swojego działania korzysta co najmniej z jednej z następujących informacji: Model świata opis sposobu reakcji świata na decyzje podejmowane przez algorytm Taktyka (ang. policy) funkcja/rozkład reprezentujący sposób podejmowania decyzji przez algorytm Funkcja oceny (ang. value function) funkcja oceniająca jak dobre są dany stan i/lub decyzja 4/29
Model świata Stan świata s t generowany jest z rozkładu zależnego od poprzedniego stanu i decyzji algorytmu s t+1 p(s t+1 s t, a t ) 5/29
Model świata Stan świata s t generowany jest z rozkładu zależnego od poprzedniego stanu i decyzji algorytmu s t+1 p(s t+1 s t, a t ) Nagroda (ang. reward) R t generowana jest z rozkładu zależnego od stanu i decyzji algorytmu R t+1 p(r t+1 s t, a t ) 5/29
Model świata Stan świata s t generowany jest z rozkładu zależnego od poprzedniego stanu i decyzji algorytmu s t+1 p(s t+1 s t, a t ) Nagroda (ang. reward) R t generowana jest z rozkładu zależnego od stanu i decyzji algorytmu R t+1 p(r t+1 s t, a t ) Świat modelujemy np. za pomocą tensorów/macierzy: P a ss = p(s t+1 = s s t = s, a t = a) R a s = E [R t+1 s t = s, a t = a] 5/29
Taktyka Taktyką π nazywamy rozkład decyzji warunkowany danym stanem świata: a t p(a t s t ) 6/29
Taktyka Taktyką π nazywamy rozkład decyzji warunkowany danym stanem świata: a t p(a t s t ) Taktykę możemy modelować np. za pomocą macierzy: π(a s) = p(a t = a s t = s) 6/29
Zwrot Zwrotem (ang. return) G t nazywamy całkowitą zdyskontowaną nagrodę w kroku t G t = R t+1 + γr t+2 + γ 2 R t+3 +... = γ i R t+i+1 i=0 7/29
Zwrot Zwrotem (ang. return) G t nazywamy całkowitą zdyskontowaną nagrodę w kroku t G t = R t+1 + γr t+2 + γ 2 R t+3 +... = γ i R t+i+1 i=0 Stopa dyskontowa (ang. discount) γ [0, 1] to procentowa bieżąca wartość przyszłych nagród 7/29
Zwrot Zwrotem (ang. return) G t nazywamy całkowitą zdyskontowaną nagrodę w kroku t G t = R t+1 + γr t+2 + γ 2 R t+3 +... = γ i R t+i+1 i=0 Stopa dyskontowa (ang. discount) γ [0, 1] to procentowa bieżąca wartość przyszłych nagród γ blisko 0 zależy nam na krótkoterminowym zysku 7/29
Zwrot Zwrotem (ang. return) G t nazywamy całkowitą zdyskontowaną nagrodę w kroku t G t = R t+1 + γr t+2 + γ 2 R t+3 +... = γ i R t+i+1 i=0 Stopa dyskontowa (ang. discount) γ [0, 1] to procentowa bieżąca wartość przyszłych nagród γ blisko 0 zależy nam na krótkoterminowym zysku γ blisko 1 zależy nam na odległych zyskach 7/29
Funkcja oceny Funkcją oceny stanu (ang. state-value function) nazywamy oczekiwany zwrot w danym stanie przy obraniu taktyki π: v π (s) = E π [G t s t = s] 8/29
Funkcja oceny Funkcją oceny stanu (ang. state-value function) nazywamy oczekiwany zwrot w danym stanie przy obraniu taktyki π: v π (s) = E π [G t s t = s] Funkcją oceny decyzji (ang. action-value function) nazywamy oczekiwany zwrot w danym stanie i przy danej decyzji, przy obraniu taktyki π: q π (s, a) = E π [G t s t = s, a t = a] 8/29
Proces Decyzyjny Markowa (MDP) Procesem Decyzyjnym Markowa (ang. Markov Decision Process) nazywamy piątkę S, A, P a ss, Ra s, γ 9/29
Proces Decyzyjny Markowa (MDP) Procesem Decyzyjnym Markowa (ang. Markov Decision Process) nazywamy piątkę S, A, P a ss, Ra s, γ S skończony zbiór stanów świata 9/29
Proces Decyzyjny Markowa (MDP) Procesem Decyzyjnym Markowa (ang. Markov Decision Process) nazywamy piątkę S, A, P a ss, Ra s, γ S skończony zbiór stanów świata A skończony zbiór decyzji 9/29
Proces Decyzyjny Markowa (MDP) Procesem Decyzyjnym Markowa (ang. Markov Decision Process) nazywamy piątkę S, A, P a ss, Ra s, γ S skończony zbiór stanów świata A skończony zbiór decyzji Pss a tensor prawdopodobieństw modelujący dynamikę świata 9/29
Proces Decyzyjny Markowa (MDP) Procesem Decyzyjnym Markowa (ang. Markov Decision Process) nazywamy piątkę S, A, P a ss, Ra s, γ S skończony zbiór stanów świata A skończony zbiór decyzji Pss a tensor prawdopodobieństw modelujący dynamikę świata R a s macierz nagród dla par stan-decyzja 9/29
Proces Decyzyjny Markowa (MDP) Procesem Decyzyjnym Markowa (ang. Markov Decision Process) nazywamy piątkę S, A, P a ss, Ra s, γ S skończony zbiór stanów świata A skończony zbiór decyzji Pss a tensor prawdopodobieństw modelujący dynamikę świata R a s macierz nagród dla par stan-decyzja γ stopa dyskontowa z przedziału [0, 1] 9/29
MDP przykład Zakładamy pewien model świata 10/29
MDP przykład Dla każdego stanu mamy zbiór dopuszczalnych decyzji 10/29
MDP przykład Zakładamy, że p(s t+1 = s s t = s, a t = a) {0, 1} 10/29
MDP przykład Zakładamy, że nagroda R t związana jest ze stanem 10/29
MDP przykład Możemy przyjąć pewną taktykę π(a s) 10/29
MDP przykład Jak policzyć funkcję oceny? 10/29
Równanie Bellmana Funkcja oceny stanu może być zdekomponowana na natychmiastową wypłatę i funkcję oceny w następnym stanie: [ v π (s) = E π Rt+1 + γr t+2 + γ 2 R t+3 +... s t = s ] = E π [R t+1 + γv π (s t+1 ) s t = s] 11/29
Równanie Bellmana Funkcja oceny stanu może być zdekomponowana na natychmiastową wypłatę i funkcję oceny w następnym stanie: [ v π (s) = E π Rt+1 + γr t+2 + γ 2 R t+3 +... s t = s ] = E π [R t+1 + γv π (s t+1 ) s t = s] Podobny wyrażenie zachodzi dla funkcji oceny decyzji: q π (s, a) = E π [R t+1 + γq π (s t+1, a t+1 ) s t = s, a t = a] 11/29
Równanie Bellmana (2) Zachodzi następująca zależność: v π (s) = E π [R t+1 + γv π (s t+1 ) s t = s] [ = π(a s) R a s + γ Pss a v π(s ) a s = π(a s)r a s +γ π(a s)pss a v π (s ) a }{{} s a }{{} R π (s) P π (s,s ) ] 12/29
Równanie Bellmana (2) Zachodzi następująca zależność: v π (s) = E π [R t+1 + γv π (s t+1 ) s t = s] [ = π(a s) R a s + γ Pss a v π(s ) a s = π(a s)r a s +γ π(a s)pss a v π (s ) a }{{} s a }{{} R π (s) P π (s,s ) Dostajemy następujące wektorowe równanie: v π = R π + γp π v π które ma analityczne rozwiązanie: v π = (I γp π ) 1 R π ] 12/29
Równanie Bellmana (3) Równanie możemy zapisać także w postaci: v π (s) = π(a s)pss a [Ra s + γv π (s )] a s = p(s, a s) [R a s + γv π (s )] a s = E s,a [R + γv π (s ) s] 13/29
Równanie Bellmana (3) Równanie możemy zapisać także w postaci: v π (s) = π(a s)pss a [Ra s + γv π (s )] a s = p(s, a s) [R a s + γv π (s )] a s = E s,a [R + γv π (s ) s] Podobnie dla funkcji oceny decyzji q: q π (s, a) = E s,a [R + γq π(s, a ) s, a] 13/29
MDP przykład (2) Funkcja oceny stanu v π dla γ = 0 14/29
MDP przykład (2) Funkcja oceny stanu v π dla γ = 0.1 14/29
MDP przykład (2) Funkcja oceny stanu v π dla γ = 0.9 14/29
MDP przykład (2) Funkcja oceny stanu v π dla γ = 1 14/29
Optymalna funkcja oceny Optymalną funkcją oceny stanu (ang. optimal state-value function) nazywamy maksimum z funkcji oceny stanu dla wszystkich taktyk π: v (s) = max v π (s) π 15/29
Optymalna funkcja oceny Optymalną funkcją oceny stanu (ang. optimal state-value function) nazywamy maksimum z funkcji oceny stanu dla wszystkich taktyk π: v (s) = max v π (s) π Optymalną funkcją oceny decyzji (ang. optimal action-value function) nazywamy maksimum z funkcji oceny decyzji dla wszystkich taktyk π: q (s, a) = max q π (s, a) π 15/29
Optymalna taktyka Dla każdego MDP istnieje optymalna taktyka (ang. optimal policy) π taka, że: v π (s) = v (s) q π (s, a) = q (s, a) 16/29
Optymalna taktyka Dla każdego MDP istnieje optymalna taktyka (ang. optimal policy) π taka, że: v π (s) = v (s) q π (s, a) = q (s, a) Gdy znamy wartości q (s, a) wtedy optymalna taktyka ma postać: 1 jeśli a = arg max a q (s, a) π (a s) = 0 w.p.p. 16/29
Równanie optymalności Bellmana Dla optymalnej funkcji oceny stanu zachodzi następująca rekurencja: v (s) = max a = max a q (s, a) [ R a s + γ s P a ss v (s ) = max E s [R a a s + γv (s ) s, a] ] 17/29
Równanie optymalności Bellmana Dla optymalnej funkcji oceny stanu zachodzi następująca rekurencja: v (s) = max a = max a q (s, a) [ R a s + γ s P a ss v (s ) = max E s [R a a s + γv (s ) s, a] ] Podobnie dla optymalnej funkcji oceny decyzji: q (s, a) = E s [ R a s + γ max a ] q (s, a ) s, a 17/29
MDP przykład (3) Optymalna funkcja oceny stanu v (s) dla γ = 1 18/29
MDP przykład (3) Optymalna taktyka π (a s) 18/29
Dwa fundamentalne problemy 1. Planowanie (ang. planning) Znany jest model świata Algorytm wykonuje obliczenia w oparciu o model Celem jest znalezienie optymalnej taktyki 19/29
Dwa fundamentalne problemy 1. Planowanie (ang. planning) Znany jest model świata Algorytm wykonuje obliczenia w oparciu o model Celem jest znalezienie optymalnej taktyki 2. Uczenie ze wzmocnieniem Nie znamy modelu świata Obliczenia w oparciu o obserwacje świata Celem jest znalezienie optymalnej taktyki 19/29
Podejścia do uczenia ze wzmocnieniem 1. Oparte na taktyce (ang. policy-based RL) Szukamy bezpośrednio optymalnej taktyki π (a s) 20/29
Podejścia do uczenia ze wzmocnieniem 1. Oparte na taktyce (ang. policy-based RL) Szukamy bezpośrednio optymalnej taktyki π (a s) 2. Oparte na funkcji oceny (ang. value-based RL) Estymujemy optymalną funkcję oceny akcji q (s, a) Na jej podstawie wyznaczamy optymalną taktykę 20/29
Podejścia do uczenia ze wzmocnieniem 1. Oparte na taktyce (ang. policy-based RL) Szukamy bezpośrednio optymalnej taktyki π (a s) 2. Oparte na funkcji oceny (ang. value-based RL) Estymujemy optymalną funkcję oceny akcji q (s, a) Na jej podstawie wyznaczamy optymalną taktykę 3. Oparte na modelu świata (ang. model-based RL) Uczymy się modelu świata Na jego podstawie robimy planowanie 20/29
Problemy wielkiej skali W praktycznych problemach przestrzeń S jest olbrzymia Warcaby: 10 20 stanów Szachy: 10 47 stanów Sterowanie robotem: ciągła przestrzeń stanów 21/29
Problemy wielkiej skali W praktycznych problemach przestrzeń S jest olbrzymia Warcaby: 10 20 stanów Szachy: 10 47 stanów Sterowanie robotem: ciągła przestrzeń stanów Nie jest wtedy możliwe modelowanie każdej kombinacji stanów i decyzji przy pomocy macierzy/tensorów 21/29
Problemy wielkiej skali W praktycznych problemach przestrzeń S jest olbrzymia Warcaby: 10 20 stanów Szachy: 10 47 stanów Sterowanie robotem: ciągła przestrzeń stanów Nie jest wtedy możliwe modelowanie każdej kombinacji stanów i decyzji przy pomocy macierzy/tensorów Trzeba zaproponować inne modele odpowiednio dla: taktyki, funkcji oceny lub modelu świata Modele liniowe Sieci neuronowe Procesy Gaussa Drzewa decyzyjne... 21/29
Aproksymacja funkcji oceny Zakładamy, że rzeczywistą (nieznaną) funkcję oceny decyzji przybliżamy modelem opisanym przez θ: q π (s, a) q(s, a; θ) 22/29
Aproksymacja funkcji oceny Zakładamy, że rzeczywistą (nieznaną) funkcję oceny decyzji przybliżamy modelem opisanym przez θ: q π (s, a) q(s, a; θ) Kryterium uczenia definiujemy jako błąd śreniokwadratowy: J(θ) = 1 2 E s,a [ (qπ (s, a) q(s, a; θ)) 2] 22/29
Aproksymacja funkcji oceny Zakładamy, że rzeczywistą (nieznaną) funkcję oceny decyzji przybliżamy modelem opisanym przez θ: q π (s, a) q(s, a; θ) Kryterium uczenia definiujemy jako błąd śreniokwadratowy: J(θ) = 1 2 E s,a [ (qπ (s, a) q(s, a; θ)) 2] Liczymy gradient kryterium uczenia: θ J(θ) = E s,a [(q π (s, a) q(s, a; θ)) θ q(s, a; θ)] 22/29
Aproksymacja gradientu Rzeczywistą q π (s, a) możemy przybliżyć na wiele sposobów. Tutaj skorzystamy z równań Bellmana. 23/29
Aproksymacja gradientu Rzeczywistą q π (s, a) możemy przybliżyć na wiele sposobów. Tutaj skorzystamy z równań Bellmana. Korzystając z równania Bellmana mamy: θ J(θ) = E s,a [(q π (s, a) q(s, a; θ)) θ q(s, a; θ)] = E s,a [(E s,a [R + γq π(s, a ) s, a] q(s, a; θ)) θ q(s, a; θ)] = E s,a,s,a [(R + γq π(s, a ) q(s, a; θ)) θ q(s, a; θ)] E s,a,s,a [(R + γq(s, a ; θ) q(s, a; θ)) θ q(s, a; θ)] 23/29
Aproksymacja gradientu Rzeczywistą q π (s, a) możemy przybliżyć na wiele sposobów. Tutaj skorzystamy z równań Bellmana. Korzystając z równania Bellmana mamy: θ J(θ) = E s,a [(q π (s, a) q(s, a; θ)) θ q(s, a; θ)] = E s,a [(E s,a [R + γq π(s, a ) s, a] q(s, a; θ)) θ q(s, a; θ)] = E s,a,s,a [(R + γq π(s, a ) q(s, a; θ)) θ q(s, a; θ)] E s,a,s,a [(R + γq(s, a ; θ) q(s, a; θ)) θ q(s, a; θ)] Alternatywnie korzystając z równania optymalności Bellmana mamy: [ ] θ J(θ) E s,a,s (R + γ max q(s, a ; θ) q(s, a; θ)) θ q(s, a; θ) a 23/29
Algorytm SARSA Algorytm SARSA korzysta z aproksymacji gradientu przy pomocy równania Bellmana 24/29
Algorytm SARSA Algorytm SARSA korzysta z aproksymacji gradientu przy pomocy równania Bellmana Do optymalizacji używamy algorytmu SGD, przybliżając wartość oczekiwaną pojedynczą próbką s, a, s, a : θ θ + η(r + γq(s, a ; θ) q(s, a; θ)) θ q(s, a; θ) 24/29
Algorytm SARSA Algorytm SARSA korzysta z aproksymacji gradientu przy pomocy równania Bellmana Do optymalizacji używamy algorytmu SGD, przybliżając wartość oczekiwaną pojedynczą próbką s, a, s, a : θ θ + η(r + γq(s, a ; θ) q(s, a; θ)) θ q(s, a; θ) Do generowania decyzji a, a stosuje się taktykę zachłanną albo ɛ-zachłanną (ang. ɛ-greedy): ɛ/m + 1 ɛ jeśli a = arg max a q(s, a; θ) π(a s) = ɛ/m w.p.p. 24/29
Algorytm SARSA Algorytm SARSA korzysta z aproksymacji gradientu przy pomocy równania Bellmana Do optymalizacji używamy algorytmu SGD, przybliżając wartość oczekiwaną pojedynczą próbką s, a, s, a : θ θ + η(r + γq(s, a ; θ) q(s, a; θ)) θ q(s, a; θ) Do generowania decyzji a, a stosuje się taktykę zachłanną albo ɛ-zachłanną (ang. ɛ-greedy): ɛ/m + 1 ɛ jeśli a = arg max a q(s, a; θ) π(a s) = ɛ/m w.p.p. Taktyka ɛ-zachłanna pozwala zachować balans między eksploracją i eksploatacją (ang. exploration exploitation trade-off ) 24/29
Algorytm Q-learning Algorytm Q-learning korzysta z aproksymacji gradientu przy pomocy równania optymalności Bellmana 25/29
Algorytm Q-learning Algorytm Q-learning korzysta z aproksymacji gradientu przy pomocy równania optymalności Bellmana Do optymalizacji używamy algorytmu SGD, przybliżając wartość oczekiwaną pojedynczą próbką s, a, s : θ θ + η(r + γ max a q(s, a ; θ) q(s, a; θ)) θ q(s, a; θ) 25/29
Algorytm Q-learning Algorytm Q-learning korzysta z aproksymacji gradientu przy pomocy równania optymalności Bellmana Do optymalizacji używamy algorytmu SGD, przybliżając wartość oczekiwaną pojedynczą próbką s, a, s : θ θ + η(r + γ max a q(s, a ; θ) q(s, a; θ)) θ q(s, a; θ) Do generowania decyzji a stosuje się taktykę ɛ-zachłanną (ang. ɛ-greedy): 25/29
Przykład - gry na Atari Mnih et al. Human-level control through deep reinforcement learning. Nature 518, 529 533, 2015 26/29
Przykład (2) Zastosowano wersję algorytmu Q-learning. Jako model q(s, a; θ) użyto głęboką sieć konwolucyjną (ang. deep covolutional neural network). 27/29
Przykład (3) 28/29
Podsumowanie Połączenie algorytmów RL i modeli nieliniowych prowadzi często do problemów ze zbieżnością i/lub silnych oscylacji algorytmu uczącego. Wymaga to umiejętnej implementacji, w szczególności dekorelowania danych. 29/29
Podsumowanie Połączenie algorytmów RL i modeli nieliniowych prowadzi często do problemów ze zbieżnością i/lub silnych oscylacji algorytmu uczącego. Wymaga to umiejętnej implementacji, w szczególności dekorelowania danych. Rozwój technik uczenia ze wzmocnieniem jest kluczowym elementem do stworzenia sztucznej inteligencji. 29/29