Apprendimento per rinforzo

Slides:



Advertisements
Presentazioni simili
Sistemi dinamici discreti e computabilità intrinseca
Advertisements

Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato D’Ambrosio
AGENTI CHE RISOLVONO PROBLEMI Ottimizzazione euristica
6. Catene di Markov a tempo continuo (CMTC)
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.
Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania.
Evolvere robot stigmergici in Evorobot*
Chiara Mocenni – Analisi delle Decisioni a.a Analisi delle Decisioni Conoscenza incerta e probabilita Chiara Mocenni.
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
6. Catene di Markov a tempo continuo (CMTC)
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)
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Introduzione ai circuiti sequenziali
Apprendimento Non Supervisionato
Valutazione delle ipotesi
Apprendimento di funzioni algebriche
Computational Learning Theory and PAC learning
Apprendimento Automatico: Apprendimento per Rinforzo
Apprendimento per rinforzo
Apprendimento Automatico: Apprendimento per Rinforzo Roberto Navigli Apprendimento Automatico: Apprendimento per Rinforzo.
Analisi e Sintesi di circuiti sequenziali
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
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.
Apprendimento: Regola “Delta”
Soluzione di equazioni non lineari
Algoritmi e Strutture Dati (Mod. B)
Ricerca della Legge di Controllo
Apprendimento di movimenti della testa tramite Hidden Markov Model
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
Intelligenza Artificiale
CALCOLO EVOLUZIONISTICO. In ogni popolazione si verificano delle mutazioni. Le mutazioni possono generare individui che meglio si adattano allambiente.
In contrapposizione con i metodi convenzionali (hard computing), le tecniche di soft computing non si basano su procedimenti esprimibili in forma chiusa.
Apprendimento Automatico Calcolo Evoluzionistico Stefano Cagnoni.
L’AUTOMA ESECUTORE Un automa capace di ricevere dall’esterno una descrizione dello algoritmo richiesto cioè capace di interpretare un linguaggio (linguaggio.
Algoritmi Genetici Alessandro Bollini
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.
Andrea Martire – Salvatore Loria Sistemi intelligenti A.A. 2011/2012.
Tipo di prensione ed effetti di compatibilità: una simulazione connessionista Giorgio Tsiotas Anna M. Borghi
e programmazione genetica
Slides Intelligenza Artificiale, Vincenzo Cutello
ALGORITMI a.
Sistemi basati su conoscenza Gestione della conoscenza Prof. M.T. PAZIENZA a.a
Gli Algoritmi L’algoritmo è un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si.
Robotica Lezione 6. Paradigma Gerarchico Il paradigma gerarchico, altrimenti detto knowledge-based, procede top-down dalla definizione del compito assegnato.
Algoritmi online Maria Simi, a.a. 2007/08 Problemi di esplorazione  Gli agenti per il problem-solving assumono:  ambienti deterministici e osservabili.
Oltre la ricerca classica Cap 4 – Ricerca locale, ricerca online Maria Simi a.a. 2014/2015.
R. Soncini Sessa, MODSS, L 26 Stima degli effetti Calcolo degli obiettivi (Laplace) Rodolfo Soncini Sessa MODSS Copyright 2004 © Rodolfo Soncini.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Paola Disisto, Erika Griffini, Yris Noriega.  Insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce.
Alessandro Bollini Dipartimento di Informatica e Sistemistica Università di Pavia Via Ferrata, Pavia Algoritmi Evolutivi.
RETI NEURALI - 2.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 2 Prof. M.T. PAZIENZA a.a
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
Ricerca locale M. Simi, Algoritmi di ricerca locale  Efficienti in occupazione di memoria  tengono traccia solo dello stato corrente (non.
Dynamic Programming Testi di riferimento per approfondimenti: Dimitri Bertsekas, Dynamic Programming, deterministic and stochastic models, Prentice-Hall.
Ricerca locale Maria Simi Assunzioni sui problemi  Gli algoritmi visti esplorano gli spazi di ricerca alla ricerca di un goal e restituiscono.
1 Lezione XV-b Avviare la presentazione col tasto “Invio”
Ricerca online Maria Simi a.a. 2011/2012 Ambienti più realistici  Gli agenti risolutori di problemi “classici” assumono:  Ambienti completamente osservabili.
Self-Organizing Map (SOM Kohonen, 1981) è una tecnica di visualizzazione dei dati multidimensionali SOM è una mappa mono- (bi-)dimensionale che rappresenta.
Psicometria modulo 1 Scienze tecniche e psicologiche Prof. Carlo Fantoni Dipartimento di Scienze della Vita Università di Trieste Campionamento.
ANALISI DEI SEGNALI Si dice segnale la variazione di una qualsiasi grandezza fisica in funzione del tempo. Ad esempio: la pressione in un punto dello spazio.
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 per rinforzo ..e algoritmi genetici

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 Robotica, web assistent, in generale , sistemi ad agenti

Modello

Modello (2)

Varianti Ricompensa ritardata: a volte la ricompensa non corrisponde a singole azioni, ma al raggiungimento di qualche obiettivo o sotto-obiettivo (es. per il robot calciatore: fare goal, o una “bella” azione) Esplorazione: l’apprendista può restare all’interno di ambienti (stati) noti, o può decidere di esplorare stati non noti Percezioni parziali: l’agente può non percepire l’intera realtà (ad esempio, degli ostacoli visivi non consentono di percepire interamente una scena)

Il compito di apprendimento Apprendere una politica  XA tale che sia possibile accumulare la ricompensa maggiore nel tempo (secondo , per ogni stato X è data un’azione , e dunque lo stato successivo) Definiamo come il valore cumulativo acquisito tramite una politica arbitraria partendo da uno stato arbitrario Xt: 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 è definito dalla:

Es: Apprendimento passivo in ambiente noto. Un esempio: 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 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(X,a) fornisce una ricompensa solo negli stati in cui essa è prevista, e zero in tutti gli altri stati. Indichiamo con (X,a) lo stato in cui il sistema transita se parte da X e esegue l’azione a Dove V* è un’abbreviazione per V* Sfortunatamente, questo ha senso solo se il sistema conosce la funzione r e la funzione di transizione (X,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à: possiamo perciò riscrivere la precedente equazione: Il sistema deve dunque stimare le quantità Q, e 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

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

(Q((3,3),aright) nell’esempio) Q-learning (4) 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 Xk (3,3 nell’esempio). (Q((3,3),aright) nell’esempio) Nel successivo episodio, se l’agente passa per Xk, 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.

Esempio di aggiornamento Q(s,a) in t Q(s,a) in t+1 81 100 66 R 90

Q/azione A1 A2 ….. Q(S1,Ai) Q(S2,Ai) Q(S3,Ai) Le celle i,j sono inizialmente a zero tranne per le transizioni a ricompensa non nulla. Appena si raggiunge uno di questi stati, si modifica il Q della cella adiacente

Q/azione A1=right A2=left A3=down Q(S1,Ai) - Q(S2,Ai) 10 Q(S3,Ai) 9 R(S3,right)=9 R(S2,down)=10 S4 bloccante S2 S4 Q/azione A1=right A2=left A3=down Q(S1,Ai) - Q(S2,Ai) 10 Q(S3,Ai) 9 Q(S4,Ai)

Q/azione A1=right A2=left A3=down Q(S1,Ai) - 0,9x9 Q(S2,Ai) 10 10 Q(S3,Ai) 9 0,9x10 0,9x10 Eccetera..

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 sono limitati , dove c è una costante Terzo (!!) l’agente deve selezionare le azioni in modo tale che ogni coppia (X,a) sia visitata un numero infinito di volte In pratica, si dimostra che l’algoritmo funziona in condizioni meno restrittive!

Algoritmi genetici

Algoritmi genetici (2)

Algoritmo

Esempio crossover

Algoritmo (cont)

Cosa “si fa evolvere” con un algoritmo genetico? Diverse architetture G di rete neurale. Ogni architettura (definita da un grafo ) rappresenta un’ipotesi e può essere rappresentata (codificata) mediante una stringa binaria Regole espresse mediante forme normali congiuntive La rappresentazione binaria è: Praticamente qualsiasi classe di ipotesi

Problemi Tempi di apprendimento molto lunghi (necessario hw “ad hoc) Crowding: alcuni individui tendono a prendere il sopravvento, riducendo drasticamente la diversità della popolazione (soluzione: creare perturbazioni o alterazioni della funzione di selezione, una sorta di “roulette”)

Evoluzione in reale e simulata (predatore e preda) [Floreano and Nolfi, 1998] Evoluzione in Reale (Kephera Robots) Evoluzione in Simulazione + Test in Reale [Nolfi, Floreano, Miglino, Mondada 1994] La valutazione di un modello di robot evolutivo può essere fatta “nel reale” o simulata.

Evoluzione in simulazione Ciascun sensore e motore può comportarsi in modo diverso a causa di piccole differenze a livello elettronico o meccanico 4th IF sensor 8th IF sensor Nel caso di simulazione vari fattori vanno tenuti in conto, per tenere conto di aspetti fisici, quali la diversità di parti meccaniche e di alimentazione (gli esperimenti durano molto a lungo e l’alimentazione di alcuni robot non dura a sufficienza, dunque vanno previste ricariche automatiche. I sensori producono valori imprecisi e i comandi inviati a motori hanno effetti incerti. Le caratteristiche del robot e dell’ambiente devono essere riprodotte fedelmente nella simulazione

Esempio: discriminare oggetti explorare evitare avvicinarsi discriminare sensori motori Distinguere muri da cilindri Distinguere cilindri grandi da piccoli Una rete per ogni “abilità” Tuttavia, cattivi risultati In questo esempio, il fenotipo del robot è implementato mediante reti neurali diverse, ciascuna specializzata in un comportamento (similmente alle teorie comportamentali). Se si addestra una rete neurale a produrre 0 in caso di muro e 1 in caso di cilindro, la rete in generale funziona molto male. [Nolfi, 1996,1999]

Discriminare fra oggetti (2) Invece, facendo evolvere un’unica rete neurale che include i sei sensori e due motori (che determinano la velocità delle due ruote) le cose vanno meglio. Gli individui evoluti non si fermano davanti al target (cilindro grande) ma continuano a ruotargli attorno per un piccolo tragitto, avanti e indietro. La strategia appresa è “girare attorno e misurare l’angolo di rotazione” Le cose funzionano meglio senza decomposizione! [Nolfi, 1996]

Approfondimenti su evolutionary computing The evolutionary computing homepage: http://gral.ip.rm.cnr.it/evorobot/ Stefano Nolfi home page:http://gral.ip.rm.cnr.it/nolfi/