
LABERINTO: el agente que aprende a base de prueba y error
En AIDARAC llevamos meses construyendo, paso a paso y con alumnado de 1º de Bachillerato de Comunicación, Diseño y Producción Cultural (CDYPC) del IES Monterroso, una pequeña familia de agentes de inteligencia artificial educativa. Con VAUCANSON explicamos los cuatro tipos de agente “clásicos” que describen Russell y Norvig en su libro de referencia sobre inteligencia artificial: agentes a los que nosotros les escribimos las reglas de antemano, y que nunca las cambian por sí solos.
LABERINTO da el paso que faltaba: un agente que no conoce nada de antemano y que aprende a resolver un problema —cruzar un laberinto— a fuerza de intentarlo, equivocarse y volver a intentarlo. Es el quinto tipo de agente de Russell y Norvig, y la diferencia con los cuatro anteriores es tan importante que merece una entrada solo para explicarla bien, con calma y sin tecnicismos innecesarios.
Programado no es lo mismo que aprendido
Esta es la idea que sostiene todo el proyecto, así que empezamos por ella.
En Vaucanson, el “cerebro” del agente —las reglas que deciden qué hace en cada situación— lo escribimos nosotros, a mano, de antemano. El agente puede comportarse de forma muy elaborada, pero nunca cambia su manera de decidir: hoy actúa exactamente igual que ayer, porque el programa es el mismo.
En Laberinto es distinto. Al agente no le damos ningún mapa del laberinto ni ninguna estrategia. Le damos únicamente una regla matemática muy simple para actualizar una tabla de números cada vez que se mueve. Esa tabla —la tabla Q— se va rellenando sola, episodio tras episodio, a partir de los aciertos y errores del propio agente. Nadie programa la solución: la solución emerge del propio proceso de premio y castigo.
Es importante decirlo con precisión, porque aquí es fácil exagerar: el agente no entiende el laberinto, no razona sobre él ni “sabe” que hay una meta. Lo único que hace es actualizar números según una fórmula fija cada vez que se mueve. Es aprendizaje automático real —la tabla se construye sola, sin que nadie escriba el camino correcto—, pero no hay comprensión ni intención en ningún sentido humano. Cuando en LABERINTO decimos que el agente “aprende”, queremos decir que ha optimizado una tabla de valores, no que ha comprendido nada.
La terminología, explicada una por una
Para entender la interfaz de LABERINTO (y la captura que acompaña esta entrada) conviene tener claros unos pocos términos. Todos vienen del campo del aprendizaje por refuerzo (en inglés, reinforcement learning), la rama de la inteligencia artificial a la que pertenece Q-learning.
Agente. El elemento que decide y actúa: en nuestro caso, el que se mueve por el laberinto. Es el mismo concepto de agente que ya usamos en Vaucanson, solo que aquí su forma de decidir cambia con la experiencia.
Estado. La situación concreta en la que se encuentra el agente en un momento dado. En LABERINTO, un estado es simplemente la celda de la cuadrícula en la que está: su fila y su columna.
Acción. Lo que el agente puede hacer en cada estado. Aquí hay cuatro posibles: moverse arriba, abajo, izquierda o derecha. Si la acción elegida choca contra una pared o se sale de la cuadrícula, el agente se queda donde estaba —no pasa nada grave, pero tampoco gana nada—.
Recompensa. El número que el entorno le da al agente después de cada acción, para indicarle si lo que acaba de hacer ha sido útil. En LABERINTO la recompensa es deliberadamente sencilla: positiva únicamente al llegar a la meta, y cero en cualquier otro paso, incluidos los choques contra paredes.
Episodio. Un intento completo, desde que el agente parte de la celda de inicio hasta que llega a la meta (o hasta que se agota un número máximo de pasos, para no quedarse dando vueltas eternamente). Cada episodio es una oportunidad más para que la tabla Q se afine.
Política. La estrategia que sigue el agente para elegir una acción en cada estado. Al principio del entrenamiento la política es casi aleatoria; al final, la política tiende a ser la que lleva más directamente a la meta.
Tabla Q y valor Q. El corazón de todo el sistema. La tabla Q guarda, para cada celda y cada una de las cuatro acciones posibles, un número que estima “cuánto de bueno” ha resultado tomar esa acción en esa celda, a lo largo de todos los episodios anteriores. Al principio todos los valores son cero: el agente no sabe nada. Con cada episodio, esos números se van ajustando. En la interfaz de LABERINTO, esta tabla se puede ver directamente como un mapa de calor superpuesto al propio laberinto: cuanto más verde una celda, más ha aprendido el agente que merece la pena pasar por ahí.
Exploración y explotación. El dilema central de todo el aprendizaje por refuerzo. Explorar es probar acciones al azar, incluso las que parecen peores, por si acaso llevan a algo mejor de lo que ya se conoce. Explotar es usar lo ya aprendido y elegir siempre la acción que la tabla Q dice que es mejor. Un agente que solo explota desde el principio puede quedarse enganchado a una solución mediocre encontrada por casualidad; un agente que solo explora nunca llega a aprovechar lo que ya sabe. Q-learning resuelve este dilema con la política epsilon-greedy (que se lee “épsilon-voraz”): con una probabilidad epsilon (ε) el agente elige una acción al azar (explora), y el resto de las veces elige la mejor acción conocida (explota). En LABERINTO, ε empieza muy alto —el agente explora casi todo el tiempo— y va bajando poco a poco con cada episodio, hasta un mínimo que nunca llega a cero: siempre queda un poco de exploración, por si el laberinto tuviera algo mejor por descubrir.
Tasa de aprendizaje (α, alfa). Regula cuánto peso le da el agente a lo que acaba de vivir frente a lo que ya tenía aprendido. Un valor bajo hace que la tabla Q cambie despacio y con prudencia; un valor alto la hace reaccionar deprisa a cada episodio, pero de forma más inestable.
Factor de descuento (γ, gamma). Regula cuánto le importa al agente una recompensa lejana frente a una inmediata. Con un factor de descuento alto —como el que usa LABERINTO—, el agente valora casi tanto una recompensa que llegará dentro de veinte pasos como una que llegara ya mismo, lo cual es imprescindible en un laberinto donde la meta solo se alcanza al final de un camino largo.
Q-learning. El algoritmo que ata todo lo anterior con una única fórmula matemática, publicada por Chris Watkins en su tesis doctoral de 1989 y todavía hoy uno de los algoritmos de aprendizaje por refuerzo más citados y más simples de implementar. Cada vez que el agente se mueve, actualiza el valor Q de la acción que acaba de tomar sumándole una fracción (marcada por α) de la diferencia entre lo que “esperaba” y lo que “ha resultado” —la recompensa recibida más el mejor valor Q que se puede alcanzar desde la nueva celda—. Repetido miles de veces, este ajuste diminuto va tallando, sin que nadie escriba el camino a mano, una tabla que termina señalando la ruta más corta a la meta.
Qué se ve en la captura
(Aquí va la captura de pantalla del laberinto de LABERINTO, con el mapa de calor de la tabla Q activado.)
El laberinto es una cuadrícula de 8×8 casillas, con paredes fijas dispuestas en zigzag: obligan al agente a recorrer casi toda la cuadrícula, no hay ningún atajo directo. El cuadrado azul marca la celda de inicio; el verde, la meta. El círculo naranja es el agente en movimiento. Y el propio color de fondo de cada celda libre —de blanco a verde según lo aprendido— es la tabla Q hecha visible: nada de caja negra, se puede señalar con el dedo qué ha aprendido el agente y dónde.
Al principio del entrenamiento, ese mapa de calor está casi todo en blanco y el agente tarda cientos de pasos en encontrar la meta, chocando contra paredes por el camino. Después de varios cientos de episodios, el camino que de verdad lleva a la meta se dibuja solo, en verde cada vez más intenso —y el agente empieza a recorrerlo casi sin dudar, sin que nadie le haya dicho nunca cuál era.
Por qué importa esta distinción
Este es, para nosotros, el punto pedagógico más importante de todo LABERINTO: que el alumnado vea, en la misma pantalla y en cuestión de segundos, la diferencia entre un agente al que le dimos nosotros las reglas (Vaucanson) y un agente que construyó sus propias reglas a fuerza de intentarlo (Laberinto). Todo lo demás —el color del laberinto, el diseño de la interfaz, hasta el propio Q-learning— es la forma concreta de mostrar esa idea. La idea en sí es la que de verdad queremos que se quede.





