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.
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.