0% encontró este documento útil (0 votos)
8 vistas6 páginas

Monte Carlo

El método de diferencia temporal es un enfoque de aprendizaje por refuerzo que combina características de Monte Carlo y programación dinámica, permitiendo estimaciones de valor sin un modelo del entorno. Se divide en métodos on-policy y off-policy, siendo Sarsa y Q-learning sus algoritmos principales. Además, se exploran variantes como Deep Q-learning y Q-learning doble, que utilizan redes neuronales para mejorar la estabilidad y precisión en la estimación de valores.

Cargado por

Andrea Caustica
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas6 páginas

Monte Carlo

El método de diferencia temporal es un enfoque de aprendizaje por refuerzo que combina características de Monte Carlo y programación dinámica, permitiendo estimaciones de valor sin un modelo del entorno. Se divide en métodos on-policy y off-policy, siendo Sarsa y Q-learning sus algoritmos principales. Además, se exploran variantes como Deep Q-learning y Q-learning doble, que utilizan redes neuronales para mejorar la estabilidad y precisión en la estimación de valores.

Cargado por

Andrea Caustica
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

2.3.7.3 M ÉTODO DE D IFERENCIA T EMPORAL .

Método del aprendizaje por refuerzo sin modelo basado en el muestreo, por lo que no requiere del
modelo para estimar sus funciones de valor. Al igual que el método de Monte Carlo este toma muestras
del entorno y realiza actualizaciones basadas en estimaciones actuales como en el método de
programación dinámica.
Se ajusta a las predicciones para coincidir con predicciones posteriores y más precisas sobre el futuro
antes de conocer el resultado final. Este método combina la ventaja de la programación dinámica y el
método de Monte Carlo, ya que permite realizar bootstrapping, es decir estimar valores con base a otras
estimaciones como en la (Programación Dinámica). A su vez, no requiere tener un modelo del ambiente
como en (Monte Carlo).
La diferencia temporal utiliza el error o diferencia entre predicciones continuas, en vez del lugar de
error entre la predicción y la salida final. Este aprende al existir cambios entre las predicciones sucesivas.
Su ventaja es que es completamente incrementable, siendo fácil de computar, además de que converge
más rápido y genera mejores predicciones.
La diferencia temporal más simple se denota de la siguiente manera:

𝑉(𝑠𝑡 ) ← 𝑉(𝑠𝑡 ) + 𝛼[𝑟𝑡+1 + 𝛾𝑉(𝑠𝑡+1 ) − 𝑉(𝑠𝑡 )]

Inicializa V(s) arbitrariamente y π es la política a evaluar


Repite (para cada episodio):
Inicializa s
Repite (para cada paso del episodio):
a ←acción dada por π para s
Realiza acción a; observa la recompensa, r y el siguiente estado, s′
V(s) ← V(s) + α[r + γV(s′) − V(s)]
s ← s′
hasta que s sea terminal
ALGORITMO DE DIFERENCIA TEMPORAL (0)

El método de diferencia temporal se divide en dos clases, que se diferencia por unas características muy
importantes, que son las siguientes:
• Métodos on-policy: es el método que estima el valor de la política mientras es usado para el
control. Por lo tanto, esta se trata de mejorar la política que se utiliza en la toma de decisiones.
• Método off-policy: es el método la política y el control se utilizan por separado, donde la
estimación de la política pudiese ser por ejemplo el greedy y la política del comportamiento él
𝜺-greedy. Es decir, la política de control no puede tener relación con la política utilizada en el
algoritmo.
Los algoritmos principales para los métodos de diferencia temporal son: Q-learning y Sarsa.

2.3.7.3.1 S ARSA : MÉTODO ON - POLICY .


Utiliza la experiencia de acción del estado, recompensa, acción de estado para actualizar los valores
de Q. En este algoritmo de aprendizaje por refuerzo de políticas es donde se estima el valor de la política
que se está siguiendo. Todo esto, considerando la política de exploración actual, que puede ser ambicioso
con sus pasos aleatorios.
También, puede hallar una política diferente a la de Q-learning en casos en las que la exploración puede
incidir en grandes penalizaciones. Este es muy útil para optimizar el valor de un agente que se encuentra
explorando, pero si lo que deseas es realizar un aprendizaje fuera de línea y luego desea utilizar esa
política para un agente que no explora, el Q-learning es el más indicado para ello.
Tomando en cuenta la actualización de los valores la acción estaría expresada de la forma siguiente:

𝑄(𝑠𝑡, 𝑎𝑡 ) ← 𝑄(𝑠𝑡, 𝑎𝑡 ) + 𝛼[𝑟𝑡+1 + 𝛾𝑄(𝑠𝑡+1, 𝑎𝑡+1 ) − 𝑄(𝑠𝑡, 𝑎𝑡 )]


