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
ˆ l’approssimazione corrente si Q, si consideri la Denotata con Q regola di training: ˆ ˆ 0 , a0 ) Q(s 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: ˆ ˆ 0 , a0 ) Q(s, a) ← r + γ max Q(s 0 a
s ← s0
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
ˆ I Aggiornamento di Q
Stato iniziale
Stato finale
ˆ 1 , aright ) ← r + γ max Q(s ˆ 2 , a0 ) Q(s 0 a
← 0 + 0.9 max{66, 81, 100} ← 90
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
ˆ II Aggiornamento di Q
Si noti che se le ricompense sono non negative, allora ˆ n+1 (s, a) ≥ Q ˆ n (s, a) (∀s, a, n) Q e ˆ n (s, a) ≤ Q(s, a) (∀s, a, n) 0 ≤ Q
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Convergenza I ˆ converge a Q. Teorema 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 γ ˆ n la tabella ottenuta dopo n aggiornamenti e Sia Q ˆ n ; ossia: ∆n l’errore massimo in Q ˆ n (s, a) − Q(s, a)| ∆n = max |Q s,a
Corso di Apprendimento Automatico
Apprendimento per Rinforzo
Convergenza II ˆ n (s, a) aggiornando Per ogni elemento della tabella Q ˆ n+1 (s, a) sarà: all’iterazione n + 1, l’errore nella nuova stima Q ˆ n+1 (s, a) − Q(s, a)| = |(r + γ max Q ˆ n (s0 , a0 )) |Q 0 a
−(r + γ max Q(s0 , a0 ))| 0 a
ˆ n (s0 , a0 ) − max Q(s0 , a0 )| = γ| max Q 0 0 a
a
ˆ n (s0 , a0 ) − Q(s0 , a0 )| ≤ γ max |Q 0 a
ˆ n (s00 , a0 ) − Q(s00 , a0 )| ≤ γ max |Q 00 0 s ,a
ˆ n+1 (s, a) − Q(s, a)| ≤ γ∆n |Q
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 ˆ n (s, a) ← (1 − αn )Q ˆ n−1 (s, a) + αn [r + max Q ˆ n−1 (s0 , a0 )] Q 0 a
dove αn =
1 1 + visitsn (s, a)
ˆ aQ Si può comunque provare la convergenza di 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: ˆ t+1 , a) Q (1) (st , at ) ≡ rt + γ max Q(s a
Due passi: ˆ t+2 , a) Q (2) (st , at ) ≡ rt + γrt+1 + γ 2 max Q(s a
Per n passi: ˆ t+n , a) Q (n) (st , at ) ≡ rt + γrt+1 + · · · + γ (n−1) rt+n−1 + γ n max Q(s 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
ˆ con una rete neurale o altri sistemi Cambiare la tabella Q 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