Apprendimento Per Rinforzo
In inglese Reinforcement Learning, e' uno dei tre paradigmi principali dell'apprendimento automatico, insieme all'apprendimento supervisionato e a quello non supervisionato.
Essenzialmente, è costituito dall'apprendimento, da parte di un agente, di come eseguire un determinato compito, mappando dalle situazioni alle azioni, massimizzando una ricompensa (reward). Esempi di ricompensa sono il punteggio (score) in un videogame, oppure i chilometri percorsi senza fare incidenti in un sistema di guida autonomo. Esempi di azioni sono invece la pressione dei pulsanti su un joypad, l'accelerazione, la frenata, o lo sterzo di un veicolo.
A differenza dell'apprendimento supervisionato, in cui al modello viene data un'etichetta che rappresenta, in una determinata situazione, qual'è l'azione da intraprendere (quindi un problema di classificazione), nell'apprendimento per rinforzo il modello deve scoprire da sè quali sono le azioni che portano a una maggiore ricompensa, provandole: questi modelli infatti apprendono interagendo con l'ambiente.
In molti problemi affrontati da questi modelli, le azioni intraprese in un determinato istante influenzano non solo la ricompensa immediata, ma anche quella futura, influenzando quindi tutte le ricompense successive.
Le due caratteristiche distintive dei sistemi di apprendimento per rinforzo sono, quindi:
- Un tipo di ricerca delle azioni corrette da intraprendere in una data situazione di tipo trial and error (sbagliando s'impara)
- Una ricompensa non solo immediata, ma anche ritardata (delayed reward)
Gli elementi di un modello di apprendimento per rinforzo
Possiamo identificare le seguenti componenti:
- Un agente
- L'ambiente in cui l'agente si muove
- Una serie di azioni possibili
- Una policy (o politica), che definisce il modo in cui l'agente deve comportarsi in una determinata situazione. Essa è una mappatura dagli stati percepiti dall'ambiente alle azioni da intraprendere in quegli stati, e corrisponde a quello che in psicologia sono le associazioni stimolo-risposta
- Una funzione di ricompensa (reward) che mappa ogni stato percepito dall'ambiente a un singolo numero, una ricompensa, indicando in questo modo la desiderabilità intrinseca di quello stato: in pratica definisce quali sono gli eventi buoni o cattivi per l'agente. Essa viene utilizzata come base per aggiornare la politica.
- Una funzione di valore che specifica cosa è buono o cattivo nel lungo termine: il valore di un determinato stato è la ricompensa che un agente può aspettarsi di accumulare in futuro, partendo da quello stato, e non corrisponde quindi solamente alla ricompensa immediata.
- Opzionalmente, l'agente può avere a disposizione un modello dell'ambiente, che viene utilizzato per simulare, dato lo stato corrente e le possibili azioni, quale possa essere lo stato successivo. In questo senso, il modello viene utilizzato per pianificare le azioni successive.
Il compromesso tra esplorazione e azione
Una delle sfide principali in questo campo è il compromesso tra esplorazione e utilizzo della conoscenza del mondo acquisita fino a un dato istante. Da un lato, infatti, l'agente è portato a preferire delle azioni che ha imparato portare una ricompensa.
Dall'altro lato, invece, per scoprirle, l'agente deve anche provare delle azioni che non ha mai provato prima: il dilemma sta nel fatto che nè la pura esplorazione, nè lo sfruttamento della conoscenza (exploitation), possono essere usate esclusivamente senza fallire nel task.
Per quest l'agente deve provare una varietà di azioni e poi progressivamente preferire quelle che si rivelano essere le migliori per l'obiettivo di massimizzazione della ricompensa.
Esempi di apprendimento per rinforzo
Alcuni esempi possono essere utili nel comprendere l'apprendimento per rinforzo:
- Un giocatore di scacchi che effettua una mossa: la sua scelta dipende dalla pianificazione del gioco, a breve e lungo termine, e dall'anticipazione di possibili mosse di risposta da parte dell'opponente
- Un controller industriale che aggiusta i parametri di una raffineria di petrolio in tempo reale, ottimizzando il compromesso fra resa, costo e qualità sulla base di specifici costi marginali, senza aderire strettamente a dei valori preimpostati
- Un cucciolo di gazzella, che quando nasce fatica a mettersi in piedi, e che dopo mezz'ora riesce già a camminare
- Una persona che prepara la colazione, un task apparentemente semplice ma che rivela la complessità di obiettivi e sotto-obiettivi: camminare fino allo scaffale della cucina, scegliere dei cereali, raggiungerli con la mano, prenderli; ottenere un cucchiaio, un recipiente, il latte. Tutti questi task coinvolgono il coordinamento del segnale visivo dall'occhio umano, per ottenere informazione dell'ambiente, e una serie di velocissimi giudizi su pesi e distanze degli oggetti trasporrtati.
Links
https://web.archive.org/web/20090806064734/http://www.cs.ualberta.ca/~sutton/book/ebook/node7.html
https://www.kdnuggets.com/2017/01/eat-melon-deep-q-reinforcement-learning-demo.html