Temporal difference learning
1209759
221902225
2008-06-26T16:34:55Z
GregorB
179697
{{Wikify|date=June 2008}}
'''Temporal difference learning''' is a prediction method. It has been mostly used for solving the [[reinforcement learning]] problem. "TD learning is a combination of [[Monte Carlo method|Monte Carlo]] ideas and [[dynamic programming]] (DP) ideas." [2] TD resembles a [[Monte Carlo method]] because it learns by [[Sampling (statistics)|sampling]] the environment according to some '''policy'''. TD is related to [[dynamic programming]] techniques because it approximates its current estimate based on previously learned estimates (a process known as [[bootstrapping]]). The TD learning algorithm is related to the Temporal difference model of animal learning.
As a prediction method, TD learning takes into account the fact that subsequent predictions are often correlated in some sense. In standard supervised predictive learning, one only learns from actually observed values: A prediction is made, and when the observation is available, the prediction is adjusted to better match the observation. The core idea, as elucidated in [1], of TD learning is that we adjust predictions to match other, more accurate predictions, about the feature. This procedure is a form of bootstrapping as illustrated with the following example (taken from [1]):
: Suppose you wish to predict the weather for Saturday and that you have some model that predicts Saturday's weather given the weather of each day in the week. In the standard case, you would wait until Saturday and then adjust all your models. However, when it is, for example Friday, you should have a pretty good idea of what the weather would be on Saturday - and thus be able to change, say, Monday's model before Saturday arrives.
Mathematically speaking, both in a standard and a TD approach, we would try to optimise some cost function, related to the error in our predictions of the expectation of some random variable, E[z]. However, while in the standard approach we in some sense assume E[z]=z (the actual observed value), in the TD approach we use a model. For the particular case of reinforcement learning, which is the major application of TD methods, z is the total return and E[z] is given by the [[Bellman equation]] of the return.
== TD algorithm in neuroscience ==
The TD algorithm has also received attention in the field of [[Neuroscience]]. Researchers discovered that the firing rate of [[dopamine]] neurons in the [[ventral tegmental area]] (VTA) and [[substantia nigra]] (SNc) appear to mimic the error function in the algorithm [3]. The error function reports back the difference between the estimated reward at any given state or time step and the actual reward received. The larger the error function the larger the difference between the expected and actual reward. When this is paired with a stimulus that accurately reflects a future reward the error can be used to associate the stimulus with the future [[reward system|reward]].
[[Dopamine]] cells appear to behave in a similar manner. In one experiment measurements of dopamine cells were made while training a monkey to associate a stimulus with the reward of juice [4]. Initially the dopamine cells increased firing rates when exposed to the juice, indicating a difference in expected and actual rewards. Over time this increase in firing back propagated to the earliest reliable stimulus for the reward. Once the monkey was fully trained the dopamine cells stopped firing. This mimics closely how the error function in TD is used for [[reinforcement learning]].
The relationship between the model and potential neurological function has produced research attempting to use TD to explain many aspects of behavioral research [5]. It has also been used to study conditions such as schizophrenia or the consequences of pharmacological manipulations of dopamine on learning [6].
== Mathematical Background ==
Let <math> \lambda_t </math> be the reinforcement on time step ''t''. Let <math> \bar V_t </math> be the correct prediction that is equal to discounted sum of all future reinforcement. The discounting is done by powers of factor of <math> \gamma </math> such that reinforcement at distant time step is less important.
:<math> \bar V_t = \sum_{i=0}^{\infty} \gamma^i \lambda_{t+i} </math>
::<math> 0 \le \gamma < 1 </math>
This formula can be expanded
:<math> \bar V_t = \lambda_{t} + \sum_{i=1}^{\infty} \gamma^i \lambda_{t+i} </math>
by changing the index of i to start from 0.
:<math> \bar V_t = \lambda_{t} + \sum_{i=0}^{\infty} \gamma^{i+1} \lambda_{t+i+1} </math>
:<math> \bar V_t = \lambda_{t} + \gamma \sum_{i=0}^{\infty} \gamma^i \lambda_{t+1+i} </math>
:<math> \bar V_t = \lambda_{t} + \gamma \bar V_{t+1} </math>
Thus, the reinforcement is the difference between the ideal prediction and the current prediction.
:<math> \lambda_{t} = \bar V_{t} - \gamma \bar V_{t+1} </math>
'''TD-Lambda''' is a learning algorithm invented by Richard Sutton based on earlier work on [[temporal difference learning]] by Arthur Samuel [2]. This algorithm was famously applied by Gerald Tesauro to create [[TD-Gammon]], a program that can learn to play the game of [[backgammon]] nearly as well as expert human players. The lambda (<math>\lambda</math>) parameter here refers to the trace decay parameter, with <math>0 \le \lambda \le 1</math>. Higher settings lead to longer lasting traces; that is, a larger proportion of credit from a reward can be given to more distal states and actions when <math>\lambda</math> is higher, with <math>\lambda = 1</math> producing parallel learning to Monte Carlo RL algorithms.
== See also ==
* [[Reinforcement learning]]
* [[Q-learning]]
* [[SARSA]]
* [[Rescorla-Wagner model]]
==External links==
* [http://scholarpedia.org/article/Temporal_Difference_Learning Scholarpedia Temporal difference Learning]
* [http://www.research.ibm.com/massive/tdl.html#h3:stochastic_environment TD-Gammon]
* [http://rlai.cs.ualberta.ca/TDNets/index.html TD-Networks Research Group]
==References==
[0] Sutton, R.S., Barto A.G. (1990) ''Time Derivative Models of Pavlovian Reinforcement, Learning and Computational Neuroscience'' (available [http://www.cs.ualberta.ca/~sutton/papers/sutton-barto-90.pdf here]).
[1] Richard Sutton. Learning to predict by the methods of temporal differences. ''Machine Learning'' 3:9-44. 1988. (A revised version is available on [http://www.cs.ualberta.ca/~sutton/publications.html Richard Sutton's publication page])
[2] Richard Sutton and Andrew Barto. ''Reinforcement Learning''. MIT Press, 1998. (available [http://www-anw.cs.umass.edu/~rich/book/the-book.html online])
[3] Schultz, W, Dayan, P & Montague, PR. 1997. A neural substrate of prediction and reward. Science 275:1593-1599.
[4] Schultz W. 1998. Predictive reward signal of dopamine neurons. J Neurophysiology 80:1-27.
[5] Dayan P. 2002. Motivated reinforcement learning. In: Ghahramani T, editor. Advances in neural information processing system, Cambridge, MA: MIT Press.
[6] Smith, A., Li, M., Becker, S. and Kapur, S. (2006), Dopamine, prediction error, and associative learning: a model-based account. Network: Computation in Neural Systems 17(1):61-84.
[7] Gerald Tesauro. Temporal Difference Learning and TD-Gammon. ''Communications of the ACM'', March 1995 / Vol. 38, No. 3. (available at [http://www.research.ibm.com/massive/tdl.html Temporal Difference Learning and TD-Gammon])
[8] Imran Ghory. Reinforcement Learning in Board Games. http://www.cs.bris.ac.uk/Publications/Papers/2000100.pdf
[9] S. P. Meyn, 2007. [http://decision.csl.uiuc.edu/~meyn/pages/CTCN/CTCN.html Control Techniques for Complex Networks], Cambridge University Press, 2007. See final chapter, and appendix with abridged [http://decision.csl.uiuc.edu/~meyn/pages/book.html Meyn & Tweedie].
[[Category:Machine learning]]
[[Category:Computational neuroscience]]