• Non ci sono risultati.

CAPITOLO 4: Reinforcement Learning

N/A
N/A
Protected

Academic year: 2021

Condividi "CAPITOLO 4: Reinforcement Learning"

Copied!
15
0
0

Testo completo

(1)

CAPITOLO 4: Reinforcement Learning

L’interazione con l’ambiente e la costruzione di un’esperienza sono alla base dell’apprendimento umano. Attraverso il gioco, ad esempio, un bambino raccoglie informazioni sull’ambiente ed è in grado, impegnando i sensi e il movimento, di collocarsi correttamente in esso, saper anticipare l’effetto delle proprie azioni e agire in funzione di tale stima. Questo è un approccio generale e, in un contesto ristretto e semplificato, può essere applicato anche da un automa.

In un ambiente non più complesso di una scacchiera o del piano di un gioco da tavolo, possiamo associare alle azioni del nostro Agente un segnale di ricompensa e dare alla macchina il compito di massimizzare questo valore. Così, per ogni stato in cui si troverà, l’agente andrà alla ricerca del massimo guadagno stimato, accrescendo di volta in volta la propria esperienza. E’ così che un automa, ad esempio “scacchista”, lasciato giocare per migliaia di mosse contro se stesso, può acquisire l’esperienza sufficiente per mettere in difficoltà anche grandi campioni.

Lo scopo del capitolo è quello di mostrare i metodi e gli elementi principali del Reinforcement Learning, in modo da far capire al lettore che “cos’è e come” funziona.

1 Introduzione

Supponiamo di voler costruire una macchina che impara a giocare a scacchi. In questo caso non possiamo usare un allievo sorvegliato da un’insegnante per due ragioni: è molto costoso avere un insegnante che ci mostra molte partite e ci indica la migliore posizione, secondo in molti casi non esiste una mossa migliore, ma questa dipende dalla mossa del nostro avversario.

Una singola mossa non conta, una sequenza di mosse è buona, se dopo aver giocato noi vinciamo. Il solo feedback è alla fine quando noi vinciamo o perdiamo.

Un atro esempio è un robot collocato in un labirinto. Questo può muoversi in una delle quattro direzioni (Nord, Sud, Est, Ovest) e per raggiungere l’uscita deve compiere una sequenza di movimenti.

Finché il robot è nel labirinto, non c’è feedback e il robot cerca molti movimenti fino a quando non trova l’uscita e solo allora ottiene una ricompensa (reward). In questo caso non c’é avversario, ma l’obiettivo è quello di scegliere la traiettoria più corta, così il nostro avversario diventa il tempo.

(2)

Queste due applicazioni hanno numerosi punti in comune: c’è un decision-maker, chiamato “Agente” che è collocato in un ambiente. Negli scacchi, il giocatore è il decision-maker, mentre l’ambiente è la scacchiera; nel secondo caso, il labirinto è l’ambiente del robot. In qualunque momento, l’ambiente si trova in uno stato che è uno tra gli stati possibili. Il decision-maker può scegliere tra un insieme di azioni possibili: movimenti sulla scacchiera, movimenti del robot senza colpire le pareti e così via.

Un agente che apprende impara le migliori sequenze di azioni per risolvere un problema, dove per migliore si intende una sequenza di azioni che permettono di accumulare la massima ricompensa (reward). Questo è il contesto del Reinforcement Learning (Apprendimento con rinforzo).

Il Reinforcement Learning è differente dagli altri metodi di learning; esso è definito “learning with a critic”, in opposizione al learning con un’insegnante (learning with a teacher) che si ha in un apprendimento supervisionato. Un “critic” differisce da un insegnante in quanto esso non ci dice cosa fare, ma solo se nel passato abbiamo fatto bene. Il Reinforcement learning è un approccio computazionale per capire e automaticamente imparare la direzione obiettivo e prendere decisioni; è quindi una classe di algoritmi iterativi. Si distingue dagli altri approcci computazionali per la sua enfasi sull’apprendimento e dall’individuale iterazione con l’ambiente.

