97 votos

Comprender el papel del factor de descuento en el aprendizaje por refuerzo

Estoy aprendiendo sobre el aprendizaje por refuerzo y tratando de entender el concepto de recompensa descontada. Así que la recompensa es necesaria para decirle al sistema qué pares de estado-acción son buenos y cuáles son malos. Pero lo que no entiendo es por qué es necesaria la recompensa descontada. ¿Por qué debería importar si se alcanza un buen estado pronto y no más tarde?

Entiendo que esto es relevante en algunos casos específicos. Por ejemplo, si se utiliza el aprendizaje por refuerzo para operar en el mercado de valores, es más beneficioso obtener beneficios antes que después. Esto se debe a que tener ese dinero ahora te permite hacer cosas con ese dinero ahora, lo que es más deseable que hacer cosas con ese dinero más tarde.

Pero en la mayoría de los casos, no veo la utilidad del descuento. Por ejemplo, digamos que quieres que un robot aprenda a navegar por una habitación para llegar al otro lado, donde hay penalizaciones si choca con un obstáculo. Si no hubiera ningún factor de descuento, aprendería a llegar al otro lado perfectamente, sin chocar con ningún obstáculo. Puede tardar mucho en llegar, pero lo hará.

Pero si damos un descuento a la recompensa, el robot se verá animado a llegar rápidamente al otro lado de la habitación, aunque tenga que chocar con objetos por el camino. Está claro que esto no es un resultado deseable. Es cierto que se quiere que el robot llegue al otro lado rápidamente, pero no si esto significa que tiene que colisionar con objetos por el camino.

Así que mi intuición es que cualquier forma de factor de descuento, en realidad conducirá a una solución subóptima. Y la elección del factor de descuento parece a menudo arbitraria: muchos métodos que he visto lo fijan simplemente en 0,9. Esto me parece muy ingenuo, y parece dar una compensación arbitraria entre la solución óptima y la solución más rápida, mientras que en realidad esta compensación es muy importante.

Por favor, ¿alguien puede ayudarme a entender todo esto? Gracias :)

76voto

PolinLnd Puntos 166

TL;DR.

El hecho de que la tasa de descuento esté limitada a ser menor que 1 es un truco matemático para hacer que una suma infinita sea finita. Esto ayuda a demostrar la convergencia de ciertos algoritmos.

En la práctica, el factor de descuento podría utilizarse para modelar el hecho de que el decisor no está seguro de si en el siguiente instante de decisión el mundo (por ejemplo, entorno / juego / proceso ) va a terminar.

Por ejemplo:

Si el decisor es un robot, el factor de descuento podría ser la probabilidad de que el robot se apague en el siguiente instante de tiempo (el mundo se acaba en la terminología anterior). Esta es la razón por la que el robot es cortoplacista y no optimiza la suma de la recompensa, sino la con descuento suma de recompensas.

Factor de descuento inferior a 1 (En detalle)

Para responder con mayor precisión a por qué la tasa de descuento tiene que ser menor que uno, primero introduciré los procesos de decisión de Markov (MDP).

Las técnicas de aprendizaje por refuerzo pueden utilizarse para resolver los MDP. Un MDP proporciona un marco matemático para modelar situaciones de toma de decisiones en las que los resultados son en parte aleatorios y en parte están bajo el control del decisor. Un MDP se define mediante un espacio de estados $\mathcal{S}$ un espacio de acción $\mathcal{A}$ una función de probabilidades de transición entre estados (condicionada a la acción tomada por el decisor), y una función de recompensa.

En su configuración básica, el que toma la decisión realiza una acción y obtiene una recompensa del entorno, y el entorno cambia su estado. A continuación, el decisor percibe el estado del entorno, realiza una acción, obtiene una recompensa, y así sucesivamente. Las transiciones de estado son probabilísticas y dependen únicamente del estado real y de la acción realizada por el decisor. La recompensa obtenida por el decisor depende de la acción realizada y del estado original y del nuevo estado del entorno.

Una recompensa $R_{a_i}(s_j,s_k)$ se obtiene al actuar $a_i$ en el estado $s_j$ y el entorno/sistema cambia al estado $s_k$ después de que el responsable de la toma de decisiones actúe $a_i$ . El responsable de la toma de decisiones sigue una política, $\pi$ $\pi(\cdot):\mathcal{S}\rightarrow\mathcal{A}$ que para cada estado $s_j \in \mathcal{S}$ realiza una acción $a_i \in \mathcal{A}$ . De modo que la política es lo que indica al responsable de la toma de decisiones qué acciones debe llevar a cabo en cada estado. La política $\pi$ puede ser aleatorio también pero no importa por ahora.

El objetivo es encontrar una política $\pi$ tal que

