Apprendimento per Rinforzo

Page 1

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


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.