Apprendimento Automatico: Apprendimento per Rinforzo

Slides:



Advertisements
Presentazioni simili
Metodo di Calcolo Numerico per Equazioni differenziali Ordinarie
Advertisements

I VETTORI.
Flusso del campo elettrico e teorema di Gauss
Premessa: si assume di aver risolto (correttamente
Apprendimento per rinforzo
Teoria e Tecniche del Riconoscimento
2. Introduzione alla probabilità
AGENTI CHE RISOLVONO PROBLEMI Ottimizzazione euristica
6. Catene di Markov a tempo continuo (CMTC)
SPIM Esercizi. Esercizio 1 – il comando li Il codice deve eseguire una singola operazione: mettere il valore immediato 1023 nel registro s3.
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
Elettrostatica 3 23 maggio 2011
Variabili casuali a più dimensioni
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Dynamic Programming Chiara Mocenni Corso di.
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Scelte di consumo Chiara Mocenni Corso di laurea.
Chiara Mocenni – Analisi delle Decisioni a.a Analisi delle Decisioni Conoscenza incerta e probabilita Chiara Mocenni.
4. Automi temporizzati Il comportamento dei sistemi ad eventi temporizzati non è definito semplicemente da una sequenza di eventi o di valori dello stato,
Gestione dei dati e della conoscenza (agenti intelligenti) M.T. PAZIENZA a.a
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Iterazione enumerativa (for)
L 16 Progetto delle alternative Andrea Castelletti Modellistica e Controllo dei Sistemi Ambientali.
Apprendimento Automatico: Apprendimento Probabilistico Roberto Navigli 1 Apprendimento Automatico: Apprendimento Bayesiano.
Apprendimento Non Supervisionato
Apprendimento Automatico: Apprendimento Pigro (Lazy Learning)
Apprendimento di funzioni algebriche
Apprendimento per rinforzo
Apprendimento Automatico: Apprendimento per Rinforzo Roberto Navigli Apprendimento Automatico: Apprendimento per Rinforzo.
Circuiti di memorizzazione elementari: i Flip Flop
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Analisi e Sintesi di circuiti sequenziali
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Abbiamo visto un esempio di applicazione del teorema, ma a noi interessa l’applicazione del Teorema di Bayes alla combinazione delle informazioni, ovvero.
Alberi di Ricorrenza Gli alberi di ricorrenza rappresentano un modo conveniente per visualizzare i passi di sostitu- zione necessari per risolvere una.
Soluzione di equazioni non lineari
Corso di biomatematica lezione 6: la funzione c2
Ricerca della Legge di Controllo
BIOINGEGNERIA S. Salinari Lezione 7. RETI CON APPRENDIMENTO SUPERVISIONATO A DISTANZA Nello sviluppo delle reti neurali si è proceduto indebolendo via.
Apprendimento di movimenti della testa tramite Hidden Markov Model
STATISTICA a.a PARAMETRO t DI STUDENT
STATISTICA a.a VARIABILITA’ BIOLOGICA E CASO
CONTROLLO DI SUPPLY CHAIN MEDIANTE TECNICHE H-INFINITO E NEGOZIAZIONE
CAMPO MAGNETICO GENERATO
Analisi e Sintesi di circuiti sequenziali. Definizione Una macchina sequenziale é un sistema nel quale, detto I(t) l'insieme degli ingressi in t, O(t)
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi e ricerca.
Intelligenza Artificiale Algoritmi Genetici
Gli algoritmi.
L’AUTOMA ESECUTORE Un automa capace di ricevere dall’esterno una descrizione dello algoritmo richiesto cioè capace di interpretare un linguaggio (linguaggio.
Perfect sampling di processi di coda UNIVERSITÀ DEGLI STUDI DI ROMA TOR VERGATA Corso di laurea in Ingegneria dei Modelli e dei Sistemi Studente: Paolo.
Ispezione lineare La funzione hash h(k,i) si ottiene da una funzione hash ordinaria h'(k) ponendo L’esplorazione inizia dalla cella h(k,0) = h'(k) e continua.
Problemi facili, problemi difficili
Slides Intelligenza Artificiale, Vincenzo Cutello
Rete di Hopfield applicata al problema del TSP Federica Bazzano
COME RAGIONA UN COMPUTER
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
R. Soncini Sessa, MODSS, L 26 Stima degli effetti Calcolo degli obiettivi (Laplace) Rodolfo Soncini Sessa MODSS Copyright 2004 © Rodolfo Soncini.
Risoluzione delle collisioni con indirizzamento aperto Con la tecnica di indirizzamento aperto tutti gli elementi stanno nella tavola. La funzione hash.
L23 Politiche fuori linea senza apprendimento: progetto funzionale Rodolfo Soncini Sessa MODSS Copyright 2004 © Rodolfo Soncini Sessa.
RETI NEURALI - 2.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Analisi e Gestione del Rischio Lezione 7 Prodotti con pay-off non lineare.
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Ricerca locale M. Simi, Algoritmi di ricerca locale  Efficienti in occupazione di memoria: tengono traccia solo dello stato corrente (non.
Intelligenza Artificiale Risoluzione di Problemi
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
Dynamic Programming Testi di riferimento per approfondimenti: Dimitri Bertsekas, Dynamic Programming, deterministic and stochastic models, Prentice-Hall.
Pattern Recognition Lez.14: Miscugli di Gaussiane.
Analisi ed Approfondimento dell’Equilibrio di Nash: Lo studio di situazioni critiche UNIVERSITA' DEGLI STUDI "G.d'ANNUNZIO" CHIETI-PESCARA LAUREANDA: Ileana.
Sistemi di equazioni lineari. Sistemi di primo grado di due equazioni a due incognite Risolvere un sistema significa trovare la coppia di valori x e y.
Se A e B sono variabili random statisticamente indipendenti P (2) (B,A)=P(B)P(A) P(A)=probabilità che la variabile stocastica A assuma un certo valore.
Transcript della presentazione:

Apprendimento Automatico: Apprendimento per Rinforzo Roberto Navigli Cap. 13 [Mitchell] Cap. 21 [Russel & Norvig]

Definizione del Problema Non sempre è possibile modellare un problema di apprendimento come la scelta ottimale di una funzione di classificazione L’apprendimento per rinforzo modella tipicamente il caso di un agente che percepisce ed agisce in un certo ambiente, il cui obiettivo è di imparare a fare “la cosa ottimale”, o la cosa che lo avvicina di più al suo obiettivo, dato un certo stato dell’ambiente Sistemi ad agenti Robot Assistenti web Avversari elettronici in videogiochi ecc.

Definizione del Modello Un agente si muove in un ambiente rappresentabile mediante un insieme S di stati L’agente percepisce un vettore di ingresso, o di percezione, e che informa l’agente circa lo stato si  S in cui si trova A è un insieme di azioni eseguibili dall’agente L’esecuzione di un’azione ai  A produce una transizione di stato R è un insieme di ricompense che l’agente può ricevere: ri=r(ei, ai) dove ri  R, ei = f(si), ai  A

Obiettivo dell’Apprendimento per Rinforzo L’obiettivo è di apprendere una politica ottima  : S A che selezioni le azioni successive a ogni stato in modo da massimizzare le ricompense accumulate nel tempo sistema di apprendimento stato si+1 azione ai rinforzo ri ambiente

Il compito di apprendimento Apprendere una politica  : S  A tale che sia possibile accumulare la ricompensa maggiore nel tempo (secondo , per ogni stato in S è data un’azione, e dunque lo stato successivo) Definiamo V(st) come il valore cumulativo acquisito tramite una politica arbitraria partendo da uno stato arbitrario st: 0   < 1 è una costante che determina il valore relativo di ricompense non immediate. Ad esempio, se una ricompensa rt+i è ricevuta dopo i passi dall’attuale stato, viene “scontata” di un fattore i. Il compito di apprendimento è ottenere una politica ottima * tale che:

Varianti Ricompensa ritardata: a volte la ricompensa non corrisponde a singole azioni, ma al raggiungimento di qualche obiettivo o sotto-obiettivo (es. per un robot calciatore: fare goal o fare una “bella azione”) Esplorazione: l’apprendista può restare all’interno di ambienti (stati) noti o può decidere di esplorare stati non noti Percezione parziale: l’agente può non percepire l’intera realtà (ad es. per via di ostacoli visivi o perché non può vedere dietro di sé)

Esempio: Apprendimento passivo in ambiente noto Un robot deve muoversi in una scacchiera. Le azioni possibili sono N, S, E, O (nord,sud, est,ovest) Lo stato (1,1) è lo stato di partenza, (3,4) e (2,4) sono terminali con ricompense +1 e -1. Lo stato (2,2) è inaccessibile. In ogni stato le probabilità di transizione verso altri stati sono uguali. Le percezioni coincidono con l'identificazione dello stato in cui il robot si trova.

Q-learning Ogni casella rappresenta uno stato, ogni mossa è un’azione. La funzione r(s, a) fornisce una ricompensa solo negli stati in cui essa è prevista, e zero in tutti gli altri stati. Indichiamo con (s, a) lo stato in cui il sistema transita se parte da s ed esegue l’azione a e indichiamo V* con V* Allora possiamo scegliere l’azione per lo stato s sulla base della ricompensa immediata più il valore cumulativo per lo stato raggiunto sulla base dell’azione intrapresa: Sfortunatamente, questo ha senso solo se il sistema conosce la funzione r e la funzione di transizione (s, a)!

Q-learning (2) L’input del sistema sono sequenze di transizioni, dette episodi. Un episodio inizia in uno stato scelto a caso, e termina quando l’agente raggiunge, dopo una serie di azioni, uno stato obiettivo. Definiamo la quantità: Q(s, a) = r(s, a)+V*((s, a)) Possiamo perciò riscrivere la precedente equazione: Il sistema deve dunque stimare le quantità Q, indicheremo con le stime di Q. La precedente definizione ricorsiva di Q consente di stimare le mediante approssimazioni iterative. Inizialmente i valori di stima possono essere riempiti casualmente

Per ogni (s, a) inizializza a zero (o a un valore casuale) Q-learning (3) Per ogni (s, a) inizializza a zero (o a un valore casuale) Per ogni epoca Seleziona lo stato iniziale s Esegui ripetutamente: Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: s  s’

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 s2 s3 s4 0+0.9*0 =0 s5 s6 1 s=s4, s’=s5 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: s  s’

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 s2 s3 s4 s5 0+0.9*0 =0 s6 1 s=s5, s’=s6 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: s  s’

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 s2 s3 s4 s5 s6 1+0.9*0 =1 1 s=s6, s’=s3 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: GOAL RAGGIUNTO: FINE PRIMO EPISODIO

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 s2 s3 s4 0+0.9*0 =0 s5 s6 1 1 s=s4, s’=s1 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: s  s’

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 0+0.9*0 =0 s2 s3 s4 s5 s6 1 1 s=s1, s’=s2 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: s  s’

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 s2 1+0.9*0 =1 s3 s4 s5 s6 1 1 s=s2, s’=s3 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: GOAL RAGGIUNTO: FINE SECONDO EPISODIO

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 s2 1 s3 s4 0+0 s5 s6 1 s=s4, s’=s5 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: s  s’

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 s2 1 s3 s4 s5 0+0.9*1 =0.9 s6 1 s=s5, s’=s2 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: s  s’

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 s2 1+0 s3 s4 s5 0.9 s6 1 1 s=s2, s’=s3 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: GOAL RAGGIUNTO: FINE TERZO EPISODIO

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 s2 1 s3 s4 0+0.9*0.9 =0.81 s5 0.9 s6 1 s=s4, s’=s5 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: s  s’

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 s2 1 s3 s4 0.81 s5 0+0.9*1 =0.9 s6 1 s=s5, s’=s2 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: s  s’

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 s2 1+0 s3 s4 0.81 s5 0.9 s6 1 1 s=s2, s’=s3 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: GOAL RAGGIUNTO: FINE QUARTO EPISODIO

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 s2 1 s3 s4 0+0 0.81 s5 0.9 s6 1 s=s4, s’=s1 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: s  s’

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 0+0.9*1 =0.9 s2 1 s3 s4 0.81 s5 0.9 s6 1 s=s1, s’=s2 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: s  s’

Q-Learning: Esempio (=0.9) 1 s1 s2 s3 s4 s5 s6 N S O E s1 0.9 s2 1+0 s3 s4 0.81 s5 s6 1 1 s=s2, s’=s3 Seleziona un’azione possibile a in s ed eseguila Ricevi una ricompensa r Osserva il nuovo stato s’ cui si arriva eseguendo a Aggiorna le stime come segue: GOAL RAGGIUNTO: FINE QUINTO EPISODIO

Q-Learning: Esempio (=0.9) Al termine dell’esecuzione, l’algoritmo converge alla seguente tabella: N S O E s1 0.72 0.9 s2 0.81 1 s3 s4 s5 s6 s1 s2 s3 s4 s5 s6 0.9 1 0.81 0.9 0.72 0.81 0.81 1 0.81 0.9 0.72 0.81 s1 s2 s3 s4 s5 s6 1

(Q((3,3),aright) nell’esempio) Q-learning: Esempio Spostamenti di un agente in una griglia: Il sistema inizialmente pone a zero tutte le stime di . In tal modo, non potrà fare cambiamenti nella tabella finché, eventualmente, non raggiunge uno stato che prevede una ricompensa (primo episodio) (1,1)  (2,1)  (3,1)  (3,2)  (3,3) (3,4) Questo ha l’effetto di far aggiornare il valore di per la sola transizione che porta allo stato obiettivo, ad esempio sk (3,3 nell’esempio) (Q((3,3),aright) nell’esempio) Nel successivo episodio, se l’agente passa per sk, il valore non nullo di consentirà di aggiornare il valore di per qualche transizione due celle prima della cella obiettivo (cioè (3,4)), e, se il numero di episodi è sufficiente, l’informazione si propaga all’indietro per tutti gli stati.

Si dimostra che l’algoritmo converge se: Q-learning: converge? Si dimostra che l’algoritmo converge se: Primo, il sistema può essere modellato come un processo di Markov (le probabilità di transizione fra stati devono essere note a priori) Secondo, i valori di ricompensa devono essere limitati da una costante c, ovvero: |r(s, a)| c Terzo, l’agente deve selezionare le azioni in modo tale che ogni coppia (s, a) sia visitata un numero infinito di volte In pratica, si dimostra che l’algoritmo funziona in condizioni meno restrittive

Come scegliere le azioni per calcolare le stime di Q? L’algoritmo non specifica come scegliere la prossima azione a partire dallo stato s Strategia ovvia: Scegliere l’azione a che massimizza Rischio: seguire sempre le stesse azioni e tralasciare azioni con valori potenzialmente ancora più alti Strategia probabilistica: Si sceglie l’azione a dallo stato s con la seguente probabilità (k > 0 determina l’influenza della selezione verso alti valori di Q):

Ricompense e Azioni Non Deterministiche Consideriamo il caso in cui la funzione ricompensa r(s, a) e la funzione di transizione (s, a) abbiano esiti probabilistici Producono una distribuzione di probabilità sugli esiti dato lo stato s e l’azione a ed estraggono casualmente un esito sulla base di questa distribuzione Dobbiamo generalizzare il valore V della politica  al valore atteso (sugli esiti non deterministici) dei compensi accumulati nel tempo: dove rt+i è sempre generata seguendo la politica  a partire dallo stato s

Q-Learning per il caso non deterministico (1) Dato che, come prima: Possiamo riscrivere:

Q-Learning per il caso non deterministico (2) Per assicurare la convergenza, dobbiamo modificare infine anche la regola di allenamento dell’algoritmo A tal fine, abbiamo bisogno di far “decadere” nel tempo la stima rivista a favore del valore precedente della stima di Q: Dove s e a sono lo stato e l’azione aggiornate durante l’n-esima iterazione e visiten(s, a) è il numero totale di volte che la coppia (s,a) è stata visitata finora (inclusa l’n-esima iterazione):

Elevator Control: Crites & Barto Applicazioni TD-Gammon: Tesauro Il miglior programma di backgammon Elevator Control: Crites & Barto Controllore di ascensori a elevate prestazioni Dynamic Channel Assignment: Singh & Bertsekas, Nie & Haykin Prestazioni elevate nell’assegnare canali radio a chiamate di telefonia mobile Traffic light control: Wiering et al., Choy et al. Elevate prestazioni nel controllo dei semafori per ottimizzare il flusso del traffico Water systems control: Bhattacharya et al. Elevate prestazioni nel controllo dei livelli d’acqua dei sistemi idrici regionali