Aprendizaje de refuerzo práctico – Parte 3

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 !

Quién sabe … ¡Tal vez creará el próximo sistema de inteligencia artificial para derrotar a humanos en juegos como Google lo hizo con AlphaGo!

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!

Los Cinco de OpenAI aún no han terminado. Esta primera competencia que sostuvieron fue solo el comienzo de lo que realmente esperan hacer: competir a nivel internacional y profesional. Terminaron haciendo esto a finales de agosto, que ganaron una ronda y luego perdieron frente a otros dos competidores humanos profesionales. Una pérdida, pero en cierto modo, ¡también es una victoria!

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.

Ajustar los hiperparámetros para obtener el mejor rendimiento de los modelos de aprendizaje automático es realmente difícil. El servicio AutoML de Google puede usar esto para nosotros, utilizando lo que sabemos sobre el refuerzo aprendiendo a obtener mejores parámetros y más rápido.

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.

La idea de Bonsai era que podíamos entrenar maquinaria de grado industrial en simulación utilizando aprendizaje automático . Al hacerlo, atenuamos el riesgo de romper cualquier cosa que pueda costarle a la compañía una gran cantidad de dinero.

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.

Usar RL para generar buenas estrategias comerciales … Suena muy parecido a nuestro ejemplo en el mercado bursátil. ¿Cree que enmarcan sus tareas como episódicas o continuas?

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%.

Piense en cuánto 40% está en una escala de nivel de Google … ¡Oh!

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.

Los datos son un gran problema para el aprendizaje automático de máquinas. Pero en las tareas supervisadas, a veces los datos son simplemente un par de entradas y etiquetas, las tareas de RL a menudo requieren datos mucho más complejos para enseñar a los sistemas a hacer lo que deseamos.

¿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.

Asegurarnos de que nuestros algoritmos y agentes hagan lo que deseamos y esperamos que hagan es fundamental para implementar sistemas en el mundo real. Estos son problemas que afectan la seguridad, la ética, la seguridad y más.

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.

Piensa en la tarea de intentar enseñarle a un robot cómo tocar físicamente el piano. Esta es una tarea increíblemente compleja que no necesariamente presenta una gran cantidad de comentarios que pueden convertirse en una señal de recompensa. Esto requeriría una gran ingeniería de objetivos, que se relaciona con nuestro número anterior.

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.

En el momento en que intentamos desplegar un agente en el mundo real, lo que está en juego es más alto, y el problema se vuelve exponencialmente más difícil. Incluso enseñarle a un robot a caminar usando RL puede volverse muy difícil.

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!

Dejá un comentario