¿Por qué (y cuándo) uno tiene que aprender la función de recompensa de las muestras en el aprendizaje por refuerzo?


9

En el aprendizaje por refuerzo, tenemos una función de recompensa que informa al agente qué tan bien están funcionando sus acciones y estados actuales. En una configuración general, la función de recompensa es una función de tres variables:

  1. Estado actual S
  2. Acción actual en el estado actual π(s)=a
  3. Siguiente estado S

Entonces se ve algo así como:

R(S,a,S)

Cuál es mi pregunta (que probablemente sea mi malentendido), normalmente la persona que usa el aprendizaje por refuerzo decide cuál es la recompensa. Por ejemplo, asigna 1000 puntos para alcanzar la meta, o asigna -1000 puntos para estrellar el robot autónomo. En estos escenarios, no está claro para mí por qué necesitaríamos muestras para aprender R. R se especifica a priori y luego usamos nuestro agente. ¿Derecha? Sin embargo, sé que estoy equivocado porque en las notas de Andrew Ng dice:

ingrese la descripción de la imagen aquí

Donde dice que no sabemos la función de recompensa explícitamente. Eso me parece extraño. Sé que estoy equivocado y me encantaría que alguien pudiera aclararme en qué escenarios realmente tenemos que aprender R de las muestras.

(obviamente, las probabilidades de transición deben aprenderse porque uno no sabe cómo el entorno hará que nuestro agente se mueva a priori).

Respuestas:


4

En sus notas, cuando debe "estimarlos a partir de datos", no se refiere a la función de recompensa . Raramente se estima la función de recompensa. Por lo general, aprende la función de valor , que estima la recompensa inmediata más la recompensa futura con descuento temporal (si el descuento temporal es cero, entonces está estimando las recompensas). O bien, puede aprender los valores Q , que son valores asociados con pares de estado-acción.

En resumen, la función de recompensa y la verdadera función de transición están definidas por el entorno. El agente aprende cosas como la función de transición, los valores Q y la función de valor.


1
Tenga en cuenta también que a veces queremos aprender la función de recompensa (aprendizaje de refuerzo inverso)
hipoglucido

1

Estoy de acuerdo con las otras respuestas que, por lo general, la función de recompensa no se aprende directamente.

Las probabilidades de transición tampoco tienen que ser aprendidas. El agente puede aprender directamente los valores de acción, o incluso directamente la política, con el método de graduación de políticas, por ejemplo.

Sin embargo, existen técnicas para las cuales se debe aprender la recompensa y las probabilidades de transición. Por ejemplo, el algoritmo dyna-Q (descrito en Sutton & Barto) mantiene un modelo del entorno. En cada paso de tiempo, el agente utiliza la información de recompensa y estado recibida del entorno para actualizar los valores de acción, al igual que en Q-learning, por ejemplo.

Pero también actualiza su propio modelo del entorno, y luego realiza N otras actualizaciones de valores de acción basadas en ese modelo. La suposición es que el bucle de detección de acción> lleva un tiempo no nulo, tiempo que podemos aprovechar al mejorar los valores de acción con muestras simuladas.


1

Esta es una buena pregunta que es más profunda que cualquier redacción imprecisa en las notas de Andrew. Es cierto que en RL generalmente no necesita aprender una función de recompensa R (S, A, S '); debe especificarlo como parte de la configuración del problema. PERO, hay algoritmos (en mi experiencia asociados con la función de valor de estado posterior o posterior a la decisión) que requieren la recompensa esperadar (S, A) = E [R (S, A, S ') | S, A]. En general, los textos que he visto hacen pocos comentarios al respecto y suponen que r (s, a) se conoce igual que R (S, A, S '). Pero en algunos casos, la recompensa depende del estado futuro, por lo que, sin un modelo, debe conocer esta expectativa. Actualmente estoy trabajando en un problema en el que es necesario aprender la función de recompensa esperada y la función de valor. Tenga en cuenta que la mayoría de los algoritmos RL NO requieren la función de recompensa esperada, pero algunos sí. Véase, por ejemplo, la discusión sobre la página 58 en Algoritmos para el aprendizaje por refuerzo de Szepesvari.

En resumen, no necesita aprender la función de recompensa, pero cuando trabaje con variables de estado posteriores a la decisión, es posible que necesite aprender la función de recompensa esperada . Este es el único caso que conozco en el que necesita aprender una función de recompensa esperada, pero me interesaría saber de otros casos.


0

En el aprendizaje por refuerzo, el agente aprende la función de valor, no la función de recompensa. El valor de una acción es su utilidad general; Por ejemplo, una acción puede generar una alta recompensa, pero puede conducir a estados de bajo valor, por lo que es de bajo valor.

Lo que dice la cita es que a veces el mundo es complicado: algunos problemas tienen espacios de acción de estado que son demasiado grandes para enumerarlos, por lo que no tenemos funciones explícitas de probabilidad de transición y recompensa. En tal caso, el agente tendría que aprender alguna generalización de la función de valor verdadero.


0

Creo que esas notas son un poco confusas. Las recompensas deben ser diseñadas por usted para alentar a su agente de RL a optimizar el comportamiento que desea ver. Las transiciones entre estados están dadas por el entorno y a menudo se estimarán a partir de datos. Creo que a lo que se refiere Andrew es a una situación en la que desde el estado A podrías pasar al estado B, al que le das la recompensa x, o al estado C, al que le das la recompensa y. Si los estados B y C son idénticos, excepto por las diferencias en la recompensa, a menudo eliminaría los estados B y C y le daría al estado A una recompensa estimada a partir de los datos que muestran con qué frecuencia hace la transición a B o C desde A.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.