RETI NEURALI per il CONTROLLO DI SISTEMI Reinforcement

Apprendimento con rinforzo
RETI NEURALI per il
CONTROLLO DI SISTEMI
RETE
NEURALE
Xk
Yk
Sistema da
controllare
Zk
R
Reinforcement learning
Critico
1
2
Premi e punizioni
• All’inizio si va a tentativi
• Quando un’azione è giusta si modificano i pesi.
Un agente opera in un ambiente e modifica le
azioni in base alle conseguenze prodotte.
AGENTE
•
azione
Feedback
sensoriale
(stato)
rinforzo
AMBIENTE
3
Temporal credit assignment
4
Apprendimento negli scacchi
Come si fa capire quali azioni premiare o punire?
?
220 V
Istante di
scelta
VINTO
Istante di
valutazione
5
perso
VINTO
perso
VINTO
perso
VINTO
6
1
Modello a scatole
Modello a scatole (Michie/Chamber ‘68)
• Apprendimanto basato su punizioni.
BOX 1
Local demon A1
• Si quantizza lo spazio degli stati in N
regioni disgiunte (box).
Global
demon
A2
••
•
An
•
•
• Ogni volta che il sistema entra in uno stato
(box) viene scelta un'azione di controllo.
BOX m
SISTEMA
•
••
Local demon A1
220 V
A2
••
•
An
•
• Il controllore deve imparare a fare l'azione
che più ritarda la punizione.
critico
7
Modello neurale: ASE-ACE
Adaptive Search Element
(Barto-Sutton-Anderson, ‘83)
ASE: Associative Search Element
ACE: Adaptive Critic Element
ACE
8
r
r
x1
x2
Sistema in stato xi
xi = 1
xj = 0 ∀ j ≠ i
ASE
xn
r*
x1
stato
DECODER
xm
y
•
•
•
y
ASE
 n

y( t) = sgn∑ wi xi + n (t) 
 i =1

SISTEMA
•
•
•
n(t) è una variabile gaussiana con
valor medio nullo e varianza σ2
9
Adaptive Search Element
Adaptive Search Element
I pesi dell’ASE sono aggiornati con la seguente legge:
n

y( t) = sgn∑ w i xi + n( t) 
 i =1

L’ASE può generare solo due azioni:
10
∆wi(t) = α r(t) ei(t)
a ++ (y = 1)
a −− (y = 0)
α
è una costante positiva ( learning rate)
r(t)
è il segnale di rinforzo
Quando il sistema è nello stato x i (xi = 1) si ha che:
r(t) =
• se wi = 0,
le
• se wi > 0,
a++ è scelta con maggiore probabilità
• se wi < 0,
a−− è scelta con maggiore probabilità
azioni a ++ e
a−− sono equiprobabili
11
ei(t)
−1
0
in caso di fallimento
altrimenti
è un segnale ( elegibilità) che introduce una
memoria a breve termine sulle sinapsi:
ei(t+1) = δ ei(t) + (1 − δ) y(t) x i (t)
12
2
Adaptive Search Element
Adaptive Search Element
∆wi(t) = α r(t) ei(t)
∆wi(t) = α r(t) ei(t)
ei(t+1) = δ ei(t) + (1 − δ) y(t) x i (t)
ei(t+1) = δ ei(t) + (1 − δ) y(t) x i (t)
Un fallimento (r < 0) riduce la probabilità di
scelta delle azioni recenti che lo hanno causato:
Un successo (r > 0) aumenta la probabilità di
scelta delle azioni recenti che lo hanno causato:
a ++ ⇒ ei(t) > 0 ⇒ ∆wi < 0
a ++ ⇒ ei(t) > 0 ⇒ ∆wi > 0
a −− ⇒ ei(t) < 0 ⇒ ∆wi > 0
a −− ⇒ ei(t) < 0 ⇒ ∆wi < 0
13
14
Elegibilità
Importanza dell’ACE
ei(t+1) = δ ei(t) + (1 − δ) y(t) x i (t)
• Man mano che i fallimenti si riducono, il sistema
tenderebbe ad imparare più lentamente.
∆wi(t) = α r(t) ei(t)
e 1(t)
x1
∆w1 = −α E1
• Allora si introduce un critico adattivo (ACE), che
genera un rinforzo secondario più informativo.
∆w2 = −α E2
• Osservando lo stato del sistema e i fallimenti,
l’ACE impara a prevedere gli stati pericolosi.
x2
e 2(t)
t1 t2
a+ a−−
t3
a+
• Esso genera un premio (r* > 0) se il sistema si
allontana da uno stato pericoloso; una punizione
(r* < 0 ) in caso contrario.
∆wn = −α En
e n(t)
xn
t4
FAIL
15
16
Adaptive Critic Element
x1
x2
p
ACE
xn
•
•
•
γp(t) − p(t-1)
Adaptive Critic Element
r
rinforzo
primario
+
x1
x2
p
ACE
r*
rinforzo
secondario
• L’ACE è addestrato in modo che p(t) converga
verso una previsione del rinforzo primario.
• Quindi, r* viene generato in funzione della
variazione della previsione.
17
xn
•
•
•
γp(t) − p(t-1)
r
rinforzo
primario
+
rinforzo
r* secondario
p =
n
∑ v i xi
i= 1
∆vi (t) = β [r(t) + p(t) − p(t−1)] τi(t)
τi(t+1) = λ τi (t) + (1 − λ) x i (t)
18
3
Rinforzo secondario
Rinforzo secondario
r *(t) = r(t) + γp(t) − p(t−1)
r *(t) = r(t) + γp(t) − p(t−1)
• Se (r = 0) incrementi della previsione si traducono
in premi (r* > 0 ), decrementi in punizioni (r* < 0).
• Se (r = −1),
−1 x i = 0 ∀i, quindi p(t) = 0. Dunque:
– Se il fallimento è stato predetto [p(t−1) = r(t)] si
ha r* = 0, tuttavia le azioni recenti sono state già
punite negli istanti precedenti.
p(t)
t
– Se il fallimento non è stato predetto [p(t−1) = 0]
si ha r* < 0, che comunque genera punizione.
-1
punizione
premio
punizione
19
20
Possibili Applicazioni
•
Pendolo inverso
Studiare l’apprendimento di semplici organismi.
θ
Es: formiche, vermi, topi ...
•
Controllo adattivo di sistemi di cui non sono note
le caratteristiche:
F
Es: pendoli inversi, guida automatica di veicoli
x
21
22
Guida automatica
Tendenze della ricerca
•
•
•
23
Sviluppare circuiti neurali hardware
velocizzare la risposta di reti molto grosse.
per
Studiare meccanismi di apprendimento più robusti
ed efficienti, per il controllo di robot autonomi.
Utilizzare le reti neurali per effettuare previsioni
di eventi sulla base della storia passata.
24
4