28
Apprendimento per rinforzo ..e algoritmi genetici

Apprendimento per rinforzo..e algoritmi genetici

Embed Size (px)

Citation preview

Page 1: Apprendimento per rinforzo..e algoritmi genetici

Apprendimento per rinforzo

..e algoritmi genetici

Page 2: 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

Page 3: Apprendimento per rinforzo..e algoritmi genetici

ModelloUn agente si muove in un ambiente rappresentabile mediante un insieme S di stati; L'agente è in grado di percepire un vettore di ingresso, o percezione e, che informa l'agente circa lo stato Xi in cui si trova. A è un insieme di azioni eseguibili dall'agente. L'esecuzione di un'azione ai di A produce una transizione di stato. R è un insieme di ricompense che l'agente può ricevere: ri=r(ei,ai) ri ∈ , R ai∈ ,A ei= ( ), f Xi

Page 4: Apprendimento per rinforzo..e algoritmi genetici

Modello (2)

L'obiettivo di apprendimento per rinforzoconsiste nell'identificare una politica ottima π(X)X→ Ac hemassimizz i l e ricompens e accumulatene l tem .po

Xi

r i

a i

Sistema di

apprendimento

Ambiente

X0a0 ⏐ → ⏐ r0

X1a1 ⏐ → ⏐ r1

X2a2 ⏐ → ⏐ r2

.....

Page 5: Apprendimento per rinforzo..e algoritmi genetici

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)

Page 6: Apprendimento per rinforzo..e algoritmi genetici

Il compito di apprendimento• Apprendere una politica XA 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:

• 01 è 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:

Vπ (Xt)

Vπ (Xt)= γi

i=0

∞∑ rt+i

π* =argmaxπ

Vπ (X), ∀X

Page 7: Apprendimento per rinforzo..e algoritmi genetici

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.

START

+1

-1

1

2

3

1 2 3 4

0.5

0.5

0.33

0.33

0.33

1.0

1.0

Page 8: Apprendimento per rinforzo..e algoritmi genetici

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

π*(X) =argmaxa

r(X,a)+γV*(δ(X,a))[ ]

Page 9: Apprendimento per rinforzo..e algoritmi genetici

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 conle 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(X,a) =r(X,a)+γV*(δ(X,a))

V*(X) =maxa'

