Si todavía no ha leído Parte 1 o Parte 2 de nuestra serie de aprendizaje de refuerzo, puede consultarlas aquí y aquí . En la Parte 1, aprenderá sobre conceptos clave de aprendizaje de refuerzo que lo ayudarán a comprender mejor el aprendizaje de refuerzo. La Parte 2 lo llevará a través de comparaciones y consideraciones específicas para los algoritmos de aprendizaje de refuerzo.
En este artículo, vamos a celebrar lo que hemos aprendido sobre el aprendizaje de refuerzo. Analizaremos algunas de las cosas geniales que la gente ha hecho con el aprendizaje de refuerzo.
Algunos de los obstáculos principales que siguen siendo desafíos abiertos en el aprendizaje de refuerzo, y analizaremos algunos recursos con los que podrías empezar si quisieras comenzar a trabajar con refuerzo aprendiéndote a ti mismo !
Logros de Cool RL
Con todo nuestro conocimiento de refuerzo de aprendizaje en la mano, ahora tenemos un buen la base de cómo funciona RL y algunos de los factores que los desarrolladores deben tener en cuenta al momento de decidir cómo hacer su aplicación de RL. Veamos qué tipo de cosas geniales ha logrado RL.
RL Beats Humans at Dota 2
OpenAI ha desarrollado un conjunto de cinco redes neuronales que han aprendido a coordinarse entre sí, derrotando a los humanos reales en el juego RTS, Dota 2. El 5 de agosto de 2018, el equipo de cinco redes neuronales compitió contra jugadores reales, humanos y competitivos y ganó dos de tres juegos. ¡Un gran logro en el juego AI!
RL para la sintonización de hiperpares
Google ha desarrollado un enfoque de ajuste de hiperparámetros mediante el aprendizaje de refuerzo que denominan AutoML. Establecen un problema y desarrollan nuevas redes neuronales basadas en posibles mutaciones de red (acciones) y obtienen retroalimentación en forma de nuevo rendimiento de red.
Bonsai para aplicaciones industriales
Bonsai fue una genial startup que Microsoft adquirió recientemente y que se centró en utilizar RL en dominios industriales y empresariales. Su objetivo era mejorar los sistemas de control y las decisiones en tiempo real que aumentarían la automatización y la eficiencia en áreas como robótica, fabricación, energía y más.
Pit.ai para entender estrategias comerciales
Pit.ai es un grupo genial que está aprovechando RL para tener una mejor idea y entender los algoritmos comerciales Tienen una gran misión de usar RL para ayudar a reemplazar a los humanos de la administración de inversiones para ayudar a reducir los costos.
DeepMind reduce los costos de enfriamiento
Utilizando RL, DeepMind de Google ayudó a reducir el costo para enfriar sus centros de datos en un 40%.
Obstáculos en RL
No se puede negar que el aprendizaje de refuerzo puede hacer muchas cosas interesantes. Proporciona una nueva forma de pensar sobre el aprendizaje automático; es una forma diferente de abordar un problema de aprendizaje automático.
Eso no significa que sea la mejor forma de abordar cada problema. El aprendizaje de refuerzo a veces puede ser la forma más difícil de resolver un problema. Podemos comprender mejor esto al observar algunos de los obstáculos que impiden que las aplicaciones se construyan alrededor de RL.
Datos
Los datos son fundamentales para el aprendizaje automático. Punto final. RL requiere una enorme cantidad de datos para ser funcional. Piensa en nuestro agente jugando a través de Mario.
Debe jugar el juego una y otra vez para aprender a hacer incluso las tareas más básicas. Sin todos esos datos de juego, nuestro agente nunca aprendería a jugar, y mucho menos a jugar bien. Este es un problema, particularmente cuando los datos son difíciles de obtener.
¿Cuál es el objetivo
que los algoritmos de RL deben tener? metas. Ya que están guiados por tareas, siempre deben esforzarse hacia ese objetivo, ya sea para ganar la mayor cantidad de dinero intercambiando o para superar el nivel tan rápido como sea posible. En tareas complejas, la pregunta de “¿cuál es el objetivo?”.
Se vuelve cada vez más difícil de responder. Si el objetivo no está bien pensado, un agente puede gravitar hacia hacer algo que no intentas hacer.
Piensa en un algoritmo hipotético colocado en un robot que tiene la tarea de mantener a un ser humano a salvo. Digamos que se ejecuta una simulación y concluye que la mejor manera de mantener la seguridad de los humanos es erradicar todas las demás vidas humanas y sedar al ser humano en cuestión.
No es para nada de lo que queríamos comenzar, pero eso es lo que el algoritmo calculó que mantendría a esa persona segura durante el mayor tiempo posible según la definición de su objetivo, política y función de valor. Por lo tanto, la definición de objetivos es fundamental.
Tareas complejas en entornos dispersos
Este problema hereda de los peores escenarios posibles de los dos últimos. ¿Cómo tomamos a un agente que necesita aprender a hacer algo muy complejo en un entorno donde rara vez recibe una señal de recompensa?
Hay muchos enfoques para resolver este problema, como crear una política compleja para manejar tareas complejas o dividir tareas complejas en tareas más pequeñas y obvias (consulte OpenAI con Dota 2 donde formulan pequeñas recompensas que los agentes pueden recibir que resultan inherentemente en la gran recompensa que se desea). Esta sigue siendo una gran área de investigación.
Gran cantidad de estados y acciones
En Mario, el número de acciones que un agente puede tomar es limitado. En el mundo real, la cantidad de acciones que un agente puede tomar es infinita.
También lo es la cantidad de estados del medio ambiente que se pueden observar. ¿Cómo maneja esto un agente? ¿Cómo puede un algoritmo representar matemáticamente esto?.
Estas son preguntas enormes, grandes áreas de investigación y cosas críticas que deben entenderse mejor para hacer agentes complejos que puedan interactuar en el mundo real.
A estas alturas, puedes estar pensando “Wow, hay tantas cosas geniales que el aprendizaje de refuerzo puede hacer y aún quedan muchos problemas por resolver”. ¿Cómo puedo comenzar? ”
Teniendo esto en cuenta, saqué algunos recursos que creo que sería un gran lugar para comenzar a entender sobre Aprendizaje de refuerzo:
- Aprendizaje de refuerzo: una introducción – Si te gustan algunos lectura pesada, este es un buen libro para sumergirse y analizar realmente los componentes teóricos detrás del aprendizaje de refuerzo. Está escrito por Richard Sutton y Andrew Barto (que han trabajado mucho en RL) y es realmente agradable (actualmente estoy trabajando en ello).
- Curso de refuerzo de aprendizaje del University College de Londres – Esto es un curso (en gran parte basado en el libro anterior) que es bueno para trabajar. También presenta diapositivas y video conferencias.
- UC Berkley – CS 294 – Estos son los videos del curso de UC Berkley sobre aprendizaje de refuerzo.
- Curso de aprendizaje profundo sobre refuerzo de Udacity – Siente que quiere tener más manos en? ¿Aprendes mejor haciendo? ¡Entonces quizás probar el Curso de Aprendizaje de Refuerzo Profundo de Udacity podría ser más su velocidad!
- Refuerzo Aprendiendo GitHub Repo – Este repositorio tiene una colección de algoritmos de aprendizaje de refuerzo implementados en Python. Pero más que eso, toma el libro de Sutton y Barto, así como los videos de UCL, y los combina en un plan de aprendizaje con algunos ejercicios para orientar cómo abordar el uso de los dos recursos. Si eso suena más a tu velocidad, ¡deberías echarle un vistazo!
Conclusión
Creo que el aprendizaje de refuerzo será la técnica que genere una nueva revolución en el aprendizaje automático, creando aplicaciones verdaderamente inteligentes que usen técnicas del aprendizaje supervisado y no supervisado para observar el entorno en el que actúa el agente. Si el aprendizaje de refuerzo está en el futuro, ¡será un futuro brillante!