¿Cuál es la diferencia entre el aprendizaje por refuerzo y la optimización?

La optimización consiste en métodos para encontrar (o acercarse) a los valores que maximizan o minimizan alguna función (por ejemplo, la función f (x) = x ^ 2 + x tiene su valor más pequeño en x = -0.5). Existen muchos métodos diferentes para optimizar diferentes funciones: algunos de los que quizás haya oído hablar son el descenso de gradiente, el método de Newton, los gradientes conjugados, los algoritmos genéticos y el recocido simulado.

En el aprendizaje por refuerzo, tiene un “agente” que interactúa con un proceso de decisión de Markov y desea que el agente maximice la recompensa que obtiene. – tl: dr hay un conjunto de estados para representar el entorno, un conjunto de acciones que el agente puede tomar en cada estado que puede conducir a un cambio de estado y una “recompensa”, un número que representa los objetivos del agente.

Por lo general, RL implica cambiar el comportamiento de los agentes, por lo que es más probable que tome medidas que resultaron en altas recompensas en el pasado: esta es la parte de “aprendizaje”. Algunos métodos de RL, como los métodos de gradiente de política, implican cambiar la “política”, una función que determina qué acción tomará el agente en un estado dado. Otros métodos como el Q-learning y la iteración de valores implican que el agente aprenda a adivinar cuánta recompensa futura obtendrá de tomar una acción determinada en un estado dado. Algunos, como los métodos de actor crítico, hacen ambas cosas al mismo tiempo.

De cualquier manera, todavía se puede ver como una especie de optimización: está maximizando el valor esperado de la suma de recompensas futuras o la precisión de las predicciones de recompensas futuras.

Ambos métodos pueden verse como métodos de optimización, pero hay una diferencia importante: en el aprendizaje por refuerzo, un agente actúa en el entorno y recibe una recompensa o castigo, la retroalimentación es extremadamente no trivial y nunca se proporcionan los pares de entrada / salida correctos, el agente necesita explorar interactuando con el entorno para encontrar la mejor manera de maximizar una recompensa acumulativa percibida. No existe la noción de una superficie de error en la que podamos buscar un mínimo utilizando algoritmos de descenso de gradiente como el descenso de gradiente estocástico (SGD) para encontrar las acciones correctas que el agente necesita tomar para minimizar el castigo. En un mundo real, el castigo puede ser irreversible, por ejemplo, para un auto sin conductor.

La teoría de la optimización, por otro lado, se basa en la minimización de la función de error / costo diferenciable para que se pueda utilizar una estrategia de búsqueda iterativa basada en gradiente. Entonces, en la optimización, tratamos con superficies de error continuas convexas / no convexas y buscamos un punto más bajo en esa superficie buscando en la dirección opuesta del campo de gradiente. Se dice que el sistema se ha optimizado si se encuentra el mínimo global o un mínimo local “bueno”, donde el campo de gradiente es teóricamente cero.

El aprendizaje de refuerzo es muy difícil, por ejemplo, un agente que tiene que jugar un juego, puede recibir los controles, el entorno del juego y la puntuación. El objetivo es maximizar la puntuación, ¿cómo podemos expresar esto como un problema simplificado continuamente diferenciable? Bueno, es casi imposible, por lo tanto, el aprendizaje por refuerzo es extremadamente no diferenciable en su conjunto. Puede tener subproblemas que se pueden diferenciar en algún lugar [donde se pueden usar redes profundas] pero en su conjunto es bastante complejo, es extremadamente discontinuo. Por lo tanto, el sistema de aprendizaje de refuerzo necesita usar un enfoque exploratorio con algunas técnicas inteligentes y prueba y error para encontrar las mejores acciones / controles para maximizar el puntaje.

Espero que esto ayude.

Según tengo entendido, el aprendizaje por refuerzo, definido en términos generales, se refiere en gran parte a la optimización convexa en línea con retroalimentación parcial (por ejemplo, bandidos adversarios, bandidos estocásticos, bandidos lineales, bandidos de Markov …), mientras que la optimización convexa en línea también se ocupa de Otros problemas en los que la retroalimentación no es ruidosa, parcial o incompleta, es decir, retroalimentación completa , como la optimización de primer orden (p. ej., SGD), la optimización de segundo orden (p. ej., Newton) y la regularización / perturbación (p. ej., descenso en espejo en línea ) Y más allá de la optimización convexa en línea, hay, por supuesto, todo tipo de optimización fuera de línea (p. Ej., Gradiente / descenso de gradiente) y optimización no convexa …

Le recomiendo que lea las respuestas a ¿Cuál es la relación entre el aprendizaje automático y la optimización matemática?