SPOTKANIE 11: Reinforcement learning
Transkrypt
SPOTKANIE 11: Reinforcement learning
Wrocław University of Technology SPOTKANIE 11: Reinforcement learning Adam Gonczarek Studenckie Koło Naukowe ”Estymator” [email protected] 19.01.2016 Uczenie z nadzorem (ang. supervised learning ) – na podstawie obserwacji świata st algorytm generuje decyzję at 2/29 Problem wielorękiego bandyty (ang. multi-armed bandit) – algorytm generuje decyzję at , świat ją ocenia i generuje nagrodę Rt 2/29 Problem wielorękiego bandyty z kontekstem (ang. contextual multi-armed bandit) – na podstawie obserwacji świata st algorytm generuje decyzję at , świat ją ocenia i generuje nagrodę Rt 2/29 Uczenie ze wzmocnieniem (ang. reinforcement learning ) – na podstawie obserwacji świata st algorytm generuje decyzję at , świat ją ocenia i generuje nagrodę Rt , decyzja zmienia stan świata na st+1 2/29 Przykłady zastosowań Programowanie robotów Sterowanie produkcją Boty do gier HCI Zarządzanie portfelem Badania operacyjne Sterowanie pojazdami 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 st generowany jest z rozkładu zależnego od poprzedniego stanu i decyzji algorytmu st+1 ∼ p(st+1 |st , at ) 5/29 Model świata Stan świata st generowany jest z rozkładu zależnego od poprzedniego stanu i decyzji algorytmu st+1 ∼ p(st+1 |st , at ) Nagroda (ang. reward) Rt generowana jest z rozkładu zależnego od stanu i decyzji algorytmu Rt+1 ∼ p(Rt+1 |st , at ) 5/29 Model świata Stan świata st generowany jest z rozkładu zależnego od poprzedniego stanu i decyzji algorytmu st+1 ∼ p(st+1 |st , at ) Nagroda (ang. reward) Rt generowana jest z rozkładu zależnego od stanu i decyzji algorytmu Rt+1 ∼ p(Rt+1 |st , at ) Świat modelujemy np. za pomocą tensorów/macierzy: a 0 Pss 0 = p(st+1 = s |st = s, at = a) Ras = E [Rt+1 |st = s, at = a] 5/29 Taktyka Taktyką π nazywamy rozkład decyzji warunkowany danym stanem świata: at ∼ p(at |st ) 6/29 Taktyka Taktyką π nazywamy rozkład decyzji warunkowany danym stanem świata: at ∼ p(at |st ) Taktykę możemy modelować np. za pomocą macierzy: π(a|s) = p(at = a|st = s) 6/29 Zwrot Zwrotem (ang. return) Gt nazywamy całkowitą zdyskontowaną nagrodę w kroku t Gt = Rt+1 + γRt+2 + γ 2 Rt+3 + . . . = ∞ X γ i Rt+i+1 i=0 7/29 Zwrot Zwrotem (ang. return) Gt nazywamy całkowitą zdyskontowaną nagrodę w kroku t Gt = Rt+1 + γRt+2 + γ 2 Rt+3 + . . . = ∞ X γ i Rt+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) Gt nazywamy całkowitą zdyskontowaną nagrodę w kroku t Gt = Rt+1 + γRt+2 + γ 2 Rt+3 + . . . = ∞ X γ i Rt+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) Gt nazywamy całkowitą zdyskontowaną nagrodę w kroku t Gt = Rt+1 + γRt+2 + γ 2 Rt+3 + . . . = ∞ X γ i Rt+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π [Gt |st = s] 8/29 Funkcja oceny Funkcją oceny stanu (ang. state-value function) nazywamy oczekiwany zwrot w danym stanie przy obraniu taktyki π: vπ (s) = Eπ [Gt |st = 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π [Gt |st = s, at = a] 8/29 Proces Decyzyjny Markowa (MDP) Procesem Decyzyjnym Markowa (ang. Markov Decision a a Process) nazywamy piątkę hS, A, Pss 0 , Rs , γi 9/29 Proces Decyzyjny Markowa (MDP) Procesem Decyzyjnym Markowa (ang. Markov Decision a a Process) nazywamy piątkę hS, A, Pss 0 , Rs , γi S – skończony zbiór stanów świata 9/29 Proces Decyzyjny Markowa (MDP) Procesem Decyzyjnym Markowa (ang. Markov Decision a a Process) nazywamy piątkę hS, A, Pss 0 , Rs , γi 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 a a Process) nazywamy piątkę hS, A, Pss 0 , Rs , γi S – skończony zbiór stanów świata A – skończony zbiór decyzji a Pss 0 – tensor prawdopodobieństw modelujący dynamikę świata 9/29 Proces Decyzyjny Markowa (MDP) Procesem Decyzyjnym Markowa (ang. Markov Decision a a Process) nazywamy piątkę hS, A, Pss 0 , Rs , γi S – skończony zbiór stanów świata A – skończony zbiór decyzji a Pss 0 – tensor prawdopodobieństw modelujący dynamikę świata Ras – macierz nagród dla par stan-decyzja 9/29 Proces Decyzyjny Markowa (MDP) Procesem Decyzyjnym Markowa (ang. Markov Decision a a Process) nazywamy piątkę hS, A, Pss 0 , Rs , γi S – skończony zbiór stanów świata A – skończony zbiór decyzji a Pss 0 – tensor prawdopodobieństw modelujący dynamikę świata Ras – 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(st+1 = s0 |st = s, at = a) ∈ {0, 1} 10/29 MDP – przykład Zakładamy, że nagroda Rt 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: h vπ (s) = Eπ Rt+1 + γRt+2 + γ 2 Rt+3 + . . . |st = s i = Eπ [Rt+1 + γvπ (st+1 )|st = s] 11/29 Równanie Bellmana Funkcja oceny stanu może być zdekomponowana na natychmiastową wypłatę i funkcję oceny w następnym stanie: h vπ (s) = Eπ Rt+1 + γRt+2 + γ 2 Rt+3 + . . . |st = s i = Eπ [Rt+1 + γvπ (st+1 )|st = s] Podobny wyrażenie zachodzi dla funkcji oceny decyzji: qπ (s, a) = Eπ [Rt+1 + γqπ (st+1 , at+1 )|st = s, at = a] 11/29 Równanie Bellmana (2) Zachodzi następująca zależność: vπ (s) = Eπ [Rt+1 + γvπ (st+1 )|st = s] # " = X π(a|s) Ras +γ X a = X s0 π(a|s)Ras a | 0 a Pss 0 vπ (s ) +γ XX a s0 {z Rπ (s) } a 0 π(a|s)Pss 0 vπ (s ) | {z P π (s,s0 ) } 12/29 Równanie Bellmana (2) Zachodzi następująca zależność: vπ (s) = Eπ [Rt+1 + γvπ (st+1 )|st = s] # " = X π(a|s) Ras +γ X a = X s0 π(a|s)Ras a | 0 a Pss 0 vπ (s ) +γ XX a s0 {z Rπ (s) } a 0 π(a|s)Pss 0 vπ (s ) | {z P π (s,s0 ) } 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) = XX a = XX a 0 a a π(a|s)Pss 0 [Rs + γvπ (s )] s0 p(s0 , a|s) [Ras + γvπ (s0 )] s0 = Es0 ,a [R + γvπ (s0 )|s] 13/29 Równanie Bellmana (3) Równanie możemy zapisać także w postaci: vπ (s) = XX a = XX a 0 a a π(a|s)Pss 0 [Rs + γvπ (s )] s0 p(s0 , a|s) [Ras + γvπ (s0 )] s0 = Es0 ,a [R + γvπ (s0 )|s] Podobnie dla funkcji oceny decyzji q: qπ (s, a) = Es0 ,a0 [R + γqπ (s0 , a0 )|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 π∗ (a|s) = jeśli a = arg maxa q∗ (s, a) 0 w.p.p. 16/29 Równanie optymalności Bellmana Dla optymalnej funkcji oceny stanu zachodzi następująca rekurencja: v∗ (s) = max q∗ (s, a) a # " = max Ras + γ a X 0 a Pss 0 v∗ (s ) s0 = max Es0 [Ras + γv∗ (s0 )|s, a] a 17/29 Równanie optymalności Bellmana Dla optymalnej funkcji oceny stanu zachodzi następująca rekurencja: v∗ (s) = max q∗ (s, a) a # " = max Ras + γ X a 0 a Pss 0 v∗ (s ) s0 = max Es0 [Ras + γv∗ (s0 )|s, a] a Podobnie dla optymalnej funkcji oceny decyzji: q∗ (s, a) = Es0 Ras 0 0 + γ max q∗ (s , a )|s, a 0 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: 1020 stanów Szachy: 1047 stanów Sterowanie robotem: ciągła przestrzeń stanów 21/29 Problemy wielkiej skali W praktycznych problemach przestrzeń S jest olbrzymia Warcaby: 1020 stanów Szachy: 1047 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: 1020 stanów Szachy: 1047 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: h i 1 J(θ) = Es,a (qπ (s, a) − q(s, a; θ))2 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: h i 1 J(θ) = Es,a (qπ (s, a) − q(s, a; θ))2 2 Liczymy gradient kryterium uczenia: ∇θ J(θ) = −Es,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(θ) = −Es,a [(qπ (s, a) − q(s, a; θ))∇θ q(s, a; θ)] = −Es,a [(Es0 ,a0 [R + γqπ (s0 , a0 )|s, a] − q(s, a; θ))∇θ q(s, a; θ)] = −Es,a,s0 ,a0 [(R + γqπ (s0 , a0 ) − q(s, a; θ))∇θ q(s, a; θ)] ≈ −Es,a,s0 ,a0 [(R + γq(s0 , a0 ; θ) − 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(θ) = −Es,a [(qπ (s, a) − q(s, a; θ))∇θ q(s, a; θ)] = −Es,a [(Es0 ,a0 [R + γqπ (s0 , a0 )|s, a] − q(s, a; θ))∇θ q(s, a; θ)] = −Es,a,s0 ,a0 [(R + γqπ (s0 , a0 ) − q(s, a; θ))∇θ q(s, a; θ)] ≈ −Es,a,s0 ,a0 [(R + γq(s0 , a0 ; θ) − q(s, a; θ))∇θ q(s, a; θ)] Alternatywnie korzystając z równania optymalności Bellmana mamy: h i 0 0 ∇θ J(θ) ≈ −Es,a,s0 (R + γ max q(s , a ; θ) − q(s, a; θ))∇ q(s, a; θ) θ 0 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, s0 , a0 : θ ← θ + η(R + γq(s0 , a0 ; θ) − 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, s0 , a0 : θ ← θ + η(R + γq(s0 , a0 ; θ) − q(s, a; θ))∇θ q(s, a; θ) Do generowania decyzji a, a0 stosuje się taktykę zachłanną albo -zachłanną (ang. -greedy ): π(a|s) = /m + 1 − /m jeśli a = arg maxa q(s, a; θ) 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, s0 , a0 : θ ← θ + η(R + γq(s0 , a0 ; θ) − q(s, a; θ))∇θ q(s, a; θ) Do generowania decyzji a, a0 stosuje się taktykę zachłanną albo -zachłanną (ang. -greedy ): π(a|s) = /m + 1 − /m jeśli a = arg maxa q(s, a; θ) 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, s0 : θ ← θ + η(R + γ max q(s0 , a0 ; θ) − q(s, a; θ))∇θ q(s, a; θ) 0 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, s0 : θ ← θ + η(R + γ max q(s0 , a0 ; θ) − q(s, a; θ))∇θ q(s, a; θ) 0 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