Aquí el algoritmo es metódicamente el mismo, pero a diferencia que se llama Sarsa.
Inicializa Q(s, a)arbitrariamente
Repite (para cada episodio):
Inicializa s
Selecciona una (a )a partir de (s) usando la política
Dada por Q(e. g. , ← greedy)
Repite (para cada paso del episodio):
Realiza acción a, observa r, s′
Escoge a′ de s′ usando la política derivada de Q

Q(s, a) ← Q(s, a) + α[r + γQ(s ′ , a′) − Q(s, a)]


s ← s ′ ; a ← a′;
hasta que s sea terminal
ALGORITMO SARSA.

2.3.7.3.2 Q- LEARNING : MÉTODO OFF - POLICY .


Se trata de uno de los algoritmos de aprendizaje por refuerzo con procedimientos más importantes en
modelos libres. Este método fue propuesto por Watkins en 1989, donde se permite encontrar una
aproximación de la función de valor óptimo 𝑞∗ . Se aproxima a la función de valor óptimo independiente
de la política que siga.
Un algoritmo que usa el conocimiento actual a la vez que explora el entorno. La política determina cuáles
serán los pares de estado-acción que se actualizarán para que Q pueda converger en 𝑞∗ , por lo tanto
solo es necesario que se visiten todos los pares.
Por esta última razón, es necesario el balance entre la exploración y explotación. El Q-learning tiene
como objetivo aprender una serie de reglas en la que le indique a un agente que acciones tomar y bajo
qué circunstancias. Este método no necesita de un modelo del ambiente, por lo cual puede manejar
problemas con transiciones estocásticas y recompensas sin necesidad de requerir adaptaciones.
A través del Q-learning se podrá encontrar una política óptima para cualquier proceso de decisión de
Markov, que maximice el valor esperado de la recompensa total sobre todos los pasos continuos
comenzando desde el estado actual. Este tipo de algoritmo aprende una función Q que aproxima a 𝑞∗ ,
donde la actualización del conocimiento se efectúa de la siguiente manera:

𝑄(𝑠𝑡, 𝑎𝑡 ) ← 𝑄(𝑠𝑡, 𝑎𝑡 ) + 𝛼[𝑟𝑡+1 + 𝛾𝑚𝑎𝑥𝑎 𝑄(𝑠𝑡+1, 𝑎𝑡+1 ) − 𝑄(𝑠𝑡, 𝑎𝑡 )]


Donde se establece que:
𝛼: es un parámetro que determina el elemento de aprendizaje. Estudiando la regla de actualización se
observa que lo que se hace es trasladar el valor de 𝑄(𝑠𝑡, 𝑎𝑡 ) al valor del mejor par estado-acción
continuo recibiendo 𝑟𝑡+1 de recompensa. El parámetro 𝛼 es quien determinara con que capacidad se
realizará esta correlación.
Inicializa Q(s, a) arbitrariamente
Repite (para cada episodio)
Inicializa s
Repite (para cada paso del episodio):
Selecciona una a de s usando la política dada por Q
(e.g., ε-greedy)
Realiza acción a, observa r, s′

Q(s, a) ← Q(s, a) + α[r + γmaxa′ Q(s′ , a′ ) − Q(s, a)]


s ← s′;
hasta que s sea terminal
ALGORITMO Q-LEARNING.

2.3.7.3.3. E XPLOTACIÓN Y E XPLORACIÓN DEL M ÉTODO Q- LEARNING .


La mezcla de explotación y exploración se puede abordar de varias, pero los métodos más importantes
son:
• 𝜺-greedy: Es el método frecuentemente más utilizado, donde se toma el parámetro 𝜀 ∈ (0,1),
para modificar las probabilidades de alternativa en las acciones, de forma que ningún par de
estado-acción resulte con una probabilidad cero de ser visitado. Dicha política es descrita de la
siguiente manera:
𝜺 𝜺
𝒑(𝒔, 𝒂) = {𝟏|𝑨 | – 𝜺 + }
|𝑨|
• Softmax: Se utiliza para convertir valores en probabilidades de actuación. Es decir, ordena la
recompensa que se espera obtener al llevar a cabo una acción, con la probabilidad de elegir esa
acción. Por lo cual, las acciones que poseen mayor recompensa esperada son elegidas con
mayor probabilidad. En este caso para solucionar este problema se determina la probabilidad
en cada acción basándose en la dimensión referente de la función Q. La función empleada queda
de la siguiente manera:
𝒆𝒙𝒑(𝑸(𝒔, 𝒂) ∕ 𝝉)
𝒑(𝒔, 𝒂) =
∑𝒂′ 𝒆𝒙𝒑(𝑸(𝒔, 𝒂′) ∕ 𝝉)

