pastiprinājuma vadītas apmācīšanās problēmu risināšana ar neironu tīklu
DESCRIPTION
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. Pastiprinājuma vadīta apmācīšanās ( Reinforcement learning, RL ). Problēmu, nevis algoritmu kopums - PowerPoint PPT PresentationTRANSCRIPT
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