Temporal difference learning
Il temporal difference (TD) learning, ovvero l'apprendimento mediante differenza temporale, indica una classe di metodi di reinforcement learning che basano il proprio apprendimento sul bootstrap dalla stima corrente della funzione obiettivo: questi metodi campionano dall'ambiente, così come il Metodo Monte Carlo, ma eseguono gli aggiornamenti della funzione di valore di stato basandosi sulle stime correnti, come avviene, invece, nella programmazione dinamica.
A differenza dei metodi Monte Carlo che modificano le loro stime solo quando il risultato finale è noto, questi metodi di distanza temporale adattano le proprie previsioni in modo dinamico, così da avere previsioni sul futuro più accurate, prima ancora che il risultato finale sia a disposizione[1]. Questa è, appunto, una forma di bootstrap, come si evince dal seguente esempio[1]:
"Supponi di voler prevedere il tempo per sabato e di avere un modello che prevede il tempo di sabato, avendo a disposizione il clima di ogni giorno della settimana. Di norma, aspetteresti fino a sabato e solo allora aggiusterai tutti i tuoi modelli. Tuttavia, quando è, ad esempio, venerdì, dovresti già avere una buona idea di come potrebbe essere il tempo sabato - e quindi essere in grado di cambiare, diciamo, il modello di sabato prima dell'arrivo di sabato".
I metodi di differenza temporale sono in stretta correlazione al modello di differenza temporale dell'apprendimento animale[2][3][4][5][6].
Formulazione matematica
[modifica | modifica wikitesto]Il metodo tabulare TD(0), uno dei metodi TD più semplici, stima la funzione di valore di stato di un processo decisionale di Markov (MDP) a stati finiti in base a una policy (o politica) . Sia la funzione del valore di stato di un MDP che ha stati , ricompense e un fattore di sconto per la policy :
soddisfa l'equazione di Hamilton-Jacobi-Bellman:quindi è uno stimatore non condizionato (a bias nullo) per . Questa osservazione giustifica il seguente algoritmo per stimare . L'algoritmo inizializza una tabella con valori arbitrati, scegliendo un valore per ciascuno degli stati del processo markoviano: viene inoltre fissato un tasso di apprendimento positivo. A questo punto viene valutata la policy , e una volta ottenuta la ricompensa , viene aggiornata la funzione del valore di stato per il vecchio stato usando la seguente regola[7]:
dove e indicano, rispettivamente, il vecchio e il nuovo stato.
TD-Lambda
[modifica | modifica wikitesto]TD-Lambda è un algoritmo di apprendimento creato da Richard S. Sutton basato su un precedente lavoro sull'apprendimento delle differenze temporali di Arthur Samuel[8]. Questo algoritmo è stato notoriamente applicato da Gerald Tesauro per creare TD-Gammon, un programma che ha imparato a giocare a backgammon al livello di giocatori esperti umani[9].
Il parametro può assumere valori compresi tra 0 e 1. Aumentando il valore di lambda, viene dato maggior peso alle ricompense che si ottengono in stati distanti da quello corrente.
Note
[modifica | modifica wikitesto]- ^ a b Richard Sutton, Learning to predict by the methods of temporal differences, in Machine Learning, vol. 3, n. 1, 1988, pp. 9–44, DOI:10.1007/BF00115009. (A revised version is available on Richard Sutton's publication page Archiviato il 30 marzo 2017 in Internet Archive.)
- ^ Schultz, W, Dayan, P & Montague, PR., A neural substrate of prediction and reward, in Science, vol. 275, n. 5306, 1997, pp. 1593–1599, DOI:10.1126/science.275.5306.1593, PMID 9054347.
- ^ P. R. Montague, P. Dayan e T. J. Sejnowski, A framework for mesencephalic dopamine systems based on predictive Hebbian learning (PDF), in The Journal of Neuroscience, vol. 16, n. 5, 1º marzo 1996, pp. 1936–1947, DOI:10.1523/JNEUROSCI.16-05-01936.1996, PMID 8774460.
- ^ P.R. Montague, P. Dayan e S.J. Nowlan, Using aperiodic reinforcement for directed self-organization (PDF), in Advances in Neural Information Processing Systems, vol. 5, 1993, pp. 969–976.
- ^ P. R. Montague e T. J. Sejnowski, The predictive brain: temporal coincidence and temporal order in synaptic learning mechanisms, in Learning & Memory, vol. 1, n. 1, 1994, pp. 1–33, PMID 10467583.
- ^ T.J. Sejnowski, P. Dayan e P.R. Montague, Predictive hebbian learning, in Proceedings of Eighth ACM Conference on Computational Learning Theory, 1995, pp. 15–18, DOI:10.1145/230000/225300/p15-sejnowski.
- ^ Reinforcement learning: An introduction (PDF), p. 130. URL consultato il 10 settembre 2019 (archiviato dall'url originale il 12 luglio 2017).
- ^ Richard Sutton e Andrew Barto, Reinforcement Learning, MIT Press, 1998, ISBN 978-0-585-02445-5. URL consultato il 10 settembre 2019 (archiviato dall'url originale il 30 marzo 2017).
- ^ Gerald Tesauro, Temporal Difference Learning and TD-Gammon, in Communications of the ACM, vol. 38, n. 3, March 1995, pp. 58–68, DOI:10.1145/203330.203343. URL consultato l'8 febbraio 2010.
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- Scholarpedia Differenza temporale Apprendimento
- TD-Gammon
- Gruppo di ricerca TD-Networks
- Connect Four TDGravity Applet (+ versione per cellulare) - autoappreso con il metodo TD-Leaf (combinazione di TD-Lambda con ricerca di alberi poco profondi)
- Autoapprendimento Meta-Tic-Tac-Toe Archiviato il 19 marzo 2014 in Internet Archive. Esempio di applicazione web che mostra come l'apprendimento delle differenze temporali può essere utilizzato per apprendere costanti di valutazione dello stato per un AI minimax giocando a un semplice gioco da tavolo.
- Reinforcement Learning Problem, documento che spiega come l'apprendimento delle differenze temporali può essere utilizzato per accelerare il Q-learning
- TD-Simulator Simulatore di differenze temporali per il condizionamento classico