Al diseñar soluciones a problemas como el Lunar Lander en OpenAIGym , el refuerzo de aprendizaje es un medio tentador para darle al agente el control de acción adecuado para aterrizar con éxito.
Pero, ¿en qué casos los algoritmos del sistema de control, como los controladores PID , harían un trabajo adecuado como, si no mejor, que el aprendizaje por refuerzo?
Preguntas como esta hacen un gran trabajo al abordar la teoría de esta pregunta, pero hacen poco para abordar el componente práctico.
Como ingeniero de Inteligencia Artificial, ¿qué elementos de un dominio de problemas deberían sugerirme que un controlador PID es insuficiente para resolver un problema, y en su lugar se debe usar un algoritmo de Aprendizaje de refuerzo (o viceversa)?
reinforcement-learning
ai-design
control-theory
SeeDerekEngineer
fuente
fuente
Respuestas:
Creo que los comentarios están básicamente en el camino correcto.
Los controladores PID son útiles para encontrar políticas óptimas en sistemas dinámicos continuos y, a menudo, estos dominios también se utilizan como puntos de referencia para RL, precisamente porque existe una política óptima fácilmente derivable. Sin embargo, en la práctica, obviamente preferiría un controlador PID para cualquier dominio en el que pueda diseñar fácilmente uno: los comportamientos del controlador se comprenden bien, mientras que las soluciones RL a menudo son difíciles de interpretar.
Donde RL brilla es en tareas donde sabemos cómo se ve el buen comportamiento (es decir, conocemos la función de recompensa), y sabemos cómo se ven las entradas del sensor (es decir, podemos describir de manera completa y precisa un estado dado numéricamente), pero tenemos poco o no tenemos idea de lo que realmente queremos que haga el agente para lograr esas recompensas.
Aquí hay un buen ejemplo:
Si quisiera hacer que un agente maniobrara un avión desde delante de un avión enemigo con patrones de movimiento conocidos hacia atrás, usando la menor cantidad de combustible, preferiría usar un controlador PID .
Si quisiera hacer un agente para controlar un avión y derribar un avión enemigo con suficiente combustible para aterrizar, pero sin una descripción formal de cómo podría atacar el avión enemigo (quizás un experto humano lo piloteará en simulaciones contra nuestro agente) Prefiero mucho RL .
fuente