2.3.7.3.4. D EPP Q- LEARNING O Q- LEARNING P ROFUNDO .


Este es otra opción del aprendizaje por refuerzo donde se incorporan redes neuronales convencionales
profundas, que disponen de capas de filtros convolucionados enladrillados utilizados para igualar los
efectos de los campos receptivos.
En este caso, el aprendizaje por refuerzo es inestable y/o opuesto cuando se utiliza un aproximador de
funciones no lineales para representar Q.
Dicha inestabilidad procede de la correlación que se encuentran presentes en la continuidad de
observación, con el hecho de que las actualizaciones pequeñas en Q puedan cambiar de forma
significativa la política y distribución de los datos, las analogías entre Q y valores objetivos.
Un módulo biológicamente creado para utilizar muestra aleatoria previa, en vez de una acción más
reciente para continuar. Esto ayuda a eliminar las correlaciones en las secuencias de observación y
además suaviza los cambios en la distribución de los datos. Para el entorno de este tipo de aprendizaje la
creación y actualización de una tabla Q no es suficiente.
El uso de redes neuronales permite conseguir a partir de un estado 𝒔, un array de valores Q, mediante
el cual se representa el valor obtenido para cada acción en este estado.

ESQUEMA DE EVALUACIONES DE ACCION DE Q-LEARNING Y DEEP Q-LEARNING.

2.3.7.3.5 Q- LEARNING D OBLE .


Un algoritmo basado en aprendizaje por refuerzo que no dispone de política. Además, utiliza una
política diferente para la evaluación del valor que usa para seleccionar la próxima acción.
Un tipo de algoritmo que se constituye de dos redes neuronales (Q-Network y Target-Network). La
primera se usar para el cálculo de valor de Q-actual y la otra para el valor estimado de Q-Target. Esto
ayudará a resolver el problema de sobreestimación que puede darse en algunos casos.
Su labor es equivalente al algoritmo DQN, a diferencia que este caso se usa una red neuronal adicional
para calcular el valor de Q-Target, alcanzando el valor de la siguiente manera:
1. Se usa la red Q-Network para que se elija una mejor acción para el estado 𝑺𝒕 + 𝟏.
2. Luego se selecciona el valor máximo que proporciona la red: 𝒎𝒂𝒙[𝑸𝑸 − 𝒏𝒆𝒕(𝑺𝒕 + 𝟏, 𝒂)]
3. Ya encontrada la acción se hace uso de la nueva red Target-Network con la que se calculara el
valor de Q estimada con la acción anteriormente 𝑸𝒆𝒔𝒕𝒊𝒎𝒂𝒅𝒂 = 𝒎𝒂𝒙[𝑸𝑻 − 𝒏𝒆𝒕(𝑺𝒕 +
𝟏, 𝒂)]
4. Por lo que esta nueva Q estimada se abre paso para calcular el valor de Qtarget: 𝟐𝟐 𝑸𝒕𝒂𝒓𝒈𝒆𝒕 =
𝑹 + 𝜹 ∗ 𝑸𝒆𝒔𝒕𝒊𝒎𝒂𝒅𝒂
5. La función de pérdidas se calculan utilizando la ecuación número 3 y en cada intervalo de
repeticiones se actualizan los parámetros de la red Target-Network con los de la red Q-
Network.𝑸𝑻 − 𝒏𝒆𝒕 = 𝑸𝑸 − 𝒏𝒆𝒕 por lo que en este caso parámetro de aprendizaje alpha no
se toma en cuenta en el momento de realizar la actualización debido a que se utiliza en la etapa
de actualización.

2.3.7.3.6 D IFERENCIA T EMPORAL L AMBDA (𝝀).


Es otro algoritmo de aprendizaje creado por Richard S. Sutton, basado en su trabajo anterior sobre el
aprendizaje de diferencia temporal de Arthur Samuel. Este algoritmo fue utilizado por Gerald Tesauro y
aplicarlo para crear TD-Gammon, programa que aprendió al backgammon al mismo nivel que jugadores
humanos expertos.
El parámetro de lambda (𝝀)hace referencia al parámetro de la caída de trazas con 0 ≤ 𝜆 ≤ 1. Debido
a sus ajuste más altos se conducía a trazas más duraderas y se podía otorgar una mayor proporción de
crédito de una recompensa a estados y a unas acciones más distantes cuando 𝝀 es mayor con 𝜆 = 1
produciendo un aprendizaje paralelo al método de Monte Carlo.

También podría gustarte