Il Reinforcement learning usa una struttura formale definendo le iterazioni tra un learning agent (agente che apprende), il suo ambiente in termini di stati, azioni e il reward (premio). E’ prevista una ricompensa per ogni istante di tempo. Le azioni vengono valutate mediante la ricompensa a lungo termine ad esse associata.

La strategia (di movimento, di gioco) non è data a priori ma viene appresa attraverso la ricerca euristica: trial-and-error, ovvero la ricerca dell’azione migliore mediante prove.

Questa struttura è organizzata in modo da dare una rappresentazione essenziale delle caratteristiche del problema dell’intelligenza artificiale. Queste caratteristiche includono un significato di causa ed effetto, un significato di incertezza, di non determinismo e l’ esistenza di obiettivi espliciti.

Il Reinforcement Learning può essere usato in tutti quei problemi in cui non è possibile conoscere il comportamento desiderato per il nostro learner in modo da guidarlo e nelle situazioni in cui vogliamo che il nostro learner impari dalla propria esperienza, interagendo in maniera diretta con il suo ambiente.

L'obiettivo e' quello di scoprire quali azioni compiere in ogni situazione in modo da massimizzare la ricompensa attesa nel lungo periodo. In pratica si cerca di far sviluppare

(3)

all'agente un comportamento (policy) che lo porti a selezionare le azioni più adatte a raggiungere un obiettivo.

1.1 Problema del bandito con K braccia

Il k-armed bandit (bandito con k braccia) è un’ipotetica slot machine con k livelli. Quando noi tiriamo la leva (azione) possiamo vincere una ricompensa (reward). L’obiettivo è quello di decidere che leva tirare per ottenere la massima ricompensa a lungo termine.

Possiamo selezionare n-azioni: a = a1, a2,…..an ; ciascuna di queste azioni ha un suo

valore: Q*(aK), questa è chiamata funzione valore, Q(a), ed è una stima del valore

dell’azione aK nel lungo termine. Inizialmente Q(a) è uguale a zero per tutte le azioni.

Quando proviamo un azione a, riceviamo un premio ra>= 0. Se i premi sono

deterministici, solitamente prendiamo un premio per ogni azione, Q(a).= ra.

Se vogliamo sfruttare, tutte le volte che troviamo un’azione con Q(a)> 0, noi possiamo sceglierla e prendere ra ad ogni tiro. E’ possibile che ci siano altre leve con alto punteggio

(premio) quindi dobbiamo anche esplorare. Possiamo scegliere differenti azioni e conservare il Q(a). Ogni volta che sfruttiamo, noi dobbiamo scegliere l’azione che massimizza il valore: scegliamo a* se Qt(a*)= maxa Qt (a).

In caso di sfruttamento possiamo stimare il valore all’istante t , come:

Quando Ka →∞ per la legge dei grandi numeri , Qt (a) = Q*(a).

Se i premi non sono deterministici ma stocastici (il suo ripetersi sotto le stesse condizioni produce risultati diversi) allora noi riceviamo un premio differente ogni volta che scegliamo la stessa azione. L’ammontare del premio è definito da una probabilità p(r/a), in tale situazione Qt(a) è uno stimatore del valore dell’azione al tempo t. E’ una media di tutti

i premi ricevuti quando un azione a era scelta prima del tempo t. Un aggiornamento può essere definito come:

