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 (A revised version is available on . Questa è, appunto, una forma di bootstrap, come si evince dal seguente esempio:
I metodi di differenza temporale sono in stretta correlazione al modello di differenza temporale dell'apprendimento animale.
Formulazione matematica 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:
dove e indicano, rispettivamente, il vecchio e il nuovo stato.
TD-Lambda TD-Lambda è un algoritmo di apprendimento creato da Richard S. Sutton basato su un precedente lavoro sull'apprendimento delle differenze temporali di Arthur Samuel. 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.
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
Voci correlate Q-learning SARSA
Altri progetti
Collegamenti esterni
(+ versione per cellulare) - autoappreso con il metodo TD-Leaf (combinazione di TD-Lambda con ricerca di alberi poco profondi) 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. , documento che spiega come l'apprendimento delle differenze temporali può essere utilizzato per accelerare il Q-learning Simulatore di differenze temporali per il condizionamento classico
Categoria:Neuroscienze computazionali Categoria:Apprendimento per rinforzo Categoria:Algoritmi per l'apprendimento automatico Categoria:Programmazione dinamica