Concepto de programación informática
El aprendizaje por diferencia temporal ( TD ) se refiere a una clase de métodos de aprendizaje por refuerzo sin modelos que aprenden arrancando a partir de la estimación actual de la función de valor. Estos métodos toman muestras del entorno, como los métodos de Monte Carlo , y realizan actualizaciones basadas en estimaciones actuales, como los métodos de programación dinámica .
Mientras que los métodos de Monte Carlo solo ajustan sus estimaciones una vez que se conoce el resultado final, los métodos TD ajustan las predicciones para que coincidan con predicciones posteriores, más precisas, sobre el futuro antes de que se conozca el resultado final. [2] Esta es una forma de bootstrapping , como se ilustra con el siguiente ejemplo:
Suponga que desea predecir el tiempo para el sábado y tiene algún modelo que predice el tiempo del sábado, dado el tiempo de cada día de la semana. En el caso estándar, esperarías hasta el sábado y luego ajustarías todos tus modelos. Sin embargo, cuando es, por ejemplo, viernes, debería tener una idea bastante clara del tiempo que hará el sábado y así poder cambiar, por ejemplo, el modelo del sábado antes de que llegue el sábado. [2]
Los métodos de diferencia temporal están relacionados con el modelo de diferencia temporal del aprendizaje animal . [3] [4] [5] [6] [7]
formulación matemática
El método tabular TD(0) es uno de los métodos TD más simples. Es un caso especial de métodos de aproximación estocástica más generales. Estima la función de valor de estado de un proceso de decisión de Markov (MDP) de estado finito bajo una política . Denotemos la función de valor estatal del MDP con estados , recompensas y tasa de descuento [8] bajo la política : ![{\displaystyle \pi }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle V^{\pi }}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (S_{t})_{t\in \mathbb {N} }}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \gamma}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \pi }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle V^{\pi }(s)=E_{a\sim \pi }\left\{\sum _{t=0}^{\infty }\gamma ^{t}R_{t+1} {\Bigg |}S_{0}=s\right\}.}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Eliminamos la acción de la notación por conveniencia. satisface la ecuación de Hamilton-Jacobi-Bellman : ![{\displaystyle V^{\pi }}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle V^{\pi }(s)=E_{\pi }\{R_{1}+\gamma V^{\pi }(S_{1})|S_{0}=s\},}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
también lo es una estimación imparcial para . Esta observación motiva el siguiente algoritmo para estimar .![{\displaystyle R_{1}+\gamma V^{\pi }(S_{1})}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle V^{\pi }(s)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle V^{\pi }}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
El algoritmo comienza inicializando una tabla de forma arbitraria, con un valor para cada estado del MDP. Se elige una tasa de aprendizaje positiva .
![{\displaystyle \alpha }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Luego evaluamos repetidamente la política , obtenemos una recompensa y actualizamos la función de valor para el estado actual usando la regla: ![{\displaystyle \pi }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle r}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle V(S_{t})\leftarrow (1-\alpha )V(S_{t})+\underbrace {\alpha } _{\text{tasa de aprendizaje}}[\overbrace {R_{t+1 }+\gamma V(S_{t+1})} ^{\text{El objetivo TD}}]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
donde y son los estados actual y siguiente, respectivamente. El valor se conoce como objetivo de TD y se conoce como error de TD.![{\displaystyle S_{t}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S_{t+1}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle R_{t+1}+\gamma V(S_{t+1})}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle R_{t+1}+\gamma V(S_{t+1})-V(S_{t})}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
TD-Lambda
TD-Lambda es un algoritmo de aprendizaje inventado por Richard S. Sutton basado en trabajos anteriores sobre aprendizaje de diferencias temporales de Arthur Samuel . Gerald Tesauro aplicó este algoritmo para crear TD-Gammon , un programa que aprendió a jugar backgammon al nivel de jugadores humanos expertos.
El parámetro lambda ( ) se refiere al parámetro de caída del rastro, con . Los ajustes más altos producen trazas más duraderas; es decir, se puede otorgar una mayor proporción de crédito de una recompensa a estados y acciones más distantes cuando sea mayor, produciendo un aprendizaje paralelo a los algoritmos de Monte Carlo RL. ![{\displaystyle\lambda}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle 0\leqslant \lambda \leqslant 1}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle\lambda}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \lambda =1}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
En neurociencia
El algoritmo TD también ha recibido atención en el campo de la neurociencia . Los investigadores descubrieron que la tasa de activación de las neuronas dopaminérgicas en el área tegmental ventral (VTA) y la sustancia negra (SNc) parecen imitar la función de error en el algoritmo. [3] [4] [5] [6] [7] La función de error informa la diferencia entre la recompensa estimada en cualquier estado o paso de tiempo determinado y la recompensa real recibida. Cuanto mayor sea la función de error, mayor será la diferencia entre la recompensa esperada y la real. Cuando esto se combina con un estímulo que refleja con precisión una recompensa futura, el error se puede utilizar para asociar el estímulo con la recompensa futura .
Las células de dopamina parecen comportarse de manera similar. En un experimento, se midieron las células de dopamina mientras se entrenaba a un mono para que asociara un estímulo con la recompensa del jugo. [14] Inicialmente, las células de dopamina aumentaron las tasas de activación cuando el mono recibió jugo, lo que indica una diferencia en las recompensas esperadas y reales. Con el tiempo, este aumento en las reacciones de respuesta se propagó al primer estímulo confiable para obtener la recompensa. Una vez que el mono estuvo completamente entrenado, no hubo ningún aumento en la tasa de disparo tras la presentación de la recompensa prevista. Posteriormente, la tasa de activación de las células de dopamina disminuyó por debajo de la activación normal cuando no se produjo la recompensa esperada. Esto imita fielmente cómo se utiliza la función de error en TD para el aprendizaje por refuerzo .
La relación entre el modelo y la función neurológica potencial ha producido investigaciones que intentan utilizar la TD para explicar muchos aspectos de la investigación conductual. [15] [16] También se ha utilizado para estudiar enfermedades como la esquizofrenia o las consecuencias de las manipulaciones farmacológicas de la dopamina en el aprendizaje. [17]
Ver también
Notas
- ^ ab Sutton, Richard S. (1 de agosto de 1988). "Aprender a predecir mediante los métodos de diferencias temporales". Aprendizaje automático . 3 (1): 9–44. doi : 10.1007/BF00115009 . ISSN 1573-0565. S2CID 207771194.
- ^ ab Schultz, W, Dayan, P y Montague, PR. (1997). "Un sustrato neural de la predicción y la recompensa". Ciencia . 275 (5306): 1593–1599. CiteSeerX 10.1.1.133.6176 . doi : 10.1126/ciencia.275.5306.1593. PMID 9054347. S2CID 220093382.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ ab Montague, PR; Dayán, P.; Sejnowski, TJ (1 de marzo de 1996). "Un marco para los sistemas de dopamina mesencefálicos basado en el aprendizaje hebbiano predictivo" (PDF) . La Revista de Neurociencia . 16 (5): 1936-1947. doi :10.1523/JNEUROSCI.16-05-01936.1996. ISSN 0270-6474. PMC 6578666 . PMID 8774460.
- ^ ab Montague, PR; Dayán, P.; Nowlan, SJ; Pouget, A.; Sejnowski, TJ (1993). "Uso de refuerzo aperiódico para la autoorganización dirigida" (PDF) . Avances en los sistemas de procesamiento de información neuronal . 5 : 969–976.
- ^ ab Montague, PR; Sejnowski, TJ (1994). "El cerebro predictivo: coincidencia temporal y orden temporal en los mecanismos de aprendizaje sináptico". Aprendizaje y Memoria . 1 (1): 1–33. doi : 10.1101/lm.1.1.1 . ISSN 1072-0502. PMID 10467583. S2CID 44560099.
- ^ ab Sejnowski, TJ; Dayán, P.; Montague, PR (1995). "Aprendizaje hebbiano predictivo". Actas de la octava conferencia anual sobre teoría del aprendizaje computacional: COLT '95 . págs. 15-18. doi : 10.1145/225298.225300 . ISBN 0897917235. S2CID 1709691.
- ^ El parámetro de tasa de descuento permite una preferencia temporal hacia recompensas más inmediatas y lejos de recompensas futuras lejanas.
- ^ Schultz, W. (1998). "Señal de recompensa predictiva de las neuronas de dopamina". Revista de Neurofisiología . 80 (1): 1–27. CiteSeerX 10.1.1.408.5994 . doi :10.1152/junio.1998.80.1.1. PMID 9658025. S2CID 52857162.
- ^ Dayan, P. (2001). "Aprendizaje por refuerzo motivado" (PDF) . Avances en los sistemas de procesamiento de información neuronal . 14 . Prensa del MIT: 11–18.
- ^ Tobia, MJ, etc. (2016). "Alteración de la capacidad de respuesta neuronal y conductual a ganancias contrafactuales en las personas mayores". Neurociencia cognitiva, afectiva y conductual . 16 (3): 457–472. doi : 10.3758/s13415-016-0406-7 . PMID 26864879. S2CID 11299945.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Smith, A., Li, M., Becker, S. y Kapur, S. (2006). "Dopamina, error de predicción y aprendizaje asociativo: una cuenta basada en modelos". Red: Computación en sistemas neuronales . 17 (1): 61–84. doi :10.1080/09548980500361624. PMID 16613795. S2CID 991839.
{{cite journal}}
: CS1 maint: multiple names: authors list (link)
Trabajos citados
- Sutton, Richard S.; Barto, Andrés G. (2018). Aprendizaje por refuerzo: una introducción (2ª ed.). Cambridge, MA: MIT Press.
- Tesauro, Gerald (marzo de 1995). "Aprendizaje de diferencias temporales y TD-Gammon". Comunicaciones de la ACM . 38 (3): 58–68. doi : 10.1145/203330.203343 . S2CID 6023746.
Otras lecturas
- Meyn, SP (2007). Técnicas de Control de Redes Complejas . Prensa de la Universidad de Cambridge. ISBN 978-0521884419.Ver capítulo final y apéndice.
- Sutton, RS; Barto, AG (1990). "Modelos derivados del tiempo de refuerzo pavloviano" (PDF) . Aprendizaje y neurociencia computacional: fundamentos de las redes adaptativas : 497–537.
enlaces externos
- Connect Four TDGravity Applet (+ versión para teléfono móvil): autoaprendizaje mediante el método TD-Leaf (combinación de TD-Lambda con búsqueda de árbol superficial)
- Ejemplo de aplicación web de autoaprendizaje Meta-Tic-Tac-Toe que muestra cómo se puede utilizar el aprendizaje de diferencias temporales para aprender constantes de evaluación de estado para una IA minimax que juega un juego de mesa simple.
- Problema de aprendizaje por refuerzo, documento que explica cómo se puede utilizar el aprendizaje por diferencia temporal para acelerar el Q-learning
- TD-Simulator Simulador de diferencia temporal para condicionamiento clásico