Pensemos en las siguientes situaciones:
- Estás enseñando a un robot a jugar ping pong
- Estás enseñando un programa para calcular la raíz cuadrada
- Estás enseñando matemáticas a un niño en la escuela
Estas situaciones (es decir, el aprendizaje supervisado) y muchas otras tienen una cosa (entre otras) en común: el alumno obtiene una recompensa en función de su rendimiento.
Mi pregunta es, ¿cómo debería ser la función de recompensa? ¿Hay una "mejor" respuesta o depende de la situación? Si depende de la situación, ¿cómo se determina qué función de recompensa elegir?
Por ejemplo, tome las siguientes tres funciones de recompensa:
- La función
A
dice:- debajo de cierto punto, malo o peor son lo mismo: no obtienes nada
- hay una clara diferencia entre casi bueno y perfecto
- La función
B
dice:- obtienes una recompensa linealmente proporcional a tu rendimiento
- La función
C
dice:- si su rendimiento es malo, está bien, hizo lo mejor que pudo: aún obtiene alguna recompensa
- no hay mucha diferencia entre perfecto y casi bueno
Intuitivamente, creo que A
haría que el robot esté muy enfocado y aprenda el patrón exacto, pero se volvería estúpido cuando se trata de patrones similares, mientras que C
lo haría más adaptable al cambio a costa de perder la perfección.
También se podría pensar en funciones más complejas, solo para mostrar, pero pocas:
Entonces, ¿cómo se sabe qué función elegir? ¿Se sabe, que el comportamiento podría surgir de (al menos) los básicos A
, B
y C
funciones?
Una pregunta adicional es si esto sería fundamentalmente diferente para los robots y los niños humanos.
fuente
A
, el robot podría ser extremadamente bueno en la tarea exacta, pero terrible en tareas que son similares pero ligeramente diferentes. Sin embargo, esa es solo mi suposición.X
me dio el mejor resultado", incluso si no es perfectamente correcta, daría una gran regla general.Respuestas:
Respuesta corta: el efecto de refuerzo más fuerte proviene de entregar una valiosa recompensa en un horario intermitente (aleatorio).
Versión más larga: un aspecto de su pregunta es sobre el condicionamiento operante , al menos en lo que respecta a la enseñanza de las matemáticas a un organismo complejo. Aplicar esto al aprendizaje automático se conoce como aprendizaje de refuerzo .
La economía (según la respuesta de jwpat7 ) solo aborda una parte de la historia del refuerzo. La función de utilidad le dice qué recompensa tiene el efecto de refuerzo más fuerte (mayor impacto en el comportamiento) en un contexto dado. ¿Es un elogio? ¿chocolate? ¿cocaína? ¿Estimulación eléctrica directa a ciertas áreas del cerebro? Principalmente, mi respuesta es sobre el efecto del contexto, suponiendo una utilidad de recompensa dada.
Para organismos / comportamientos complejos, la programación de recompensas es al menos tan importante como la utilidad de recompensas:
Si usted es un supervisor de aprendizaje con un presupuesto de recompensa fijo, para una situación de aprendizaje dada, habrá un equilibrio óptimo entre el tamaño de la recompensa (utilidad) y la frecuencia. Probablemente no sea una pequeña porción de recompensa a una frecuencia muy alta, ni una gran parte de la recompensa que se entrega muy raramente. Incluso podría ser una recompensa de tamaño aleatorio en un horario aleatorio: el óptimo generalmente se determina experimentalmente para una situación particular.
Finalmente, el programa "óptimo" (frecuencia aleatoria, cantidad aleatoria {p (recompensa), p (valor)}) probablemente variará en las diferentes etapas del proceso de aprendizaje. Por ejemplo, un alumno nuevo podría estar sujeto al efecto de "primacía" (¡bienvenido! Tenga un gominola) que rápidamente se convierte en una recompensa de intervalo fijo si lo repite. Puede haber un efecto de "actualidad" que obtiene más valor de refuerzo de una recompensa entregada en la última prueba ("terminar con una nota alta"). En el medio, puede haber un "efecto de fe" acumulativo en el que a medida que el alumno adquiere más experiencia, lo óptimo podría cambiar hacia una probabilidad más baja, una mayor utilidad a lo largo del tiempo. Nuevamente, más cosas para determinar empíricamente en su situación.
fuente
"Aprendizaje óptimo" es un término muy vago, y depende completamente del problema específico en el que está trabajando. El término que está buscando es " sobreajuste ":
(La línea verde es el error al predecir el resultado en los datos de entrenamiento, la línea púrpura es la calidad del modelo y la línea roja es el error del modelo aprendido que se usa "en producción")
En otras palabras: cuando se trata de adaptar su comportamiento aprendido a problemas similares, la forma en que recompensó su sistema es menos importante que cuántas veces lo recompensó: desea reducir los errores en los datos de entrenamiento, pero no mantenerlo en el entrenamiento. siempre que pierda la capacidad de trabajar en modelos similares.
Un método para abordar este problema es reducir sus datos de entrenamiento a la mitad: use la mitad para aprender y la otra mitad para validar la capacitación. Le ayuda a identificar cuándo comienza a sobreajustar.
Funciones de recompensa no lineales
La mayoría de los algoritmos de aprendizaje supervisado esperan que la aplicación de la función de recompensa produzca una salida convexa. En otras palabras, tener mínimos locales en esa curva evitará que su sistema converja al comportamiento adecuado. Este video muestra un poco de las matemáticas detrás de las funciones de costo / recompensa .
fuente
Estos problemas se abordan, en cierta medida, mediante el estudio de las funciones de utilidad en economía. Una función de utilidad expresa valores efectivos o percibidos de una cosa en términos de otra. (Si bien las curvas que se muestran en la pregunta son funciones de recompensa y expresan cuánta recompensa se ofrecerá por varios niveles de rendimiento, las funciones de utilidad de aspecto similar podrían expresar cuánto rendimiento resulta de varios niveles de recompensa).
La función de recompensa que funcionará mejor depende del equilibrio entre el pagador y el intérprete. El artículo de la curva de contrato de wikipedia ilustra con cuadros de Edgeworth cómo encontrar asignaciones eficientes de Pareto . El teorema de la utilidad de Von Neumann-Morgenstern delinea las condiciones que aseguran que un agente sea racional para VNM y pueda caracterizarse por tener una función de utilidad. La sección "Predicciones de comportamiento resultantes de la utilidad HARA" del artículo de aversión al riesgo absoluto hiperbólico en wikipedia describe las consecuencias conductuales de ciertas funciones de utilidad.
Resumen: Estos temas han sido objeto de enormes cantidades de estudio en economía y microeconomía. Desafortunadamente, extraer un resumen breve y útil que responda a su pregunta también podría requerir una gran cantidad de trabajo o la atención de alguien más experto que yo.
fuente
La función óptima de recompensa depende del objetivo de aprendizaje, es decir, lo que se debe aprender. Para problemas simples, es posible encontrar una representación de forma cerrada para la función de recompensa óptima. De hecho, para problemas realmente simples, estoy seguro de que es posible, aunque no conozco ningún método formal para hacerlo (sospecho que la teoría de la utilidad abordaría esta pregunta). Para problemas más complejos, diría que no es posible encontrar una solución de forma cerrada.
En lugar de buscar la función óptima, podríamos recurrir a un experto para obtener una buena función de recompensa. Un enfoque para hacerlo es una técnica llamada Aprendizaje de refuerzo inverso (IRL). Formula un problema de aprendizaje como un problema de aprendizaje de refuerzo donde la función de recompensa es desconocida y el objetivo del proceso de aprendizaje. El artículo Aprendizaje de Aprendizaje a través de Aprendizaje de refuerzo inverso de Pieter Abbeel y Andrew Ng es un buen lugar para comenzar a aprender sobre IRL.
fuente
Cualquier forma de aprendizaje supervisado es una búsqueda dirigida en el espacio de políticas. Intenta encontrar la política, qué acción tomar, que proporciona la expectativa de recompensa máxima. En tu pregunta, das una recompensa en función del rendimiento. Siempre y cuando esta función sea monótona, cualquier método que converja finalmente terminará brindándole el máximo rendimiento (también mantenga su terminología).
La rapidez con que converge el método es otra cuestión, y bien puede depender de la curva. Pero creo que esto diferirá de un método a otro.
Un problema completamente diferente es que para escenarios más complejos el rendimiento no es un simple escalar, y definirlo puede ser bastante difícil. ¿Cuál es la función de recompensa por ser bueno en matemáticas?
fuente