Artículos

Conceptos de inteligencia artificial: qué es el aprendizaje por refuerzo

En la psicología conductista se hace un especial hincapié en describir las leyes generales que rigen nuestra conducta voluntaria.

Uno de los conceptos que manejan para ello es el de ‘condicionamiento operante‘, al que definen como un proceso de aprendizaje por el cual una acción en particular es seguida por algo deseable (haciendo más probable que el sujeto repita la acción) o por algo no deseable (disuadiendo de realizarla).

Así, por ejemplo, estudiamos porque nos satisface sacar notas más altas, o jugamos a un videojuego porque nos satisface jugar. Y para satisfacer esos estímulos positivos (reforzamientos), estudiamos/jugamos más horas y recurrimos a procesos de prueba y error para evaluar nuevas estrategias de estudio/juego. Esto es, aprendemos gracias al condicionamiento operante.

Aplicando la psicología conductista a la máquina

Pues bien: el aprendizaje por refuerzo (o aprendizaje reforzado) se basa en aplicar exactamente este mismo principio a las inteligencias artificiales, con el fin de que puedan aprender por sí mismas. Y es que las IAs cuentan con dos ventajas de las que nosotros los humanos no disponemos: no se cansan ni se aburren, y realizan sus tareas extraordinariamente rápido.

Ambos factores les permiten sacar un gran rendimiento al proceso de prueba/error: pueden ganar y perder millones de partidas de un videojuego, tomando nota de qué decisiones les llevaron en cada caso a la victoria o a la derrota, privilegiando unas y descartando otras hasta que su estrategia sea absolutamente perfecta.

Y donde decimos ‘videojuego’, podemos hablar igualmente de una amplia gama de tareas, siempre que la IA pueda recibir un feedback de lo acertado de sus decisiones.

Uno de los aspectos fundamentales del aprendizaje por refuerzo es que resuelve el difícil problema de correlacionar acciones inmediatas con sus consecuencias a largo plazo: como los humanos en la vida real, esta clase de algoritmos a veces tienen que operar en un entorno de retorno demorado, donde puede ser difícil entender qué acción conduce a qué resultado en muchos pasos de tiempo.

¿Qué necesitamos para formular un problema básico de aprendizaje de refuerzo?

Gráfico Aprendizaje reforzado

Necesitamos un agente (por ejemplo, Pacman) en un estado determinado (la ubicación) dentro de un medio ambiente (el laberinto). PacMan cuenta con una u otra recompensa (positiva: puntos por comer; negativa: morir si se cruza con un fantasma) en base a qué acción (desplazamiento a un nuevo estado) realice.

Pero más allá de la recompensa existe lo que llamamos recompensa acumulada esperada que consiste, como habrás averiguado, en ganar el juego. El aprendizaje por refuerzo se base, de este modo, en un bucle de estado / acción / recompensa.

Para dar forma a una política óptima, el agente se enfrenta al dilema de explorar nuevos estados (exploración) al tiempo que maximiza su recompensa acumulada esperada (explotación).

Si no ha quedado claro el ejemplo de Pacman, siempre podemos intentar llevarlo al mundo real: imaginemos que tenemos un macaco en casa (ejemplo real donde los haya) y que está aburrido en nuestro salón, con la televisión apagada y el mando de la TV sobre la mesa.

Hasta aquí tenemos un agente (el simio en cuestión), un ambiente (el salón) y un estado (la tele apagada). Por curiosidad o mero aburrimiento, el macaco puede empezar a toquetear botones del mando: la acción, que generará un nuevo estado.

Si este estado no le gusta (la TV permanece apagada, lo cual constituye una recompensa negativa) terminará optando por no tocar esos botones y pasar a otros (o a una secuencia concreta de los mismos) hasta que maximice su recompensa acumulada esperada (que la TV no sólo se encienda, sino que muestre algún documental sobre la vida en la selva).

Macaco viendo la TV
Foto: Eugene Wei

Cuando DeepMind popularizó el aprendizaje por refuerzo

Uno de los padres fundadores de la inteligencia artificial, Marvin Minsky, creó en 1951 una máquina que imitaba a una rata a la hora de aprender a navegar por un laberinto.

Su nombre era SNARC (Ordenador Estocástico de Refuerzo de Similitud Neural) y empleaba una forma simplificada de aprendizaje reforzado. La metodología prometía, pero durante los siguientes 65 años fue imposible escalarla a situaciones más complejas (y útiles).

En 2016, DeepMind presentó ante el mundo a AlphaGo, una IA que, tras ser entrenada durante varios meses en el análisis de miles de partidas jugadas por humanos fue capaz de batir a un campeón humano de Go, un juego complejo al que las máquinas nunca habían jugado bien recurriendo a la programación convencional, por la dificultad para incorporar la estrategia al código.

Pero, un año más tarde, DeepMind presentaba una nueva IA, AlphaGo Zero, que con menos de 3 días de entrenamiento fue capaz de ganar 100 veces seguidas a su predecesora. ¿Residía el secreto en una mayor potencia de procesamiento?

No, la clave reside en que AlphaGo Zero aprendió a jugar ella sola mediante aprendizaje por refuerzo, jugando millones de partidas contra sí misma, hasta que aprendió, como decíamos antes a maximizar su recompensa acumulada esperada.

La siguiente generación, AlphaZero, tuvo resultados aún más impresionantes. Y permite atisbar, por fin, la aplicación del aprendizaje por refuerzo a empresas de mayor calado para la humanidad.

Quiero saber más

Si esta introducción al concepto de aprendizaje por refuerzo no ha hecho sino abrir tu apetito de conocimiento y ahora quieres sumergirte en la materia (y descubrir los algoritmos Q-learning y SARSA, o los procesos de decisión de Markov, o…), te recomendamos (siempre que sepas inglés) acceder:

  • A los materiales online (PDFs y vídeos) del curso sobre aprendizaje por refuerzo del University College de Londres.
  • A la versión online del libro “Reinforcement Learning: An Introduction”, de Andrew Barto (del Autonomous Learning Laboratory) y Richard S. Sutton (investigador de DeepMind); que incluye código de ejemplo y soluciones.

Imagen | Howard Lake (Flickr)

Fuente