Q(X,a' )

Q(X,a) =r(X,a)+γ maxa'

Q(δ(X,a),a' )

ˆ Q

ˆ Q

Page 10: Apprendimento per rinforzo..e algoritmi genetici

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:

– XX’

ˆ Q (X,a)

ˆ Q (X,a) ← r +γ maxa'

ˆ Q (X',a' )

Page 11: Apprendimento per rinforzo..e algoritmi genetici

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.

ˆ Q

ˆ Q

ˆ Q kˆ Q

Page 12: Apprendimento per rinforzo..e algoritmi genetici

81

100

66

R 90

81

100

66R

ˆ Q (s1,aright)← r +γ maxa'

ˆ Q (s2,a' )← 0+0.9max66,81,100}{ ← 90

Esempio di aggiornamentoQ(s,a) in t Q(s,a) in t+1

Page 13: Apprendimento per rinforzo..e algoritmi genetici

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, simodifica il Q della cella adiacente

Page 14: Apprendimento per rinforzo..e algoritmi genetici

Q/azione A1=right A2=left A3=down

Q(S1,Ai) 0 - 0

Q(S2,Ai) - 0 10

Q(S3,Ai) 9 - -

Q(S4,Ai) - - -

S1

S3

S2

S4

R(S3,right)=9R(S2,down)=10S4 bloccante

Page 15: Apprendimento per rinforzo..e algoritmi genetici

Q/azione A1=right A2=left A3=down

Q(S1,Ai) - 0,9x9

Q(S2,Ai) - 0 10

Q(S3,Ai) 9 - -

Q(S3,Ai) - - -

Q(S1,→) = 0 +γmax(Q(S2,←),Q(S2,↓)) = 0 +γmax(0,10)

Q(S1,↓) = 0 +γmax(Q(S3,→)) = 0 +γmax(9)

0,9x10

0,9x10

Eccetera..

Page 16: Apprendimento per rinforzo..e algoritmi genetici

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!

r(X,a) ≤c

Page 17: Apprendimento per rinforzo..e algoritmi genetici

Algoritmi genetici

Algoritmi motivati da una analogia con l'evoluzione biologica.Anziché generare ipotesi da generali a specifiche, o da semplici acomplesse, gli AG generano successori di un insieme di ipotesi,producendo "perturbazioni" sulle ipotesi che, in una data fase dielaborazione dell'algoritmo, producono risultati migliori.

Motivazioni:• I sistemi evolutivi biologici hanno dimostrato di avere capacità diadattarsi a variazioni ambientali• Gli AG possono effettuare ricerche nello spazio di ipotesi aventielementi che interagiscono fra loro in modo complesso, laddove siadiff icile valutare l'impatto di ogni elemento descrittivo sull 'interaipotesi.• Gli AG sono facilmente paralleli zzabili, e dunque siavvantaggiano dei ridotti costi dell 'hardware.

Page 18: Apprendimento per rinforzo..e algoritmi genetici

Algoritmi genetici (2)

Dati:• Una funzione Fitness che assegna un valore ad ogni ipotesi

h• Una soglia di Fitness che specif ica un criterio di

terminazione• p: il numero di ipotesi da includere nella pololazione• r: la frazione di una popolazione che deve essere

rimpiazzarta dall 'opreatore Crossover• m: il tasso di mutazione

Page 19: Apprendimento per rinforzo..e algoritmi genetici

Algoritmo • PÁ p individui generati a caso• ∀h∈P, calcola Fitness(h)• while [maxh(Fitness(h)]<F_TR do:

crea una nuova generazione Ps:1) Select: seleziona (1-r)p ipotesi di P da aggiungere a Ps. La

probabilità di selezionare una ipotesi hi èdata:Pr( h

i) =

Fitness ( hi

)

Fitness ( hj

)

j = 1

p

2) Crossover: seleziona (r×p)/2 coppie di ipotesi da P (sulla basedi P(hi)) . Per ogni copia (hi,hj) produci due manipolazioni(dette offspring) applicando l'operatore Crossover. Aggiungigli elementi manipolati a Ps.

3) Mutazione: Seleziona m% elementi in Ps, con probabilitàuniforme, ed applica l'operatore di mutazione.

Page 20: Apprendimento per rinforzo..e algoritmi genetici

Esempio crossoverCrossover (per ipotesi rappresentate da stringhebinarie):

Stringheiniziali

Maschera diCrossOver

Offspring

Single-PointCross Over

1110100100000001010101

11111000000 1110101010100001001000

Two-PointCross Over

1110100100000001010101

00111110000 1100101100000101000101

UniformCrossOver

1110100100000001010101

10011010011 1000100010001101011001

Pointmutuation

11101001000 11101011000

Queste operazioni creano dei discendenti di una coppia diipotesi, "mescolando" le caratteristiche di ogni parente.L'operatore di mutazione crea un singolo discendente daun'unica ipotesi, cambiando in maniera casuale il valore diun bit.

Page 21: Apprendimento per rinforzo..e algoritmi genetici

Algoritmo (cont)

4)Aggiorna: PÁ Ps

5)Valuta: ∀ h∈ , P calcol aFitness(h)

6)Restituisc i l'ipote si di P con valo rediFitne ss piùa .lto

Page 22: Apprendimento per rinforzo..e algoritmi genetici

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

c=(a1∧a2)∨(a2)

oppure:

IF (a1∧a2) THEN c

IF a2 THEN c

a1 a2 c a1 a2 c10 01 1 11 10 0

Page 23: Apprendimento per rinforzo..e algoritmi genetici

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

Page 24: Apprendimento per rinforzo..e algoritmi genetici

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]

Page 25: Apprendimento per rinforzo..e algoritmi genetici

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 dell’ambiente devono essere riprodotte fedelmente nella simulazione

0

20

32020

80

0

256

512

768

1024

y

z

x

0

20

140200

260

0

256

512

768

1024

y

z

x

4th IF sensor 8th IF sensor

Page 26: Apprendimento per rinforzo..e algoritmi genetici

Esempio: discriminare oggetti

explorare

evitare

avvicinarsi

discriminare

sensori motori

[Nolfi, 1996,1999]

•Distinguere muri da cilindri•Distinguere cilindri grandi da piccoli•Una rete per ogni “abilità”•Tuttavia, cattivi risultati

Page 27: Apprendimento per rinforzo..e algoritmi genetici

Discriminare fra oggetti (2)

genotype phenotype

[Nolfi, 1996]

Le cose funzionano meglio senza decomposizione!

Page 28: Apprendimento per rinforzo..e algoritmi genetici

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/