\begin{equation} \label{eq:1} \max_{\pi:S(n)\rightarrow a_i} \lim_{T\rightarrow \infty } E \left\{ \sum_{n=1}^T \beta^n R_{x_i}(S(n),S(n+1)) \right\} (1), \end{equation} donde $\beta$ es el factor de descuento y $\beta<1$ .

Nótese que el problema de optimización anterior, tiene un horizonte temporal infinito ( $T\rightarrow \infty $ ), y el objetivo es maximizar la suma $discounted$ recompensa (la recompensa $R$ se multiplica por $\beta^n$ ). Esto se suele llamar un problema MDP con un horizonte infinito criterios de recompensa descontados .

El problema se llama descontado porque $\beta<1$ . Si no fuera un problema con descuento $\beta=1$ la suma no convergería. Todas las políticas que han obtenido en promedio una recompensa positiva en cada instante de tiempo sumarían hasta el infinito. El sería un criterios de recompensa de suma de horizonte infinito y no es un buen criterio de optimización.

Aquí tienes un ejemplo de juguete para que veas lo que quiero decir:

Supongamos que sólo hay dos acciones posibles $a={0,1}$ y que la función de recompensa $R$ es igual a $1$ si $a=1$ y $0$ si $a=0$ (la recompensa no depende del estado).

Está claro que la política que más recompensa obtiene es la de tomar siempre medidas $a=1$ y nunca la acción $a=0$ . Llamaré a esta política $\pi^*$ . Voy a comparar $\pi^*$ a otra política $\pi'$ que actúa $a=1$ con una pequeña probabilidad $\alpha << 1$ y la acción $a=0$ de lo contrario.

En el criterio de recompensa descontada de horizonte infinito la ecuación (1) se convierte en $\frac{1}{1-\beta}$ (la suma de una serie geométrica) para la política $\pi^*$ mientras que para la política $\pi '$ la ecuación (1) se convierte en $\frac{\alpha}{1-\beta}$ . Desde $\frac{1}{1-\beta} > \frac{\alpha}{1-\beta}$ decimos que $\pi^*$ es una política mejor que $\pi '$ . En realidad $\pi^*$ es la política óptima.

En el criterio de recompensa de la suma de horizontes infinitos ( $\beta=1$ ) la ecuación (1) no converge para ninguna de las políticas (suma hasta el infinito). Así, mientras que la política $\pi$ consigue mayores recompensas que $\pi'$ ambas políticas son iguales según este criterio. Esta es una de las razones por las que el criterio de recompensa de suma de horizonte infinito no es útil.

Como he mencionado antes, $\beta<1$ hace el truco de hacer converger la suma en la ecuación (1).

Otros criterios de optimalidad

Hay otros criterios de optimalidad que no imponen esa $\beta<1$ :

El criterio del horizonte finito el objetivo es maximizar la recompensa descontada hasta el horizonte temporal $T$ \begin{equation} \label{eq:2} \max_{\pi:S(n)\rightarrow a_i} E \left\{ \sum_{n=1}^T \beta^n R_{x_i}(S(n),S(n+1)) \right\}, \end{equation}

para $\beta \leq 1$ y $T$ finito.

En el criterio de recompensa media de horizonte infinito el objetivo es \begin{equation} \max_{\pi:S(n)\rightarrow a_i} \lim_{T\rightarrow \infty } E \left\{ \sum_{n=1}^T \frac{1}{T} R_{x_i}(S(n),S(n+1)) \right\}, \end{equation}

Nota final

Dependiendo de los criterios de optimalidad se utilizaría un algoritmo diferente para encontrar la política óptima. Por ejemplo, las políticas óptimas de los problemas de horizonte finito dependerían tanto del estado como del instante de tiempo actual. La mayoría de los algoritmos de aprendizaje por refuerzo (como SARSA o Q-learning) convergen a la política óptima sólo para los criterios de recompensa descontada de horizonte infinito (lo mismo ocurre con los algoritmos de programación dinámica). Para el criterio de recompensa media no hay ningún algoritmo que haya demostrado converger a la política óptima, sin embargo se puede utilizar el R-learning que tiene un buen rendimiento aunque no una buena convergencia teórica.

32voto

cholo14 Puntos 21

TL;DR: Los factores de descuento están asociados a los horizontes temporales. Los horizontes temporales más largos tienen mucho más desviación ya que incluyen más información irrelevante, mientras que los horizontes temporales cortos son tendencioso hacia las ganancias a corto plazo.

El factor de descuento determina esencialmente cuánto se preocupan los agentes de aprendizaje por refuerzo por las recompensas en el futuro lejano en relación con las del futuro inmediato. Si $\gamma = 0$ El agente será completamente miope y sólo aprenderá sobre las acciones que producen una recompensa inmediata. Si $\gamma = 1$ El agente evaluará cada una de sus acciones en función de la suma total de todas sus recompensas futuras.

