Pastiprinājuma vadītas apmācīšanās problēmu risināšana ar neironu tīklu
description
Transcript of Pastiprinājuma vadītas apmācīšanās problēmu risināšana ar neironu tīklu
1/16
Pastiprinājuma vadītas apmācīšanās problēmu
risināšana ar neironu tīklu
Jānis Zuters, 06.08.2012. Ratnieki
Latvijas Universitāte Datorikas fakultāte
Mākslīgā intelekta fonds
2/16
Pastiprinājuma vadīta apmācīšanās(Reinforcement learning, RL)
• Problēmu, nevis algoritmu kopums
• Stāvokļi -> darbības (states -> actions)
• Nav iepriekš zināms, kuras ir pareizās darbības
• Tā vietā pastiprinājums – atlīdzības (rewards) katrā solī
3/16
MDP (Markov Decision Process) –RL problēmas formulēšanai
1 2 3 4
5 6 7
8 9 10 11
Stāvokļi States
↑ ← →
↓
DarbībasActions
-1 -1 -1 10
-1 -1 -10
-1 -1 -1 -1
Pārejas un atlīdzības
Transitions and Rewards
→ → → 10
↑ ↑ -10
↑ → ↑ ←
Politika – problēmas risinājums
Policy – solution to a problem
4/16
Aģenta mijiedarbība ar vidi –RL pamatideja
* A.M. Schaefer, 2008
5/16
RL problēmas risināšana
-1 -1 -1 10
-1 -1 -10
-1 -1 -1 -1
→ → → 10
↑ ↑ -10
↑ → ↑ ←
Problēma
Problem
Politika
Policy
Aģents
Agent
eksperts
Uzraudzītā apmācīšanās
Supervised learning
Pastiprinājuma vadīta apmācīšanās
Reinforcement learning
6/16
RL sistēmas funkcijas
• Vākt paraugus (pēc noteiktas metodikas pārstaigāt stāvokļus vidē)
• Meklēt risinājumu (politiku)
• Exploring/exploiting dilemma
-1 -1 -1 10
-1 -1 -10
-1 -1 -1 -1
7/16
Vērtību funkcijas (value function) pieeja RL problēmu risināšanā
-1 -1 -1 10
-1 -1 -10
-1 -1 -1 -1
10
-10
Vērtību tabula
→ → → 10
↑ ↑ -10
↑ → ↑ ←
• Dynamic programming• Sarsa• Actor-critic methods
8/16
Neironu tīkli RL problēmas risināšanā
10
-10Neironu tīkls kā vērtību funkcija
Neironu tīkls kā pilna RL sistēma
A.M. Schaefer, 2008
9/16
Vienslāņa neironu tīkls ar RL mehānismu
up down left right
input
neurons
10/16
Kāpēc neironu tīkls kā RL problēmas risinātājs
+ Vairāk atbilst RL būtībai
+ Potenciāls plašākas problēmu klases aptveršanā, nav obligāti MDP
+ Potenciāls kļūdu noturībā
– Sarežģītāks un grūtāk kontrolējams algoritms
11/16
RL izaicinājumi un nepieciešamie apmācīšanās mehānismi
• Vēlamo darbību stimulēšanas mehānisms (value function)
• Vai atlīdzība ir liela vai maza? (reinforcement comparison, reference rewards)
• Stāvokļu telpas pārstaigāšanas nejaušības komponente (exploring)
• Skatīšanās vairākus soļus uz priekšu
-1 -1 -1 10
-1 -1 -10
-1 -1 -1 -1
5 5 5 9
5 5 2
5 5 5 5
-5 -5 -5 -2
-5 -5 -10
-5 -5 -5 -5
12/16
rightup down left
1 2 3
4 5
6 7 8 9
s
w
y
x++a
0 0 1 0 0 0 0 0 0xx+
1 2 3
4 5
6 7 8 9
rr+
13/16
Module train_network()λ1 – step-size parameter for input decay (0..1)α3 – step-size parameter for reinforcement cumulation (0..1)
BeginForall input values #i in x Do
If x(i) > X1(i) ThenX1(i) := x(i)
ElseX1(i) := X1(i) · λ1
EndifR(i) := R(i) + α3 · X1(i) · [r - R(i)]
EndforallForall neurons #j Do
train_neuron(j)Endforall
End
Tīkla apmācības algoritms
14/16
Module train_neuron(j)λ2 – step-size parameter for input cumulation (0..1)η – learning rate
BeginForall synapses #i of j Do
If IsWinner(j) And s(i) > X2(j,i) ThenX2(j,i) := s(i)
ElseX2(j,i) := X2(j,i) · λ2
EndifW(j,i) := W(j,i) + [r - R(i)] · X2(j,i) · ηIf W(j,i) > 1 Then
W(j,i) := 1Elseif W(j,i) < 0 Then
W(j,i) := 0Endif
EndforallEnd
Viena neirona apmācīšana
15/16
Izveidotā algoritma spēja risināt RL problēmas
• Vēlamo darbību stimulēšanas mehānisms – algoritms strādā “proof of the concept” līmenī.
• Vai atlīdzība ir liela vai maza? Tiek lietots lokālais reference reward katram ievadam
• Stāvokļu telpas pārstaigāšanas nejaušības komponente – iebūvēta neirona darbināšanas algoritmā
• Skatīšanās vairākus soļus uz priekšu – prot skatīties vairākus soļus uz priekšu
16/16
Algoritma papildināšana