La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Apprendimento per rinforzo..e algoritmi genetici.

Presentazioni simili


Presentazione sul tema: "Apprendimento per rinforzo..e algoritmi genetici."— Transcript della presentazione:

1 Apprendimento per rinforzo..e algoritmi genetici

2 Definizione del problema: Non sempre è possibile modellare un problema di apprendimento come la scelta ottimale di una funzione di classificazione Lapprendimento 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 dellambiente Robotica, web assistent, in generale, sistemi ad agenti

3 Modello

4 Modello (2)

5 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: lapprendista può restare allinterno di ambienti (stati) noti, o può decidere di esplorare stati non noti Percezioni parziali: lagente può non percepire lintera realtà (ad esempio, degli ostacoli visivi non consentono di percepire interamente una scena)

6 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 unazione, 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 (r t+i ), è ricevuta dopo i passi dallattuale stato, viene scontata di un fattore i. Il compito di apprendimento è definito dalla:

7 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.

8 Q-learning Ogni casella rappresenta uno stato, ogni mossa è unazione. 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 lazione a Dove V* è unabbreviazione per V * Sfortunatamente, questo ha senso solo se il sistema conosce la funzione r e la funzione di transizione (X,a) !!

9 Q-learning (2) Linput del sistema sono sequenze di transizioni, dette episodi. Un episodio inizia in uno stato scelto a caso, e termina quando lagente 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

10 Q-learning (3) Per ogni (X,a) inizializza a zero (o a un valore random) Osserva lo stato corrente X Esegui: –Seleziona unazione 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

11 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 leffetto di far aggiornare il valore di per la sola transizione che porta allo stato obiettivo, ad esempio Xk (3,3 nellesempio). (Q((3,3),a right ) nellesempio) Nel successivo episodio, se lagente 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, linformazione si propaga allindietro per tutti gli stati.

12 R R Esempio di aggiornamento Q(s,a) in tQ(s,a) in t+1

13 Q/azioneA1A2….. 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

14 Q/azioneA1=rightA2=leftA3=down Q(S1,Ai)0-0 Q(S2,Ai)-010 Q(S3,Ai)9-- Q(S4,Ai)--- S1 S3 S2 S4 R(S3,right)=9 R(S2,down)=10 S4 bloccante

15 Q/azioneA1=rightA2=leftA3=down Q(S1,Ai)-0,9x9 Q(S2,Ai)-010 Q(S3,Ai) ,9x10 Eccetera..

16 Q-learning: converge? Si dimostra che lalgoritmo 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 (!!) lagente deve selezionare le azioni in modo tale che ogni coppia (X,a) sia visitata un numero infinito di volte In pratica, si dimostra che lalgoritmo funziona in condizioni meno restrittive!

17 Algoritmi genetici

18 Algoritmi genetici (2)

19 Algoritmo

20 Esempio crossover

21 Algoritmo (cont)

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

23 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)

24 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]

25 Evoluzione in simulazione Ciascun sensore e motore può comportarsi in modo diverso a causa di piccole differenze a livello elettronico o meccanico I sensori producono valori imprecisi e i comandi inviati a motori hanno effetti incerti. Le caratteristiche del robot e dellambiente devono essere riprodotte fedelmente nella simulazione 4th IF sensor8th IF sensor

26 Esempio: discriminare oggetti explorare evitare avvicinarsi discriminare sensorimotori [Nolfi, 1996,1999] Distinguere muri da cilindri Distinguere cilindri grandi da piccoli Una rete per ogni abilità Tuttavia, cattivi risultati

27 Discriminare fra oggetti (2) [Nolfi, 1996] Le cose funzionano meglio senza decomposizione!

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


Scaricare ppt "Apprendimento per rinforzo..e algoritmi genetici."

Presentazioni simili


Annunci Google