Q-learning è uno dei più conosciuti algoritmi di apprendimento per rinforzo. Fa parte della famiglia di algoritmi adottati nelle tecniche delle differenze temporali, relative ai casi di modelli a informazione incompleta. Uno dei suoi maggiori punti di rilievo consiste nell'abilità di comparare l'utilità aspettata delle azioni disponibili senza richiedere un modello dell'ambiente.

Descrizione modifica

Il suo obiettivo è quello di permettere ad un sistema di apprendimento automatico di adattarsi all'ambiente che lo circonda migliorando la scelta delle azioni da eseguire. Per giungere a questo obiettivo, cerca di massimizzare il valore del successivo premio per sconto.

Il modello del problema può essere descritto da un agente, un insieme di stati S e un insieme di azione per stato A. Effettuando un'azione   l'agente si muove da uno stato ad un altro stato. Ogni stato fornisce all'agente una ricompensa (un numero reale o naturale). L'obiettivo dell'agente è quello di massimizzare la ricompensa totale. L'agente fa questo apprendendo quali sono le azioni ottimali associate ad ogni stato.

Quindi l'algoritmo è provvisto di una funzione per calcolare la Qualità di una certa coppia stato-azione:

 

Prima che l'apprendimento inizi, Q restituisce un valore fisso, scelto dal progettista. Poi, ogni volta che l'agente riceve una ricompensa (lo stato è cambiato) vengono calcolati nuovi valori per ogni combinazione stato-azione. Il cuore dell'algoritmo fa uso di un processo iterativo di aggiornamento e correzione basato sulla nuova informazione.

 ,

dove   è una ricompensa osservata dopo aver eseguito   in  , e il tasso di apprendimento (o learning rate) è identificato da   ( ). Il fattore di sconto   è tale che  

La formula sopra è equivalente a:

 

Un episodio dell'algoritmo termina quando lo stato   è uno stato finale (o stato di assorbimento).

Notare che per tutti gli stati finali  ,   non viene mai aggiornato e quindi conserva il suo valore iniziale.

Influenza delle variabili sull'algoritmo modifica

Tasso di apprendimento modifica

Il tasso di apprendimento determina con quale estensione le nuove informazioni acquisite sovrascriveranno le vecchie informazioni. Un fattore 0 impedirebbe all'agente di apprendere, al contrario un fattore pari ad 1 farebbe sì che l'agente si interessi solo delle informazioni recenti.

Fattore di sconto modifica

Il fattore di sconto determina l'importanza delle ricompense future. Un fattore pari a 0 renderà l'agente "opportunista" facendo sì che consideri solo le ricompense attuali, mentre un fattore tendente ad 1 renderà l'agente attento anche alle ricompense che riceverà in un futuro a lungo termine.

Implementazione modifica

Una semplice implementazione di Q-learning usa tabelle per memorizzare i dati. Tuttavia questo approccio perde fattibilità al crescere del livello di complessità del sistema. Una possibile soluzione a questo problema prevede l'uso di una rete neurale artificiale come approssimatore di funzione.

Studi recenti modifica

Q-learning fu inizialmente introdotto da Watkins nel 1989[1].

La dimostrazione di convergenza fu presentata più tardi da Watkins e Dayan nel 1992[2].

Note modifica

  1. ^ Watkins, C.J.C.H., (1989), Learning from Delayed Rewards. Ph.D. thesis, Cambridge University.
  2. ^ (EN) Christopher J. C. H. Watkins e Peter Dayan, Q-Learning, in Machine Learning, vol. 8, 3–4, maggio 1992, pp. 279–292, DOI:10.1007/BF00992698, ISSN 0885-6125 (WC · ACNP).

Collegamenti esterni modifica