¿Cómo definir estados en el aprendizaje por refuerzo?

14

Estoy estudiando el aprendizaje por refuerzo y sus variantes. Estoy empezando a comprender cómo funcionan los algoritmos y cómo se aplican a un MDP. Lo que no entiendo es el proceso de definición de los estados del MDP. En la mayoría de los ejemplos y tutoriales, representan algo simple como un cuadrado en una cuadrícula o similar.

Para problemas más complejos, como un robot que aprende a caminar, etc., ¿cómo hace para definir esos estados? ¿Puedes usar algoritmos de aprendizaje o clasificación para "aprender" esos estados?

Andy
fuente

Respuestas:

14

El problema de la representación estatal en el aprendizaje por refuerzo (RL) es similar a los problemas de representación de características, selección de características e ingeniería de características en el aprendizaje supervisado o no supervisado.

La literatura que enseña los conceptos básicos de RL tiende a utilizar entornos muy simples para que se puedan enumerar todos los estados. Esto simplifica las estimaciones de valor en promedios móviles básicos en una tabla, que son más fáciles de entender e implementar. Los algoritmos de aprendizaje tabular también tienen garantías teóricas razonables de convergencia, lo que significa que si puede simplificar su problema para que tenga, digamos, menos de unos pocos millones de estados, entonces vale la pena intentarlo.

Los problemas de control más interesantes no encajarán en ese número de estados, incluso si los discretiza. Esto se debe a la " maldición de la dimensionalidad ". Para esos problemas, normalmente representará su estado como un vector de diferentes características, por ejemplo, para un robot, varias posiciones, ángulos, velocidades de partes mecánicas. Al igual que con el aprendizaje supervisado, es posible que desee tratarlos para su uso con un proceso de aprendizaje específico. Por ejemplo, normalmente querrá que todos sean numéricos, y si desea usar una red neuronal, también debe normalizarlos a un rango estándar (por ejemplo, -1 a 1).

Además de las preocupaciones anteriores que se aplican a otros tipos de aprendizaje automático, para RL, también debe preocuparse por la Propiedad de Markov : que el estado proporcione suficiente información, de modo que pueda predecir con precisión las próximas recompensas y los siguientes estados dados una acción, sin la necesidad de ninguna información adicional. Esto no tiene por qué ser perfecto, las pequeñas diferencias debidas, por ejemplo, a variaciones en la densidad del aire o la temperatura de un robot con ruedas no suelen tener un gran impacto en su navegación, y pueden ignorarse. Cualquier factor que sea esencialmente aleatorio también puede ignorarse mientras se atiene a la teoría RL; puede hacer que el agente sea menos óptimo en general, pero la teoría seguirá funcionando.

Si hay factores desconocidos consistentes que influyen en el resultado, y podrían deducirse lógicamente, tal vez del historial de estado o acciones, pero los ha excluido de la representación estatal, entonces puede tener un problema más grave y el agente puede no aprender .

Vale la pena señalar la diferencia aquí entre observación y estado . Una observación son algunos datos que puede recopilar. Por ejemplo, puede tener sensores en su robot que realimentan las posiciones de sus articulaciones. Debido a que el estado debería poseer la propiedad de Markov, una sola observación en bruto podría no ser suficiente para hacer un estado adecuado. Si ese es el caso, puede aplicar su conocimiento de dominio para construir un mejor estado a partir de los datos disponibles, o puede intentar usar técnicas diseñadas para MDP parcialmente observables (POMDP) : estos intentan efectivamente construir partes faltantes de datos de estado estadísticamente Puede usar un RNN o un modelo de markov oculto (también llamado "estado de creencia") para esto, y de alguna manera esto está usando un "algoritmos de aprendizaje o clasificación para "aprender" esos estados "como usted pidió.

Finalmente, debe considerar el tipo de modelo de aproximación que desea usar. Aquí se aplica un enfoque similar al del aprendizaje supervisado:

  • Una regresión lineal simple con características diseñadas en base al conocimiento del dominio puede funcionar muy bien. Es posible que deba trabajar duro para probar diferentes representaciones de estado para que funcione la aproximación lineal. La ventaja es que este enfoque más simple es más robusto contra los problemas de estabilidad que la aproximación no lineal.

  • Un aproximador de función no lineal más complejo, como una red neuronal multicapa. Puede alimentar en un vector de estado más "en bruto" y esperar que las capas ocultas encuentren alguna estructura o representación que conduzca a buenas estimaciones. De alguna manera, esto también es " algoritmos de aprendizaje o clasificación para" aprender "esos estados ", pero de una manera diferente a un RNN o HMM. Este podría ser un enfoque sensato si su estado se expresó de forma natural como una imagen de pantalla; descubrir la ingeniería de características para los datos de imagen a mano es muy difícil.

El trabajo de Atari DQN del equipo DeepMind utilizó una combinación de ingeniería de características y se basó en una red neuronal profunda para lograr sus resultados. La ingeniería de características incluyó la disminución de la imagen, reduciéndola a escala de grises y, lo que es importante para la propiedad de Markov, utilizando cuatro cuadros consecutivos para representar un solo estado, de modo que la información sobre la velocidad de los objetos estaba presente en la representación del estado. Luego, el DNN procesó las imágenes en características de nivel superior que podrían usarse para hacer predicciones sobre los valores de estado.

Neil Slater
fuente
3

Un enfoque temprano común para modelar problemas complejos fue la discretización . En un nivel básico, esto es dividir un espacio complejo y continuo en una cuadrícula. Luego puede usar cualquiera de las técnicas clásicas de RL que están diseñadas para espacios discretos, lineales. Sin embargo, como puede imaginar, si no tiene cuidado, ¡esto puede causar muchos problemas!

El libro clásico de Sutton & Barto, Reinforcement Learning, tiene algunas sugerencias sobre otras formas de hacerlo. Una es la codificación de mosaicos , que se trata en la sección 9.5.4 de la nueva segunda edición . En la codificación de mosaicos, generamos una gran cantidad de cuadrículas, cada una con un espaciado de cuadrícula diferente. Luego superponemos las rejillas una encima de la otra. Esto crea regiones discretas con formas no uniformes y puede funcionar bien para una variedad de problemas.

La Sección 9.5 también cubre una variedad de otras formas de codificar un espacio continuo en un MDP discreto, incluidas funciones de base radial y codificaciones gruesas. ¡Echale un vistazo!

John Doucette
fuente