Reinforcement Learning… el nuevo invitado

Rubén Granados Muñoz    21 junio, 2019

Hablábamos en un post anterior sobre el aprendizaje semi-supervisado (semi-supervised learning), y lo presentamos como una alternativa olvidada a las aproximaciones más comunes en Machine Learning (ML): el aprendizaje supervisado y el no supervisado. Aquí queremos presentar un “nuevo” invitado, el aprendizaje por refuerzo o Reinforcement Learning (RL). No tan nuevo, porque lleva con nosotros desde los años 80.

Repasemos muy brevemente las aproximaciones clásicas, que hasta ahora han sido suficientes para afrontar la mayor parte de los problemas de Machine Learning. Las características principales de estas técnicas están muy claras en cualquier persona que tenga un mínimo contacto con el área: en el aprendizaje supervisado tenemos conjuntos de datos etiquetados (ya sean valores numéricos para problemas de regresión, o categorías para el caso de la clasificación) de los que los algoritmos aprenderán, y en el caso no supervisado, tendremos datos pero sin etiquetar, por lo que el objetivo será descubrir estructuras o patrones dentro de esos datos (por ejemplo, en los problemas de clustering o segmentación).

¿Dónde entra en juego entonces el aprendizaje por refuerzo? El escenario de acción de este tipo de modelos será cuando no se dispone inicialmente de un conjunto de datos de los que aprender, ya sea porque no existen o porque no podamos esperar a recopilarlos o porque cambian demasiado rápido y la salida se modifica también con mayor frecuencia de la que los modelos típicos pueden entender.

Nos puede ayudar a entender mejor el concepto si nos vamos a los orígenes del aprendizaje por refuerzo, que se basa en el estudio del comportamiento animal. El típico ejemplo es el de la gacela recién nacida, que es capaz de aprender a caminar y a correr en unos pocos minutos, sin disponer de conocimiento previo ni modelo alguno sobre cómo utilizar sus piernas. Su forma de aprender consiste en un mecanismo de prueba y error, interactuando con su entorno y aprendiendo qué tipo de movimientos le son beneficiosos y cuales no, todo orientado a conseguir su recompensa, en este caso nada despreciable: su supervivencia

Algún ejemplo de problemas actuales que se ajustan a estas características pueden ser el control en robótica (donde el robot puede estar conociendo por primera vez el lugar por el que quiere moverse), o la interacción en videojuegos o juegos clásicos (donde las posibilidades son muchas y la situación cambia continuamente) donde, como la gacela, el objetivo es maximizar alguna noción de recompensa (que dependiendo del juego, puede ser matar el mayor número de zombies posible o comerse a la reina rival).

Aunque el concepto de este tipo de aprendizaje no es tan claro como el de los casos supervisado y no supervisado, va quedando clara la diferencia principal: mientras en los métodos clásicos se tienen datos de los que aprender, los algoritmos de RL van generando sus propios datos a base de experimentar, probar y equivocarse, para identificar la mejor estrategia o conjunto de movimientos, utilizando como refuerzo (positivo o negativo) la información que obtiene desde el entorno sobre sus acciones.

En resumen, los modelos de RL viven su propia experiencia y aprenden de ella, mientras que los otros tienen ejemplos de los que aprender. Y lo más importante, los sistemas basados en RL pueden sobrevivir aprendiendo de su entorno, sin la limitación de estar atados a las reglas o modelos aprendidos del pasado.

Recuperando el esquema del post anterior, podríamos incluir un enfoque más dentro de las posibilidades de estrategias de aprendizaje automático:

Distintas estrategias en Aprendizaje Automático

El esquema básico de funcionamiento de un modelo de Reinforcement Learning puede verse en la figura. El agente es el algoritmo de RL en sí, el que toma decisiones para actuar en su entorno. El entorno es el mundo en el que opera el agente, representa el universo de posibilidades o situaciones que se pueden dar en un momento concreto. El estado es la caracterización de la situación en un momento dado del agente. Las acciones se refieren a las tareas que el agente lleva a cabo en el entorno. Y, por último, la recompensa es lo que guía las decisiones de los agentes, asociadas a las acciones ejecutadas, en forma de feedback desde el entorno.

Figura 2: Realimentación del entorno.

En cuanto a los posibles escenarios para la aplicación de este tipo de aprendizaje, se pueden destacar todos aquellos escenarios en los que esté presente la acción humana, y que no puedan ser resueltos por un conjunto de reglas o por modelos de ML tradicionales. Por mencionar algunos: la automatización de procesos robóticos (como el robot industrial Faunc, que aprendió por sí mismo a coger objetos de contenedores), el embalaje para envío de materiales, la conducción autónoma de vehículos, el marketing digital (donde un modelo puede aprender a poner anuncios personalizados y en el momento idóneo a los usuarios en base a su actividad), los chatbots (utilizando para aprender las reacciones de los usuarios), las finanzas (donde puede utilizarse para evaluar estrategias comerciales con el objetivo de maximizar el valor de portfolios financieros), etc.

Otro ejemplo típico de la aplicación de los algoritmos de RL son los que aprenden a jugar a los videojuegos, con el caso de AlphaGo Zero, primer algoritmo en vencer a un campeón del mundo humano en el famoso juego chino Go. La imagen muestra un mapa completo de las inmensas posibilidades del RL.

Figura 3: Aplicaciones del aprendizaje por refuerzo.

En resumen, hay vida más allá de los clásicos modelos y algoritmos supervisados o no supervisados de ML, como son los presentados aquí de Reinforcement Learning, y pueden ayudarnos en un sinfín de tareas.


Escrito por Alfonso Ibáñez y Rubén Granados 


Para mantenerte al día con LUCA visita nuestra página web,  suscríbete a LUCA Data Speaks o síguenos en TwitterLinkedIn YouTube

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *