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