¿Cuál es la diferencia entre el aprendizaje por refuerzo y el aprendizaje por refuerzo inverso?

En el aprendizaje por refuerzo, su objetivo es tratar de encontrar la política óptima. Básicamente, para cada puesto que pueda estar, averigüe qué es lo mejor que puedo hacer. La forma de descubrir qué es “lo mejor que podría hacer” es básicamente combinando una estrategia de exploración y explotación mientras consulta una función de recompensa. Entonces, mientras recibe una señal del entorno, intenta maximizar esa señal, sin perderse en la avaricia. Estás buscando el lugar de sudor.

Si inviertes esto, obtienes aprendizaje de refuerzo inverso. En otras palabras, dada una política óptima, que probablemente sea dada por otro agente, o tal vez un experto humano, descubra cuál es la función de recompensa. Lo que está tratando de lograr en Inverse-RL es recuperar la función de recompensa.

La cuestión es que, piense en ello, no siempre conoce la recompensa que obtiene al realizar una tarea, sin embargo, es posible que sepa qué es lo correcto. Un ejemplo de esto es cuando desea crear modelos computacionales de comportamiento animal o humano. Esta es la razón por la cual el aprendizaje de refuerzo inverso se usa en robótica.

De forma intuitiva, puede comparar el aprendizaje por refuerzo y el aprendizaje por refuerzo inverso, ya que el aprendizaje por refuerzo es aprender cosas por su cuenta, mientras que el aprendizaje por refuerzo inverso es un experto que le dice qué hacer. Por eso también se le llama aprendizaje de aprendizaje o imitación.

El aprendizaje de refuerzo es cuando un agente intenta maximizar sus recompensas en un entorno.

Por el contrario, en el aprendizaje de refuerzo inverso, un agente intenta seguir a un “agente docente” a través de recompensas y lo hace bajo el supuesto de que el agente docente está maximizando sus recompensas.

En la práctica, el “agente docente” a menudo puede ser otra acción algorítmica que queremos que el agente siga (como los agentes RL que intentan aprender SGD)