Entonces, ¿por qué no querrías hacer siempre $\gamma$ lo más alto posible? Bueno, la mayoría de las acciones no tienen repercusiones duraderas. Por ejemplo, supongamos que el primer día de cada mes decides darte un capricho con un batido, y tienes que decidir si vas a tomar un batido de arándanos o de fresas. Como buen aprendiz de refuerzo, juzga la calidad de su decisión en función de la magnitud de sus recompensas posteriores. Si tu horizonte temporal es muy corto, sólo tendrás en cuenta las recompensas inmediatas, como el sabor del batido. Si el horizonte temporal es más largo, como unas horas, puede que también tengas en cuenta cosas como si te duele el estómago o no. Pero si tu horizonte temporal dura todo el mes, entonces cada cosa que te haga sentir bien o mal por todo el mes será un factor para juzgar si has tomado la decisión correcta sobre el batido o no. Tendrás en cuenta mucha información irrelevante y, por lo tanto, tu juicio tendrá una gran variación y será difícil de aprender.

La elección de un valor concreto de $\gamma$ equivale a elegir un horizonte temporal. Ayuda a reescribir la recompensa descontada de un agente $G$ como $$ G_t = R_{t} + \gamma R_{t+1} + \gamma^2 R_{t+2} + \cdots \\ = \sum_{k=0}^{\infty} \gamma^k R_{t+k} = \sum_{\Delta t=0}^{\infty} e^{-\Delta t / \tau} R_{t+\Delta t} $$ donde identifico $\gamma = e^{-1/\tau}$ y $k \rightarrow \Delta t$ . El valor $\tau$ muestra explícitamente el horizonte temporal asociado a un factor de descuento; $\gamma = 1$ corresponde a $\tau = \infty$ y cualquier recompensa que sea mucho más que $\tau$ pasos de tiempo en el futuro se suprimen exponencialmente. Por lo general, se debe elegir un factor de descuento tal que el horizonte temporal contenga todas las recompensas relevantes para una acción concreta, pero no más.

13voto

andynormancx Puntos 234

Tienes razón en que el factor de descuento (llamado $\gamma$ - Tenga en cuenta que esto es diferente a $\lambda$ de TD- $\lambda$ ) actúa como una "urgencia de vida" y, por tanto, es parte del problema - al igual que en las vidas humanas: Algunas personas viven como si fueran a vivir para siempre; otras viven como si fueran a morir mañana.

2voto

Master-Guy Puntos 249

Inspirado en la respuesta de "PolBM", un ejemplo intuitivo ayuda a entender la utilidad del factor de descuento. Imaginemos que hay dos acciones que podemos comprar.

Acción A: Sube diez dólares el lunes de cada semana y baja diez dólares el martes de cada semana.

Acción B: Baja diez dólares el lunes de cada semana y sube diez dólares el martes de cada semana.

Ambos valores se mantienen sin cambios en los demás días de la semana. Ahora, queremos diseñar una póliza para comprar una acción en domingo. A largo plazo (sin factor de descuento), ambas acciones tienen una recompensa esperada nula. Por lo tanto, parece que podemos comprar cualquiera de las dos acciones mencionadas.

Sin embargo, la acción A es mejor que la acción B, porque nunca perderemos dinero comprando la acción A.

Por ejemplo, si compramos la acción A el domingo y la vendemos el lunes, ganaremos diez dólares. Y si compramos la acción A el domingo y la vendemos en otros días de la semana, entonces no obtendremos ningún ingreso. Del mismo modo, si compramos la acción B el domingo y la vendemos el lunes, perderemos diez dólares. Y si compramos la acción el domingo y la vendemos en otros días de la semana, no obtendremos ningún ingreso.

Este escenario es bastante común en el ámbito del aprendizaje por refuerzo, como el clásico problema del bandido multiarmado. Aunque las expectativas de dos máquinas tragaperras sean las mismas, las recompensas reales pueden ser significativamente diferentes. Por lo tanto, en estos escenarios, el factor de descuento es necesario.

2voto

Soumadeep Saha Puntos 8

Según el documento: Markov games as a framework for multi-agent reinforcement learning de Michael Littman, 1994, la noción de factor de descuento se define en términos de la probabilidad de que el juego pueda continuar. Aunque este documento se refiere a los juegos de Markov, creo que el resumen puede utilizarse para obtener una intuición más general sobre la importancia del factor de descuento. Aquí está:

"Como en los MDP, el factor de descuento puede considerarse como la probabilidad de que el juego pueda continuar después de la movimiento actual. Es posible definir una noción de recompensas no descontadas de recompensas sin descuento [Schwartz, 1993], pero no todos los juegos de Markov tienen estrategias óptimas estrategias óptimas en el caso no descontado [Owen, 1982]. Esto se debe a que, en muchos juegos, es mejor posponer indefinidamente las acciones arriesgadas. Para Para los fines actuales, el factor de descuento tiene el efecto deseable de de inducir a los jugadores a intentar ganar cuanto antes".

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X