[

( ) ( )

]

) ( ) ( 1 1 a Q a r a Q a Qt+ ← t +

η

t+ − t

Dove rt+1(a) è il premio ricevuto dopo l’azione al tempo (t+1), η è il fattore di apprendimento (gradualmente decresce nel tempo per convergenza) rt+1(a) è l’output desiderato Qt(a) è la predizione corrente. Qt+1(a) è il valore atteso dall’azione a al tempo (t+1) e converge al significato di p(r|a) con t che cresce.

(4)

Il problema del Reinforcement Learning generalizza questo semplice caso per diversi motivi: primo abbiamo molti stati, questo corrisponde ad avere molte slot machines con differenti probabilità di vincita, p(r|si,aj) e noi abbiamo bisogno di conoscere Q(si,aj), che è

il valore associato all’azione aj quando si trova nello stato si,. Secondo la conseguenza dell’azione non è solo il premio ma anche il passaggio nel prossimo stato, e noi ci muoviamo da uno stato all’altro. Terzo i premi sono in ritardo, e noi abbiamo bisogno di stimare il valore di questo ritardo.

2 Elementi del Reinforcement Learning

Gli elementi di un sistema di Reinforcement Learning quindi sono:

Agente (Agent)

Ambiente (Enviroment)

Tempo (Time)

Funzione di rinforzo (Reward function)

Comportamento o strategia (Policy)

Funzione valore (Value function)

Figura 1 Iterazione tra agente-ambiente nel Reinforcement learning

Per Agent si intende un’entità che è in grado di interagire con l’ambiente (Enviroment) che lo circonda attraverso dei sensori, di prendere decisioni ed eseguire delle azioni attraverso degli attuatori. L’agent implementa una policy aggiorna la value function e aggiorna la policy. (queste tre fasi sono sequenziali)

Di volta in volta, l’agent può trovarsi in vari stati. Lo stato riassume la posizione dell’agent nei confronti del task; se uno stato è associato con la fine del task è detto

ENVIRONMENT

ENVIRONMENT

ENVIRONMENT

ENVIRONMENT

Agent

Agent

Agent

Agent

(5)

terminale. L’Agent ha un comportamento goal-directed ma agisce in un ambiente (enviroment) incerto non noto a priori o parzialmente noto.

L’Enviroment fornisce l’input in base al quale l’agente aggiorna lo stato. L’enviroment può essere caratterizzato da un numero finito di stati, mondo discreto (Discrete world), esempio, S={(1,1),(1,2),……,(4,3)};

Figura 2 Esempio mondo discreto

oppure può avere un numero infinito di stati, mondo continuo (Continue world), esempio, un robot con coordinate (x, y,

θ

).

Il modello dell’ambiente (model of enviroment) da valutazione implicita dello svolgimento delle azioni future (trial-and-error) e valutazione esplicita mediante modello dell’ambiente della sequenza di azioni e stati futuri.

Il time è solitamente una grandezza discreta, e può servire a misurare e limitare

(imponendo un Timeout) il numero di cicli operati dall’Agent.

Un task la cui durata non sia limitata né dalla presenza di stati terminali né dalla definizione di un timeout si dice continuo, altrimenti si dice episodico.

La reward Function associa una ricompensa immediata ad ogni stato, oppure ad ogni

coppia stato-azione. Mette in relazione gli stati percepiti (o coppia stato-azione) con un valore numerico: il reward. Il reward indica la desiderabilità dello stato ed è usato come base per il cambiamento della policy.

La policy è la politica seguita dall’Agent, ovvero rappresenta il modo in cui si presenta

il learning agent in un determinato istante. In essa è descritto il comportamento dell’Agent in relazione con l’ambiente: ad ogni possibile stato è associata una azione. Può essere vista come una sorta di mappatura (mapping) di stati percepiti dall’ambiente e azioni da intraprendere in quegli stati.

La value Function è una funzione che ad ogni stato associa un valore, definito come

(6)

saranno premiate le azioni che condurranno verso una maggiore utilità stimata. Indica la desiderabilità degli stati nel lungo periodo (ricompensa a lungo periodo) valutando gli stati che potrebbero seguire e i rewards ottenibili in tali stati.

2.1 Problema decisionale di Markov

Quando un agente fa un’azione, l’ambiente gli offre un premio (reward). Il tempo è discreto con t = 0,1,2,3,4,5 e st S, dove S è l’insieme di tutti i possibili stati. Al tempo t l’agente fa un’azione at

Α

(st ),che indica l’azione che l’agente fa al tempo t, dove

Α

(st ) è l’insieme di tutte le possibili azioni nello stato st. Quando un agente è nello stato st fa un’azione at , come conseguenza riceve un premio rt+1∈R e si muove nel prossimo stato st+1.

Figura 3 Iterazione Agent-Enviroment

Il problema è modellato usando un Markov decision process (MDP). Se il numero degli stati e lo spazio delle azioni sono finiti allora esso è chiamato un finite Markov decision process (finite MDP), questo è particolarmente importante nella teoria del Reinforcement Learning. Si ha un MDP, però solo se la funzione di transazione di stato (cioè la regola che lega l’azione con lo stato successivo), è fissa e indipendente dalla storia passata, ovvero funzione solo dello stato; ma ciò è normalmente vero nell’iterazione con un ambiente naturale, se si assume un’approssimazione statistica dello stesso. In realtà un processo markoviano è più generale in quanto può essere stocastico, e la funzione di transizione è definita da una funzione densità di probabilità.

Consideriamo come generalmente l’ambiente potrà rispondere al tempo t+1 a un’azione intrapresa al tempo t.

Dati alcuni stati e azioni, s e a, la probabilità di ogni prossimo stato, s

, è:

(7)

Queste quantità sono chiamate “transition probabilities” (probabilità di transazione). Analogamente dati alcuni stati correnti e azioni, s e a, insieme con qualsiasi prossimo stato, s

, il valore atteso del prossimo reward è:

R

ass

= E{ r

t+1

| s

t =

s ,a

t=

a, s

t+1

=s

}

Si deve notare che questo è un sistema markoviano dove il reward e gli stati dipendono solo dallo stato corrente o dall’azione. In alcune applicazioni il reward e il prossimo stato sono deterministici, e per un certo stato e azione, c’è un possibile reward: rt+1 = r (st , at).

Per capire meglio quello che è stato appena detto facciamo un esempio: AIBO Search

Vediamo il funzionamento del robot: Se il livello di energia è alto (st =alto):

se scelgo Wait allora st+1 =alto.

se scelgo Search, st+1 avrà una certa probabilità di diventare low.

P

high-> low| Search

= Pr

{ st+1 =low| st =high, at = Search}= α

Se il livello di energia è basso (st =basso):

se scelgo Wait allora st+1 =basso.

se scelgo Recharge allora st+1=alto

se scelgo Search, st+1 avrà una certa probabilità di fermarsi

P

high-> low| Search

= Pr

{ st+1 =low| st =low, at = Search}= β La funzione Reward :

R

s->s|a

= E{ r

t+1

| s

t =

s ,a

t=

a, s

t+1

=s

}

Task: collezionare il maggior numero di lattine. Azioni:

• Rimanere fermo e aspettare che qualcuno getti nel cestino una lattina vuota.

• Muoversi attivamente in cerca di lattine • Tornare sulla base e ricaricarsi.

Stato:

• Alto livello di energia (high) • Basso livello di energia (Low)

Policy:

• A(s = high) = {Search, Wait}

• A(s = low) = {Search, Wait, Recharge}

(8)

R

search reward se il robot sta cercando

R

wait reward se il robot sta fermo -3 se occorre portarlo a ricaricarsi.

0 se il robot va autonomamente a ricaricarsi.

R

search

> R

wait

Quanto appena detto può essere rappresentato con la tabella sotto riportata:

Il grafico delle transizioni può invece essere rappresentato in questo modo:

2.2 Funzione valore

A secondo dell’applicazione, un certo stato può essere disegnato come stato iniziale e in alcune applicazioni c’è anche uno stato terminale (goal) dove la ricerca finisce; tutte le azioni in questo stato ritornano su se stesse con probabilità 1 e senza un reward. La sequenza delle azioni dall’inizio allo stato terminale è un episode o un trial.

La policy , π, definisce il comportamento dell’agente, è un mapping dagli stati dell’ambiente alle azioni: π: S A.

(9)

La policy definisce l’azione che deve essere fatta nello stato st: at = π (st). Il valore di

uno stato sotto la policy π, denotato con Vπ(s) , è il valore atteso cumulativo del reward

(ricompensa a lungo termine), che sarà ricevuto dall’agente se parte dallo stato s e da li in poi segue le policy π.

Eπ{} denota il valore atteso posto che l’agente segua la policy π. Questa funzione è chiamata state-value function per la policy π.

Dove 0≤γ <1 è il discontinue rate per mantenere il ritorno limitato. Se γ = 0, allora conta solo il reward immediato. Con γ vicino a 1, il reward futuro nel futuro conta di più. Con γ < 1 generalmente c’è un tempo limite di sequenze di azioni che si devono risolvere nel task.

Allo stesso modo possiamo definire il valore ottenuto scegliendo l’azione a nello stato s seguendo la policy π.

Questa funzione Qπ è chiamata action-value function per la policy π.

Per ogni politica π, c’è un Vπ( st) e noi vogliamo trovare la policy ottima π*:

V

*

( s

t

) = max V

π

( s

t

),

s

t

Questa funzione è chiamata funzione ottima stato-azione (optimal state-value function) . In alcune applicazioni, per esempio,noi preferiamo usare valori stato-azione pari, Q(st , at).

V( st) denota quanto buono è per l’agente essere nello stato st , mentre Q(st , at) denota

quanto buona è la performance dell’azione at in quello stato. Noi definiamo Q*(st , at) come

il valore atteso cumulativo del reward, dell’azione at nello stato st. Il valore dello stato è

uguale al valore della migliore azione possibile:

V

*

( s

t

) = max Q

*

(s

t ,

a

t

)

(10)

)]

