¿Qué utiliza la aspiradora robótica como recompensa si utilizan el aprendizaje por refuerzo como algoritmo?

Respuesta corta:

  • Una pequeña recompensa positiva por cada casilla que limpia el robot.
  • Una gran recompensa positiva cuando todos los cuadrados están limpios.
  • Una pequeña recompensa negativa por cada vez que el robot intenta limpiar un cuadrado ya limpio.

Respuesta larga:

Al definir una tarea de Aprendizaje de refuerzo, antes de elegir el valor numérico de la recompensa, es importante definir cuándo se otorga una recompensa al agente y si es positiva o negativa. Usando su ejemplo, un enfoque ingenuo sería dar una recompensa positiva siempre que el robot limpie todos los espacios. Sin embargo, las posibilidades de que el robot limpie mágicamente todo de la nada y reciba esa gran recompensa son bastante pequeñas. Para guiar al robot hacia el objetivo deseado, un mejor enfoque sería dar una pequeña recompensa positiva cada vez que limpia algo . De esa manera, el robot sabrá que la limpieza es buena. Y una gran recompensa positiva cuando se limpian todos los cuadrados.

Sin embargo, esto no produciría el comportamiento deseado. Imagine este escenario: el robot limpia su primer cuadrado y luego se queda allí succionando continuamente. Debido a que el uso del vacío no ofrece ninguna recompensa (es decir, 0), el robot puede permanecer allí para siempre sin ninguna consecuencia. Por supuesto, no recibirá la gran recompensa, pero estará en una posición cómoda donde sabe que su recompensa actual continuará siendo positiva indefinidamente. ¿Cómo resolvemos esto? Podemos introducir una pequeña recompensa negativa que se otorga cada vez que el robot intenta limpiar un cuadrado ya limpio. De esa forma, el robot intentará moverse a otra casilla con la esperanza de recibir esa jugosa recompensa por limpiar casillas sucias.

Finalmente, en esta tarea, también supongo que el robot tiene baterías sin fin (algo conocido en el mundo de RL como horizonte infinito ), pero si quisiéramos tener en cuenta la duración de la batería, entonces tendríamos que acortar el horizonte del robot . Esto generalmente se logra mediante la introducción de una pena de vida , es decir, una pequeña recompensa negativa constante dada en cada momento, que motiva al robot a tomar decisiones más rápidas.