language agnostic - neural - Buenas implementaciones de aprendizaje de refuerzo?
reinforcement learning pdf (7)
Para un proyecto de clase Ai, necesito implementar un algoritmo de aprendizaje de refuerzo que supere a un simple juego de tetris. El juego está escrito en Java y tenemos el código fuente. Conozco los conceptos básicos de la teoría del aprendizaje reforzado, pero me preguntaba si alguien en la comunidad SO tenía experiencia práctica en este tipo de cosas.
- ¿Cuáles serían tus lecturas recomendadas para una implementación de aprendizaje reforzado en un juego de tetris?
- ¿Hay algún buen proyecto de código abierto que logre cosas similares que valdría la pena revisar?
Editar: Cuanto más específico, mejor, pero los recursos generales sobre el tema son bienvenidos.
Seguir:
Pensé que sería bueno si publicara un seguimiento.
Aquí está la solución (código y redacción) con la que terminé para futuros estudiantes :).
Aquí hay un buen libro sobre el tema:
Aprendizaje automático y minería de datos: Introducción a los principios y algoritmos
por Igor Kononenko, Matjaz Kukar (junio de 2007)
También eche un vistazo a estos proyectos de código abierto:
Eche un vistazo a la RL-competition 2009. Uno de los dominios problemáticos es un juego de tetris . Hubo un problema de tetris el año anterior también. Aquí está el informe final de 52 páginas del quinto finalista de ese año, que detalla muchos detalles sobre cómo trabajó el agente.
El ebook de Heaton Research es bastante bueno para explicar los conceptos de redes neuronales (con código). El Capítulo 4 está dedicado al aprendizaje automático y a los diversos métodos de entrenamiento para sus redes. Hay una biblioteca descargable y aplicaciones de muestra para que pueda ver.
Esta pregunta es realmente antigua, pero para cualquiera que lea esto en 2018, le recomiendo que use OpenAI Baselines si le interesan las referencias sólidas de los algoritmos de RL existentes. Estos algoritmos son implementados por un grupo de empleados en OpenAI que realmente saben esto, y han sido muy ajustados y depurados.
Para ser justos, no los necesitas para Tetris, pero ahora sospecho que las tareas pueden incluir entornos más sofisticados.
Esto no es específico del aprendizaje reforzado, pero Stanford tiene una gran serie de conferencias sobre aprendizaje automático en Youtube y iTunes.
El enlace es a la primera conferencia, que tarda aproximadamente 30 minutos en sumergirse en el contenido.
Burlap es una biblioteca reciente de Java que proporciona implementaciones de muchos algoritmos de aprendizaje de refuerzo comunes, así como algunos entornos y herramientas útiles.
TD-Gammon , gnubackgammon o cualquier otro proyecto similar fueron éxitos masivos en los juegos.
El libro de Sutton & Barto "Aprendizaje de refuerzo: una introducción" también tiene algunos otros estudios de caso .