Apprendimento per Rinforzo

Transcript

Apprendimento per Rinforzo
Apprendimento per Rinforzo
Corso di Apprendimento Automatico
Laurea Magistrale in Informatica
Nicola Fanizzi
Dipartimento di Informatica
Università degli Studi di Bari
11 febbraio 2009
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Sommario
Apprendimento del Controllo
Politiche di Controllo che scelgono azioni ottimali
Q-learning
Convergenza
Estensioni
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Apprendimento del Controllo I
Si consideri di imparare a scegliere azioni da intraprendere, es.,
Robot che impara a parcheggiare sulla postazione di
ricarica delle batterie
Imparare a scegliere azioni in modo da ottimizzare la
produzione di una fabbrica
Imparare a giocare a giochi come scacchi, dama,
backgammon, ...
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Apprendimento del Controllo II
Osservazioni
Si notino diverse caratteristiche del problema rispetto alle altre
forme di learning trattate:
Ricompensa differita
Opportunità di esplorazione attiva
Possibilitïà di stati solo parzialmente osservabili
Possibilità di dover apprendere compiti multipli tramite gli
stessi sensori/effettuatori
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Esempio: TD-Gammon
Obiettivo: Imparare a giocare a Backgammon
Ricompensa immediata
+100 se si vince
−100 se si perde
0 per tutti gli altri stati
Sistema addestrato giocando 1.5M partite contro se stesso
Alla fine il sistema risulta avere approssimativamente
prestazioni paragonabili al miglior giocatore umano
[Tesauro, 1995]
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Problema dell’Apprendimento per Rinforzo
agente
stato
azione
ricompensa
ambiente
Obiettivo: scegliere le azioni che massimizzino
dove
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Processi di decisione di Markov (MDP)
Si assuma:
un insieme di stati S finito
un insieme di azioni A
ad ogni istante discreto
l’agente osserva lo stato st ∈ S e sceglie l’azione at ∈ A
quindi riceve una ricompensa immediata rt
e lo stato corrente diventa st+1
Assunzione di Markov: st+1 = δ(st , at ) e rt = r (st , at )
ossia, rt e st+1 dipendono solo dallo stato corrente e
dall’azione intrapresa
le funzioni δ e r potrebbe non essere deterministica
le funzioni δ e r non sono necessariamente note all’agente
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Compito di apprendimento per l’agente
Si eseguono le azioni nell’ambiente, si osservano i risultati e
si impara una politica di azioni π : S → A che massimizzi
E[rt + γrt+1 + γ 2 rt+2 + . . .]
a partire da qualunque stato di partenza in S
qui 0 ≤ γ < 1 è il tasso di sconto per ricompensa future
Novità
Funzione obiettivo π : S → A
ma non ci sono esempi di training del tipo hs, ai
bensi gli esempi di training sono invece del tipo hhs, ai, r i
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Funzione di valutazione
Per cominciare si considerino mondi deterministici ...
Per ogni possibile politica π che l’agente potrebbe adottare, si
può definire una funzione di valutazione sull’insieme degli
stati
V π (s) ≡ rt + γrt+1 + γ 2 rt+2 + ...
∞
X
≡
γ i rt+i
i=0
dove le rt , rt+1 , . . . sono generate seguendo la politica π a
partire dallo stato s
In altri termini,
il task consiste nell’apprendere la politica ottimale π ∗
π ∗ ≡ argmax V π (s)
∀s
π
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Valori di r(s,a) (ricompensa immediata)
Valori di Q(s,a)
Valori di V*(s)
Strategia ottimale
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Cosa imparare
Si può provare a far imparare la funzione di valutazione V π
(che si denoter anche V ∗ )
∗
Si può operare una ricerca in avanti (lookahead) per scegliere
la migliore azione a partire da ogni stato s poiché
π ∗ (s) = argmax[r (s, a) + γV ∗ (δ(s, a))]
a
Problema:
Funziona bene se l’agente conosce le funzioni
δ : S × A → S, e r : S × A → <
ma quando questo non accade
non si possono scegliere le azioni in questo modo
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Funzione Q
Si definisce una nuova funzione simile a V ∗
Q(s, a) ≡ r (s, a) + γV ∗ (δ(s, a))
Se l’agente impara la funzione Q,
si potrà scegliere l’azione ottimale anche senza conoscere δ
π ∗ (s) = argmax[r (s, a) + γV ∗ (δ(s, a))]
a
π ∗ (s) = argmax Q(s, a)
a
Q è la funzione di valutazione che l’agente dovrà imparare
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Regola di training per imparare Q
Si noti che Q e V ∗ sono strettamente legate:
Q(s, a0 )
V ∗ (s) = max
0
a
il che permette di riscrivere Q in modo ricorsivo:
Q(st , at ) = r (st , at ) + γV ∗ (δ(st , at )))
= r (st , at ) + γ max
Q(st+1 , a0 )
0
a
Denotata con Q̂ l’approssimazione corrente si Q, si consideri la
regola di training:
Q̂(s0 , a0 )
Q̂(s, a) ← r + γ max
0
a
s0
dove è lo stato risultante dall’applicazione dell’azione a nello
stato s
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Q-Learning per mondi deterministici
Per ogni s, a inizializzare la cella della tabella: Q̂(s, a) ← 0
Sia s lo stato corrente
Ripeti:
Selezionare un’azione a ed eseguirla
Ricevere la ricompensa immediata r
Sia s0 il nuovo stato
Aggiornare l’elemento in tabella Q̂(s, a) come segue:
Q̂(s, a) ← r + γ max
Q̂(s0 , a0 )
0
a
s ← s0
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Aggiornamento di Q̂ I
Stato iniziale
Stato finale
Q̂(s1 , aright ) ← r + γ max
Q̂(s2 , a0 )
0
a
← 0 + 0.9 max{66, 81, 100}
← 90
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Aggiornamento di Q̂ II
Si noti che se le ricompense sono non negative, allora
(∀s, a, n) Q̂n+1 (s, a) ≥ Q̂n (s, a)
e
(∀s, a, n) 0 ≤ Q̂n (s, a) ≤ Q(s, a)
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Convergenza I
Teorema Q̂ converge a Q.
Si considera il caso di un mondo deterministico dove ogni hs, ai
sia visitato infinite volte
Dim.:
Definire un intervallo pieno durante il quale hs, ai viene visitato.
Durante ogni intervallo pieno l’errore piu’ grande nella tabella Q̂
si riduce del fattore γ
Sia Q̂n la tabella ottenuta dopo n aggiornamenti e
∆n l’errore massimo in Q̂n ; ossia:
∆n = max |Q̂n (s, a) − Q(s, a)|
s,a
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Convergenza II
Per ogni elemento della tabella Q̂n (s, a) aggiornando
all’iterazione n + 1, l’errore nella nuova stima Q̂n+1 (s, a) sarà:
|Q̂n+1 (s, a) − Q(s, a)| = |(r + γ max
Q̂n (s0 , a0 ))
0
a
−(r + γ max
Q(s0 , a0 ))|
0
a
= γ| max
Q̂n (s0 , a0 ) − max
Q(s0 , a0 )|
0
0
a
a
0
0
≤ γ max
|Q̂n (s , a ) − Q(s0 , a0 )|
0
a
≤ γ max
|Q̂n (s00 , a0 ) − Q(s00 , a0 )|
00 0
s ,a
|Q̂n+1 (s, a) − Q(s, a)| ≤ γ∆n
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Convergenza III
Si noti che si ricorre alla proprietà seguente:
| max f1 (a) − max f2 (a)| ≤ max |f1 (a) − f2 (a)|
a
a
Corso di Apprendimento Automatico
a
Apprendimento per Rinforzo
Caso non deterministico I
Che succede se la ricompensa e lo stato successivo non sono
deterministici ?
Si ridefiniscono V e Q considerando i valori attesi
V π (s) ≡ E[rt + γrt+1 + γ 2 rt+2 + . . .]
∞
X
≡ E[
γ i rt+i ]
i=0
Q(s, a) ≡ E[r (s, a) + γV ∗ (δ(s, a))]
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Caso non deterministico II
Il Q-learning si estende a mondi non deterministici
Si modifica la regola di training
Q̂n (s, a) ← (1 − αn )Q̂n−1 (s, a) + αn [r + max
Q̂n−1 (s0 , a0 )]
0
a
dove
αn =
1
1 + visitsn (s, a)
Si può comunque provare la convergenza di Q̂ a Q
[Watkins & Dayan, 1992]
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Temporal Difference Learning
Q-learning: ridurre la discrepanza tra stime successive di Q
Differenza di un passo:
Q (1) (st , at ) ≡ rt + γ max Q̂(st+1 , a)
a
Due passi:
Q (2) (st , at ) ≡ rt + γrt+1 + γ 2 max Q̂(st+2 , a)
a
Per n passi:
Q (n) (st , at ) ≡ rt + γrt+1 + · · · + γ (n−1) rt+n−1 + γ n max Q̂(st+n , a)
a
Mettendo tutto insieme:
h
i
Q λ (st , at ) ≡ (1−λ) Q (1) (st , at ) + λQ (2) (st , at ) + λ2 Q (3) (st , at ) + · · ·
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Particolarità e sviluppi possibili
Cambiare la tabella Q̂ con una rete neurale o altri sistemi
di generalizzazione
Trattare il caso di stati solo parzialmente osservabili
Progettare strategie ottime di esplorazione
Estendere al caso di azioni continue (stati continui)
Imparare ad usare δ̂ : S × A → S
Relazione con la programmazione dinamica
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Fonti
T. M. Mitchell: Machine Learning, McGraw Hill
Corso di Apprendimento Automatico
Apprendimento per Rinforzo