Saltear al contenido principal

Aprendizaje por refuerzo profundo con Python

Tomar Curso

Descripción

Este curso trata sobre la aplicación de aprendizaje profundo y Redes neuronales para aprendizaje reforzado.

Si ha tomado mi primera clase de aprendizaje por refuerzo, entonces sabrá que el aprendizaje por refuerzo está a la vanguardia de lo que podemos hacer con la IA.

Específicamente, la combinación de aprendizaje profundo con aprendizaje reforzado ha llevado a AlphaGo a vencer a un campeón mundial en el juego de estrategia Go, ha llevado a coches autónomos y ha llevado a máquinas que pueden jugar videojuegos a un nivel sobrehumano.

El aprendizaje por refuerzo existe desde los años 70, pero nada de esto ha sido posible hasta ahora.

El mundo está cambiando a un ritmo muy rápido. El estado de California está cambiando sus regulaciones para que las compañías de autos autónomos puedan probar sus autos sin un ser humano en el auto para supervisar.

Hemos visto que el aprendizaje por refuerzo es un tipo de aprendizaje automático completamente diferente al aprendizaje supervisado y no supervisado.

Supervisado y no supervisado aprendizaje automático los algoritmos sirven para analizar y hacer predicciones sobre datos, mientras que el aprendizaje por refuerzo consiste en entrenar a un agente para interactuar con un entorno y maximizar su recompensa.

A diferencia de los algoritmos de aprendizaje supervisados ​​y no supervisados, los agentes de aprendizaje por refuerzo tienen un ímpetu: quieren alcanzar una meta.

Esta es una perspectiva tan fascinante que incluso puede hacer que el aprendizaje automático supervisado / no supervisado y «Ciencia de los datos”Parece aburrido en retrospectiva. ¿Por qué entrenar una red neuronal para aprender sobre los datos en una base de datos, cuando se puede entrenar una red neuronal para interactuar con el mundo real?

Si bien el aprendizaje por refuerzo profundo y la inteligencia artificial tienen un gran potencial, también conllevan un gran riesgo.

Bill Gates y Elon Musk han hecho declaraciones públicas sobre algunos de los riesgos que plantea la IA para la estabilidad económica e incluso para nuestra existencia.

Como aprendimos en mi primer curso de aprendizaje por refuerzo, uno de los principios fundamentales de la formación de agentes de aprendizaje por refuerzo es que hay consecuencias no deseadas al entrenar una IA.

Las IA no piensan como los humanos, por lo que idean soluciones novedosas y no intuitivas para alcanzar sus objetivos, a menudo de formas que sorprenden a los expertos en el dominio: humanos que son los mejores en lo que hacen.

OpenAI es una organización sin fines de lucro fundada por Elon Musk, Sam Altman (Y Combinator) y otros, para garantizar que la IA progrese de una manera que sea beneficiosa, en lugar de dañina.

Parte de la motivación detrás de OpenAI es el riesgo existencial que la IA representa para los humanos. Creen que la colaboración abierta es una de las claves para mitigar ese riesgo.

Una de las mejores cosas de OpenAI es que tienen una plataforma llamada Gimnasio OpenAI, que usaremos mucho en este curso.

Permite a cualquier persona, en cualquier parte del mundo, capacitar a sus agentes de aprendizaje por refuerzo en entornos estándar.

En este curso, nos basaremos en lo que hicimos en el último curso al trabajar con entornos más complejos, específicamente, los proporcionados por OpenAI Gym:

  • Carrito

  • Coche de montaña

  • Juegos de Atari

Para formar agentes de aprendizaje eficaces, necesitaremos nuevas técnicas.

Ampliaremos nuestro conocimiento del aprendizaje de diferencias temporales observando el algoritmo TD Lambda, veremos un tipo especial de red neuronal llamada red RBF, veremos el método de gradiente de políticas y terminaremos el curso analizando Deep Q-Learning (DQN) y A3C (Asynchronous Advantage Actor-Critic).

Gracias por leer, ¡nos vemos en clase!

«Si no puedes implementarlo, no lo entiendes»

  • O como dijo el gran físico Richard Feynman: “Lo que no puedo crear, no lo entiendo”.

  • Mis cursos son los ÚNICOS cursos en los que aprenderá a implementar algoritmos de aprendizaje automático desde cero.

  • Otros cursos le enseñarán cómo conectar sus datos a una biblioteca, pero ¿realmente necesita ayuda con 3 líneas de código?

  • Después de hacer lo mismo con 10 conjuntos de datos, se da cuenta de que no aprendió 10 cosas. Aprendió 1 cosa y simplemente repitió las mismas 3 líneas de código 10 veces …

Requisitos previos sugeridos:

  • Las matemáticas de nivel universitario son útiles (cálculo, probabilidad)

  • Programación orientada a objetos

  • Codificación Python: if / else, bucles, listas, dictados, conjuntos

  • Codificación Numpy: operaciones matriciales y vectoriales

  • Regresión lineal

  • Descenso de gradiente

  • Sepa cómo crear ANN y CNN en Theano o TensorFlow

  • Procesos de decisión de Markov (MDP)

  • Saber cómo implementar programación dinámica, Monte Carlo y aprendizaje de diferencias temporales para resolver MDP

¿EN QUÉ ORDEN DEBO TOMAR TUS CURSOS ?:

Ver Comentarios del Curso

Volver arriba