Skip to main content
Reinforcement Learning

Reinforcement Learning: Aprendamos de los Lobos

El Reinforcement Learning (RL) es una forma de aprendizaje para las máquinas, su enfoque es uno de los más interesantes, busca responder a una pregunta como la siguiente:

¿Cómo un agente inteligente puede aprender a tomar buenas decisiones?

Sin embargo, la clave no se centra en solo tomar una buena decisión, pensemos en un animal, para ser específicos en un lobo. Los lobos son animales que son cuidados por sus madres cuando son pequeños, como casi todos los mamíferos.

En los primeros años, la madre le enseña al lobo cómo responder a su instinto, es decir, si tiene hambre le trae la comida y así el lobo comienza a aprender a que ese tipo de comida es el que sacia su instinto, aunque no lo piense, su instinto responde a ello.

Segundo, le enseña a cazar, conforme crece y al tener la fuerza suficiente, el pequeño lobo aprende de su madre o manada, qué tipo de animales debe de cazar, esto también responde al instinto de “hambre” el cual a su vez responde al instinto de “vivir”.

Digamos que nuestro lobo dejó de depender de su madre, sabemos que si quiere sobrevivir, tendrá que repetir esto más de una vez, el no hacerlo no le permitiría vivir, adicionalmente, sabemos que este patrón, aunque no perfectamente igual, será similar para todas las ocasiones en las que su instinto le empuje a actuar y por último, sabremos que el mundo en el que se encuentra habrá cambiado y él habrá cambiado, todo dependiendo del éxito o fracaso de su acción.

Esto es aplicable al Reinforcement Learning y no por nada, muchos de estos principios provienen de la Psicología Animal. (Russell & Norvig, 2010)

Lo que se acaba de describir es algo fundamental del RL y es que no basta con que el agente realice una acción buena una sola vez, es necesario que pueda realizar una secuencia de buenas decisiones orientadas al objetivo que le hemos puesto.

Adicionalmente, pensemos en lo siguiente, imaginemos que nuestro lobo se encuentra en el clímax del invierno en Alaska, y que tiene a su alcance una manada de ciervos en buena salud, pero, en su acechamiento, se da cuenta que existen ciervos pequeños, viejos y enfermos.

Si el Lobo quisiera atacar al ciervo con buena salud, tiene probabilidades de fracaso (incertidumbre), pero sabemos que el Lobo es un animal oportunista, por lo que decidirá ir por el ciervo enfermo, dado a que, de los tres, es el que menor posibilidad tiene de sobrevivir a su ataque.

Esto, también es un concepto del RL, no solo se trata de tomar una secuencia de buenas decisiones, sino de siempre tomar la mejor secuencia de buenas decisiones, es decir, maximizar u obtener siempre la mayor recompensa posible, cosa que se logra a través de la experiencia, es decir, repitiendo ciertas acciones similares y comparándolas para que la próxima vez que se encuentre con otra situación similar, tome la mejor.

Esto al igual que el Lobo, quien probablemente antes de decidir cazar al ciervo enfermo, intentó con los sanos quienes pudieron escapar fácilmente, con los pequeños quienes fueron defendidos por los adultos o con los ancianos quienes lo detectaron mucho antes y pudieron escapar gracias a su experiencia.

A todo esto, se le necesita añadir un factor del que no hemos hablado, la incertidumbre. Si lo pensamos, la gran mayoría de las acciones que hemos descrito del lobo, se hacen bajo condiciones de incertidumbre, por lo que, el gran reto de cualquier RL sería construir un agente que siempre logre:

La mejor secuencia de buenas decisiones bajo incertidumbre

Este modelo, se vería expresado de la siguiente manera:

Image removed.

Lo que describe este modelo es que, tenemos un Agente que toma una acción, esta acción modifica o actualiza el Mundo, se emiten observaciones, en cualquier caso, recibe un estímulo positivo si la acción representó algo para el objetivo, uno negativo si la acción no representó algo para el objetivo, o nada si la acción representó algo neutro para el objetivo, esto es un ciclo iterativo hasta lograr el objetivo deseado.

Ahora, este ciclo iterativo (t) considera algunos aspectos de los que no hemos hablado, el primero de ellos es el historial el cual lo podríamos considerar como todas aquellas secuencias de acciones pasadas que fueron tomadas por el Agente (at) con sus respectivas Observaciones(ot) y Premios (rt), que nos indican cómo toma el agente acciones en el futuro.

ht = (a1, o1, r1… an, on, rn)

Por otro lado, el historial está conformado por lo que llamamos estados, el cual lo podríamos considerar como la representación actual o local del mundo y es utilizado para determinar que sucede después, es decir, cómo el mundo determinaría las siguientes observaciones y premios dada cierta acción, esto considerando el historial total de los estados pasados, los cuales le sirve para clasificar y comparar. (Brunskill, 2019)

st = (ht)

Image removed.

Los modelos de Markov son utilizados para RL, dado a que sirven para considerar si un estado utilizado por un agente es suficiente para ser considerada como una representación estadística de la historia para poder predecir el futuro considerando el estado actual del mundo. (Brunskill, 2019)

Por último, si no existen repeticiones en los estados, significa que el modelo siempre tendría puntos de datos diferentes, cosa que haría muy difícil lograr el aprendizaje dado a que todo el estado son diferentes, para aprender, el RL necesita alguna forma de generalización a través de cluster, por ejemplo, para poder comprar experiencias previas similares a las del estado actual.

Image removed.

Fuentes:

Russell, S. J., & Norvig, P. (2010). Artificial intelligence: A modern approach. Upper Saddle River, PT: Prentice-Hall.

Brunskill, E. (Professor). (2019). Stanford CS234: Reinforcement Learning | Winter 2019 | Lecture 1 - Introduction [Archivo de Video]. Recuperado Septiembre 10, 2020, de https://youtu.be/FgzM3zpZ55o