'

(

max

[

P

max

)

s

*

V

,

|

P

]

r

[

max(

)

s

(

*

* ' ' ' ' a ) ( s * at) s (s t 1 1 t t 1 t 1 t t

s

V

R

E

V

a a ss s a ss

γ

γ

+

=

+

=

+ + + +

L’equazione sopra riportata è conosciuta come equazione ottima di Bellman (Bellman optimality equation) per V*.

Per ogni possibile prossimo stato

, s

t+1

,

ci muoviamo con probabilità P(

s

t+1

| s

t

, a

t) e continuiamo da qui usando la policy ottima. Il valore atteso del reward è V*(st+1).

Allo stesso modo noi possiamo scrivere Bellman optimality equation per Q*.

)]

'

,

'

(

max

[

P

max

)

a

s

*

Q

max

,

|

P

]

r

[

max(

)

a

s

(

*

* ' ' ' ' a ) ( a s * at) s (s t 1, t 1 1 t 1 t t 1 t 1 t t t,

a

s

Q

R

E

Q

a a ss s a ss

γ

γ

+

=

+

=

+ + + + + +

La Bellman optimality equations sono speciali condizioni che la funzione valore ottimo (optimal value function) deve soddisfare e queste possono essere risolte per determinare con facilità la policy ottima.

Una volta che abbiamo il valore di Q*(st,at), possiamo definire la nostra policy π

considerando l’azione

a

t *

come il valore più alto tra tutti Q*(st,at).

π*

(st): scegli l’azione at* dove

*

(

s

a

)

max

*

(

s

t,

a

t

)

1 t t t, a *

Q

Q

+

=

Questo significa che se noi abbiamo il valore Q*(st,at), allora usando una ricerca greedy

ad ogni step locale otteniamo la sequenza ottimale degli steps che massimizzano il reward cumulativo. Il termine greedy è usato in informatica per descrivere alcune procedure di ricerca o di decisione che selezionano alternative basate solo su considerazioni locali o immediate, senza considerare la possibilità, che così, una selezione può impedire l’accesso futuro a un’alternativa migliore. Di conseguenza descrive una politica che seleziona azioni basate solo su le loro conseguenze a breve termine.

Continuando l’esempio, AIBO Search,vediamo come si usano Bellman optimality

(11)

Con Vh indichiamo la value function per lo stato high (h), mentre con Vl indichiamo la value function per lo stato low (l).

La policy ottima è calcolata come:

2.3 Softmax & ε-greedy

Per ottenere il massimo reward e raggiungere il massimo obiettivo il learning agent deve:  Sfruttare (exploit) le azioni di cui conosce già il reward

 Esplorare (explore) o provare a compiere nuove azioni per selezionane migliori in futuro.

Esistono alcuni semplici metodi per bilanciare l’Exploration e l’Exploitation questi sono:  ε-greedy

(12)

Per esplorare una possibilità è di usare un metodo ε -greedy dove con probabilità ε scegliamo casualmente fra tutte le possibili azioni, vale a dire esploriamo e con probabilità 1- ε scegliamo l’azione migliore, vale a dire sfruttiamo.

Non vogliamo continuare a esplorare all’infinito ma iniziamo sfruttando una volta che abbiamo abbastanza esplorato; per questo iniziamo con un alto valore di ε e gradualmente lo decrementiamo. Per la maggior parte del tempo si comporta come i metodi action-value, che utilizzavano la greedy action (ovvero l’azione che ha valore stimato migliore), ma ogni tanto (con probabilità ∈) seleziona un’azione in modo casuale, indipendentemente dalla stima del valore dell’azione.

Noi abbiamo la necessita di assicurarci che la nostra policy sia soft, la probabilità di scegliere alcune azioni a∈Α nello stato s S è più grande di zero.

Per convertire il valore in probabilità possiamo scegliere di utilizzare la funzione Softmax; l’azione a nella mossa t-esima è scelta con probabilità:

Dove

τ

è un parametro positivo chiamato temperatura, alti valori della temperatura fanno si che le azioni siano tutte equi probabili, o quasi, basse temperature producono ampie differenze nella probabilità di selezione delle azioni. Al limite

τ

-> 0

il metodo softmax coincide con il metodo ε -greedy.

(13)

3 Metodi del Reinforcement Learning

I tre principali metodi del Reinforcement learning sono:

Ogni classe di metodi ha i suoi punti di forza e di debolezza. I metodi di Programmazione dinamica (Dynamic Programmino DP) si riferiscono a una collezione di algoritmi che possono essere usati per elaborare ottime politiche dato un perfetto modello dell’ambiente come processi decisionali di Markov (Markov decision process, MDP). I classici algoritmi del DP sono di utilità limitata sia perché assumono l’esistenza di un modello perfetto sia a causa del loro elevato costo computazionale; non dobbiamo però tralasciare la loro importanza teorica.

I metodi di Monte Carlo non richiedono un modello e sono concettualmente semplici, ma non sono adatti per incrementi computazionali step-by-step.

I metodi Temporal-difference learning (TD) non richiedono un modello e sono interamente incrementali, ma sono più complessi da analizzare. TD learning è una combinazione dell’idee di Monte Carlo e del Dynamic Programming Come i metodi di Monte Carlo, i metodi TD possono imparare direttamente dall’esperienza senza un modello dell’ambiente dinamico. Come DP, i metodi TD aggiornano le stime basandosi sulle altre stime imparate, senza attendere un risultato finale.

Oltre ai tre metodi appena descritti, quello che distingue il Reinforcement Learning dagli altri tipi di learning è che esso usa le informazioni di addestramento che valutano

(14)

(Evaluation1) le azioni intraprese, piuttosto che istruirsi (Istruction2) dalle azioni correnti. Valutare il feedback ci aiuta a capire la bontà dell’azione, ma non se questa è la migliore o peggiore azione possibile. La valutazione del feedback (Evaluative feedback) è alla base dei metodi per ottimizzare le funzioni.

Dopo aver descritto che cos’è e come funziona il Reinforcement Learning, nel prossimo paragrafo descriveremo uno degli algoritmi, detto Q-Learning, che realizza un’ottima sintesi dei concetti di base di questa disciplina.

4 Algoritmo Q-Learning

Le tecniche Temporal-difference learning permettono, come abbiamo accennato precedentemente, di stimare i valori degli stati o delle coppie (s,a) mentre si attraversano gli stati, ovvero mentre si fa vivere l’agente. Per ogni stato, o meglio per ogni coppia (s,a) attraversata, si considera lo stato successivo di arrivo e l’azione, che da questo, il comportamento impostato sceglierà. Con questi valori e con l’eventuale rinforzo immediato , si provvederà ad aggiornare la stima del valore medio della coppia (s,a) attraversata.

Figura 4 Q-Learning

Ma se a questo punto invece dell’azione decisa dal comportamento impostato, si considerasse quella con valore Q più elevato, la velocità di convergenza verso il

1

Evaluation: forma di retro azione mediante la quale l’agente riceve un reward che dà delle informazioni su quanto l’azione fosse buona, ma non sulla correttezza o meno della stessa.

2

Instruction: è il comune modo di lavorare di un metodo di apprendimento supervisionato; fornisce solo info sulla correttezza dell’azione.

(15)

comportamento migliore non potrebbe che aumentare. E’ questa la sostanza del metodo, attualmente più utilizzato nelle applicazioni con rinforzo: il metodo detto del Q-Learning.

Il metodo Q-Learning permette di modificare il comportamento e di aggiornare nel contempo i valori di Q passo passo mentre percorre gli stati, cioè mentre agisce nell’ambiente.

Figura 5 Agente che utilizza il Q-Learning

Il metodo Q-Learning è un metodo di tipo “off-policy”, cioè indipendente da una policy definita da seguire e valutare.

Ad ogni iterazione, l’Agente sceglie l’azione a a partire dallo stato attuale s in base alla valutazione dei valori di Q(s,a) di cui dispone. In questa scelta può seguire diversi approcci, ad esempio quello ∈-greedy, che con probabilità e esegue una azione diversa da quella considerata ottima (questo per permettere all’agente di intraprendere anche cammini inizialmente considerati meno “appetibili”).

Una volta eseguita l’azione, l’Agente acquisisce il valore di reward e lo usa per aggiornare la valutazione di Q per lo stato appena lasciato. Nelle iterazioni successive si comporrà così all’interno della funzione Q l’esperienza dell’Agente nei vari stati, portandolo a generare una policy in cui sono preferite le azioni che conducono ai massimi valori di reward.

5 Considerazioni conclusive

Gli algoritmi del Reinforcement Learning tentano di cogliere un’informazione di feedback ad ogni istante della vita, modificando di conseguenza il comportamento.

Questo è il concetto che sta alla base degli algoritmi di rinforzo, ed è l’idea da cui siamo partiti per sviluppare il progetto oggetto della tesi.

Figura

Figura 1 Iterazione tra agente-ambiente nel Reinforcement learning
Figura 2 Esempio mondo discreto
Figura 3 Iterazione Agent-Enviroment
Figura 4 Q-Learning
+2

Riferimenti

Documenti correlati

One of the main problems of representation theory is to classify irredicible and indecomposable representations of a given algebra up to isomorphism.. This problem is usually hard

Following the idea of approximating the variance gamma distribution with a finite mixture of normals (see Bellini and Mercuri [5]), we derive a simple histor- ical estimation

With the signing of the Memorandum of Understanding on Specific Economic Policy Conditionality (MoU) by the so-called 'Troika' (International Monetary Fund, European

How are EU rules transposed into national law?, European network of legal experts in gender equality and non-discrimination; European Union, p. 14, and European Commission,

Ma anche nomi più complessi di simboli, se servono a rendere più comprensibile lo scenario rappresentato:.. –

• In questo caso, per descrivere il sistema dinamico si utilizza un numero di variabili (tipicamente variabili interne) pari alla dimensione dinamica del siste- ma.. 11) Sintesi

–– Lo Lo spazio spazio degli degli stati stati èè l’insieme l’insieme di di tutti tutti gli gli stati stati raggiungibili raggiungibili dallo dallo stato stato –– Lo Lo

• value function and rollout to propagate information in the tree search, as well as to update the