Empezando con Reinforcement Learning como jugando | DeepFridays Series
Escucha este artículo en AudioBlog:
Estas series están dirigidas a cualquier persona que quiera involucrarse en el mundo de la inteligencia artificial. Son de nivel 100 y 200.
Iremos desde lo más sencillo hasta empezar a crear nuestros propios jueguitos autónomos, desde entender la ecuación de Bellman hasta los procesos no deterministas y estocásticos de Markov. Aprenderemos a usar librerías como Open AI Gym y Amazon Sagemaker RL.
Mi gusto por los vehículos autónomos me hizo empezar a investigar y aprender más de esta industria. Empezando por crear unas series educativas sobre AWS DeepRacer llamadas Deep Fridays en youtube. Así que Descubriremos lo que hay detrás de la magia de AWS DeepRacer, el servicio de vehículos autónomos de Amazon Web Services para comparar entre un servicio totalmente administrado en la nube a construirlo tú mismo con un simple notebook.
Aquí muestro un DeepRacer desmantelado, vemos que usa cámaras construidas por Amazon llamadas DeepLens.
Pero tú también puedes construir tu propio auto autónomo, como los de Duckie Town este de aquí abajo.
Algunos prerrequisitos antes de empezar son tener conocimientos de álgebra lineal, estadística descriptiva, machine learning usando modelos supervisados y no supervisados. Aunque no es 100% necesario, nos ayudará a entender mejor las bases del aprendizaje por refuerzo o por recompensas.
📢 Aprenderemos:
- Las bases de manera práctica y simple del entrenamiento reforzado (RL).
- Aplicaciones prácticas de RL.
- Teoría y matemática detrás de RL .
- Q learning.
- Deep Reinforcement Learning.
Deep Reinforcement Learning es la fusión de Deep learning con Reinforcement Learning, de manera que se crean nuevos campos como la locomoción y navegación en robótica, montaje de carros, y vehículos autónomos.
Veremos algún día cercano en Latinoamérica, drones volando y haciendo las entregas autónomas? Conversaremos con ellos, y luego regresarán volando. Quién sabe. Amazon ya tiene un servicio parecido, llamado Prime Air, así como también en muchos centros de almacenamiento de productos de los principales e-commerce como Alibaba, Amazon, y otros tienen robots para que les ayuden a distribuir los productos, o como guías dentro de las fábricas.
Aquí sí se necesita un nivel de matemática muy elevado.
🧩 Primero lo primero: ¿Qué es Reinforcement learning?
Es un campo de la Inteligencia artificial, que se basa enteramente en el entorno y de evaluar posibles decisiones dado un espacio y tiempo con el fin de solucionar un problema, a medida que va obteniendo premios o penalizaciones según su conducta.
Empecemos por el ejemplo básico de salir del laberinto. En donde nuestro objetivo es ganar al entorno.
Ambiente: el lugar o espacio , entorno donde ocurren los eventos.
Agente: el objeto, entidad, u otro que interactúa con el ambiente.
Intérprete: el individuo, o entidad que registra cada movimiento o interacción hecha por el agente en el ambiente.
Acción: Cada interacción del agente en el ambiente.
Estado: un momento en el espacio y tiempo de la interacción.
Recompensa: valorar positivamente una acción hecha por el agente, que nos indica que estamos en el camino correcto para resolver el problema dentro del ambiente.
El agente deriva a acciones, y ésta a tomar decisiones, ya sean correctas o incorrectas. Cada una nos llevará a un aprendizaje distinto. La correcta a una recompensa y la incorrecta a una penalización.
La recompensa es donde ocurre el refuerzo del aprendizaje y además es variable de lo bien o mal de la acción realizada.
🧩Vayamos a otro ejemplo real:
Freír un huevo, tiene muchas acciones y recompensas dependiendo que queremos lograr, como el tiempo en la sartén, quemar o no la tortilla, la cantidad de fuerza del gas o del fuego de la hornilla.
Así, nos damos cuenta que la mayoría de acciones que realizamos a diario, al querer imitarlos y programarlos artificialmente, corresponden a un aprendizaje basado en recompensas buenas y malas.
Desde un grupo de personas que crean cursos dónde se necesitan, feedback para ir mejorando los cursos, Comprar o vender stocks, o Conducir un auto donde se necesita saber usar las luces, los frenos, etc. Hasta entrenar a un cachorro que queremos que nos obedezca.
🧩 Las acciones se derivan en estados diferentes.
Recompensas Positivas o cercanas a 1.
Recompensas Negativas o cercanas a cero.
Pasarnos un videojuego es una excelente manera de entender cómo los agentes aprenden. Actualmente existen bots de RL, que son desarrollados por Open AI, para ganarles a jugadores profesionales de ligas de Dota 2, League of Legends, y otros.
Mover un carácter en un juego significa tomar decisiones para mover el pie de la izquierda, mover el de la derecha, hasta encontrar el óptimo y caminar correctamente, correr y más. Para ellos necesitamos muchos movimientos, acciones, y entender cuándo me dan más recompensa y evitar cuando no lo obtenga. Al realizar este proceso de manera aleatoria, podremos simular el comportamiento de cuáles son las acciones apropiadas según el estado en el que me encuentre. Aquí involucramos los procesos estocásticos.
Entonces el objetivo es REFORZAR el aprendizaje, saber cuál es lo correcto y lo incorrecto.
🧩 Q-Learning y Policy gradients.
Existen 2 algoritmos esenciales para empezar con aprendizaje reforzado, primero está Q-Learning que se basa en intentar aprender el valor de estar en un estado y pensar en realizar una acción a partir de ello. Y por otro lado, los algoritmos gradientes de políticas que usan la probabilidad para asignar las observaciones hacia las acciones.
Para ello, es bueno conocer la ecuación de Bellman, y progresivamente entenderemos cómo funcionan las decisiones artificiales, se combinan con la aleatoriedad, la probabilidad, y otros factores.
Dónde el valor del estado actual es igual al valor máximo de todas las recompensas dada cada una de las acciones en cada uno de los estados sumado a un valor Gamma multiplicado por el valor siguiente . Aún no se preocupen si no entendemos, lo veremos más adelante.
🧩 Conclusión:
- El aprendizaje por refuerzo, o Reinforcement Learning, es totalmente distinto de sus hermanas supervisadas y no supervisadas, y aunque aún no hemos revisado a detalle sus diferencias, solo con ver que se va aprendiendo conforme se va realizando las acciones, ya lo hace distinto al clásico aprendizaje basado en la historia.
- El aprendizaje por refuerzos, se basa en la exploración y descubrimiento.
- Lo que lo hace tan interesante y prometedor es la similitud en cómo nosotros los humanos realizamos las decisiones pensando en nuestra mente, las posibles ocurrencias solamente. Sin involucrar el pasado.
- Se están creando nuevas oportunidades de negocio a partir del entrenamiento basado en refuerzos, como las tiendas más inteligentes y publicidad dinámica, así como en las finanzas, para la compra y venta de acciones, o no hacer nada.
- Es muy bien aplicado en la industria de juegos, para crear mejores entornos y AI más realista cuando se enfrentan a humanos, como es el caso de Alpha Zero y AlphaGo Zero ganando a los campeones mundiales en juegos como Dota, Starcraft, Ajedrez, y más.
Si te gustó este post, dale un like, comparte y comenta.
Estas series son parte de una nueva sección llamada AI for Mortals, donde me incluyo con ustedes para enseñarles lo que voy aprendiendo.
Visitar AI for Mortals: (https://aiformortals.cortez.cloud) para aprender sobre NLP también
☢ Rompiendo se aprende
Suscríbete a mi canal, Breaking the Cloud y Al día con AWS en https://cortez.cloud
⭐Suscríbete a mi canal : http://bit.ly/aldiaconaws
videos, noticias de AWS, análisis, demos, workshops
🔥🔥 Sígueme en mis redes 🔥🔥
🦜 Mi Twitter: https://twitter.com/ccortezb
📺 Youtube Channel: http://bit.ly/aldiaconaws
📺 AWSUGPerú: https://www.youtube.com/awsusergroupperuoficial
📟 Mi Facebook: https://www.facebook.com/ccortezb/
🤳 Mi Instagram: ccortezbazan
📜 Mis cursos de AWS: https://cennticloud.thinkific.com
🕮 Mi blog — cortez.cloud
Muchas gracias, espero nos volvamos a ver
🔥🔥 Acerca de mí 🔥🔥
Les presento mi pequeña web personal https://www.Cortez.Cloud llamado “Breaking the Cloud”.
Seguiré creando contenido cada semana de AWS sobre Al/ML, Serverless, Security y como romper las reglas!
También mis próximas iniciativas, talleres, cursos, videos gratuitos, awsugperu y más.