logo

Dot CSV

Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀 Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀

Transcribed podcasts: 213
Time transcribed: 5d 22h 50m 3s

This graph shows how many times the word ______ has been mentioned throughout the history of the program.

El de hoy sé que es uno de esos temas que de primeras os va a gustar. ¿Por qué? Pues
por dos motivos. El primero porque vamos a hablar de aprendizaje reforzado y eso siempre
es un tema que nos deja con ejemplos muy curiosos donde los agentes inteligentes aprenden estrategia
bastante llamativas. Y segundo porque en esta ocasión el trabajo de OpenAI viene documentado
con numerosos vídeos con un acabado visual muy pero que muy bonito. Si con estos elementos
sobre la mesa tengo tu atención entonces ya es hora de ver cómo la inteligencia artificial
ha aprendido a jugar al escondite.
En el simulador de hoy contamos con dos equipos. El equipo azul conformado por agentes cuya
tarea será la de huir del campo de visión de los miembros del equipo rojo y el equipo
rojo cuya tarea será la antagónica. Encontrar a los agentes del equipo azul. Entre las habilidades
de cada uno de estos agentes nos encontramos con la capacidad de moverse y girar, de ver
aquellas entidades que se encuentren dentro de su campo de visión, así de cómo percibir
la distancia a los objetos que les rodea, como si de un lidar se tratase. Finalmente
los agentes cuentan con objetos en el escenario tales como cajas o rampas que pueden agarrar
y mover así como bloquear su posición según su conveniencia. Con una restricción. Un
objeto que ha sido bloqueado por un equipo no puede ser movido por agente del equipo
contrario. Con estas reglas sobre la mesa, que comience el juego. Primero el equipo azul
contará con un tiempo prudencial de ventaja para poder desarrollar su estrategia de esconderse.
Y cuando ese tiempo finaliza, el equipo rojo comenzará su trabajo de búsqueda. Cosa que
como podemos ver pues… bueno vale, quizás en un principio la cosa es un poco caótica,
un poco aleatoria. Pero claro, es que todavía no hemos dejado que nuestros agentes se entrenen
para aprender a jugar. ¿Cómo lo haremos? Este problema se marca dentro del campo del
aprendizaje reforzado. Ya sabes, donde dejamos que sea un agente inteligente el que en base
en sello y error, aprenda a resolver una tarea determinada con la única supervisión de
alguna señal de castigo o recompensa dada por el sistema. OpenAI tiene una fuerte línea
de investigación centrada en el aprendizaje reforzado y ya hemos visto trabajos en esta
área con agentes que aprendieron a resolver diferentes tipos de tareas, como por ejemplo
ganar una batalla de sumo, chutar una pelota o esquivar obstáculos. También recientemente
hemos visto como mediante aprendizaje reforzado, han desarrollado manos robóticas capaces
de manipular un cubo de Rubik ante las típicas adversidades que pueden surgir con este problema,
como ser atacado por una jirafa, claro. O hitos más sonados como el caso de OpenAI's
5, que es el equipo basado en Inteligencia Artificial de Dota 2 que aprendió a ganar
a los campeones del mundo de Dota, humanos, tras entrenarse durante más de 180 años
de partidas jugadas. Como digo, muchos de estos proyectos son
resueltos con aprendizaje reforzado, consiguiendo resolver su objetivo, el de maximizar una
recompensa en el largo plazo. Sin embargo, el problema es que muchos de los comportamientos
que emergen de estos sistemas rápidamente quedan limitados por el propio sistema de
recompensa y espacio de acciones que permite el entorno de ejecución. Por ejemplo, una
gente que quiere aprender a jugar al fútbol quizás inicialmente le cueste bastante lograr
mantenerse en pie, puesto que en un principio su comportamiento será aleatorio. Pero claro,
tras muchas iteraciones, lo más probable es que de casualidad acabe golpeando la pelota
y ésta acabe entrando en la portería, recibiendo una señal de recompensa que incentivará
dicho comportamiento y que la larga hará que nuestro agente acabe aprendiendo a chutar
la pelota y marcar gol. Ha aprendido su objetivo. Pero claro, si le das cuenta su comportamiento
aprendido nunca llegará a ser más complejo y avanzado que lo que nosotros estábamos
premiando. Es decir, a lo mejor habrá aprendido a chutar la portería, pero no habrá aprendido
a hacer regates o a fliparse tirando de chilena. Una vez aprendido a resolver su tarea, queda
poco margen de mejora en sus habilidades. ¿Cómo lo solucionamos? Pues la solución
que se ha encontrado históricamente a esto son los sistemas multiagente, es decir, entornos
de simulación donde no solo tenemos a un único agente aprendiendo, sino que podemos
tener a varios, sistemas con múltiples agentes, vamos, creo que el nombre estaba bastante
claro. Al tener a varios agentes, ya sea colaborando por un objetivo común o compitiendo
por un objetivo individual, lo que obtenemos finalmente es un sistema donde cada mínima
estrategia aprendido por cualquier agente va a obligar a cambiar por completo la estrategia
aprendida por el resto de ellos, obligándoles a mejorar y adaptarse y a encontrar cada vez
estrategias más avanzadas y creativas. Esto hace de los sistemas de aprendizaje reforzados
multiagente un entorno de experimentación muy interesante, donde estrategias más avanzadas
y complejas pueden emerger más allá del diseño inicial del entorno de simulación,
causando normalmente sorprendidos incluso a los propios diseñadores de este entorno.
No me crees? Volvamos al experimento del escondite. Como hemos visto, tras ser inicializados,
los agentes de ambos equipos se mueven de manera aleatoria, sin mostrar ningún tipo
de inteligencia. Sin embargo, tras haber superado los dos millones de episodios de entrenamiento,
los agentes del equipo rojo ya habrán aprendido a perseguir a sus oponentes y a encontrarlos,
estrategia que, si seguimos entrenando, será neutralizada por el equipo azul quien aprenderá
a utilizar los objetos de la sala para bloquear las puertas y crear un espacio seguro. Así,
no pasa nada, porque con las puertas bloqueadas, el equipo rojo aprenderá a tomar la rampa
y a usarla para saltar los muros, lo que hará que el equipo azul responda con una estrategia
en la que inicialmente van a retirar del campo del juego la rampa, dejando así entonces
al equipo rojo sin otra estrategia de acceso. El equipo azul gana.
Como se puede ver, el uso de algoritmos de aprendizaje reforzados sobre sistemas multiagentes
fomenta la aparición de estrategias cada vez más avanzadas que se adapta al comportamiento
aprendido en las etapas anteriores. Y esto es interesante porque en ningún caso a los
agentes se les incentiva por ejemplo a utilizar objetos o a aprender a coordinarse. La única
señal de recompensa o penalización que hay es una señal común a todo el equipo y asociada
con el resultado de la partida según hayan ganado o perdido. Bueno, eso y una señal que
penaliza si los agentes se van huyendo del escenario, cosa que en algún caso se ha dado.
Esto es muy interesante y más aún cuando vemos como, cuando hacemos el escenario más
complejo, con más objetos, más espacios abiertos y mayor aleatoriedad en su diseño,
los agentes son capaces incluso de encontrar estrategias más locas. Fíjate.
Episodio 0. Los agentes se mueven de manera aleatoria. Ok, 22 millones de episodios después
ya tenemos a nuestros agentes azules siendo perseguidos por el equipo rojo. Siguiente
estrategia, el equipo azul se defiende construyendo un refugio como si de repente esto se tratase
del Fortnite. Siguiente paso, el equipo rojo aprende a usar las rampas para saltar los
muros de los refugios construidos. Alright, si las rampas son el problema, el equipo azul
aprenderá a primero bloquear las rampas para que así el equipo rojo no las use y puedan
estar tranquilos en su refugio. Hasta aquí todo bien, bastante similar a lo ocurrido
en el ejemplo anterior. Y de hecho, si te paras a pensarlo, poco más podría ser el
equipo rojo para intentar superar la estrategia de sus oponentes y capturar hacia los miembros
del equipo azul. Espera un momento, ¿qué está ocurriendo? Déjame ver el replay de
esta jugada. Lo que estamos viendo aquí es algo que incluso
pilló por sorpresa a los investigadores de OpenAI, y es que por el propio diseño de
la dinámica del entorno de juego, los agentes aprendieron que si se acercaba una caja cerca
de una rampa, de las que estaban bloqueadas, pues podrían subirse la caja, y ejerciendo
fuerza sobre ella podían moverla para surfear hasta el refugio del equipo enemigo. Una estrategia
que se aprovecha de dinámicas que lo más probable es que fueran desconocidas hasta
para los propios investigadores. Finalmente, la sexta y última estrategia desarrollada
en este caso por el equipo azul es la de, bueno, visto que los otros están surfeando
las cajas, pues ir y bloquearlas antes de construir el refugio, para dejar así por
tanto al equipo rojo sin ninguna otra posibilidad para ganar.
Esto es especialmente curioso y sospecho que el descubrimiento de estrategias tan avanzadas
en parte está ligado no solo a los algoritmos de aprendizaje reforzado profundos que se
están utilizando, sino también a los largos tiempos de entrenamiento que se han aplicado,
recordemos, casi 500 millones de episodios de entrenamiento.
A nivel de arquitectura, si abrimos la cabeza de uno de estos seres salidos de una película
de Pixar, lo que nos encontraremos será lo siguiente, y es que cada gente toma decisiones
de manera independiente aprovechándose solo de sus observaciones y estados de memoria
internos. Más específicamente, cada gente tiene en cuenta diferentes atributos de posición
y tamaño del resto de entidades del juego, como otros jugadores, objetos y observaciones
del lidar, procesándolos cada uno por una capa de embeddings que nos permitirá obtener
una representación más rica y abstracta de estos. Esta información, correspondiente
a cada entidad, será concatenada en un único vector, enmascarando aquellos elementos que
realmente queden fuera del campo de visión de la gente. Es este vector el que será procesado
a continuación por capas que, como ya vienen siendo habitual, implementan sistemas de autoatención.
Cuando el vector ya ha sido procesado por esta capa de autoatención residual, solo
queda ser procesada por una capa LSTM, que Intuio se encargará de mantener información
temporal del estado de la partida y que será el último paso antes de predecir qué acciones
tendrá que tomar el agente. Sencillo y para toda la familia. Bueno, a lo mejor no tan
sencillo, pero da igual, porque al final parece que el punto que efectivamente quiere marcar
este trabajo no es tanto la arquitectura utilizada internamente por cada agente para aprender,
sino la estrategia seguida de entrenamiento multiagente, dejando al sistema jugar numerosas
partidas en paralelo contra sí mismo y contra versiones anteriores durante días. Tras hacer
esto, pues como ya se ha comprobado con los resultados que hemos visto anteriormente,
emergen estrategias que incluso se aprovechan de la vulnerabilidad del propio simulador.
Surfear cajas es una de ellas, sí, pero también encontramos otras estrategias más tramposas,
como la de lanzar las rampas fuera de los límites del escenario, aprovechándose de
fallos en el sistema de colisiones del simulador, así como también fallos en las físicas
que hacen volar a un jugador cuando colisionan una rampa en un determinado ángulo contra
la pared. Por tanto, podemos concluir que este es un proyecto interesante y que visualmente
ha sido reportado de manera muy atractiva, pero también es cierto que a nivel de avances
tampoco aporta nada nuevo frente a otros trabajos también de aprendizaje reforzado con sistemas
multiagentes, quedando sus contribuciones reducidas a demostrar, en un entorno más interpretable
como el juego del escondite, cómo aplicar aprendizaje reforzado en entornos multiagentes
puede favorecer la aparición de comportamientos más complejos, algo que, bueno, de hecho
ya había quedado demostrado con entornos como el de Dota 2. Entonces, eso, al final
esto no deja de ser un ejemplo más de algo que ya se conocía, pero mira, oye, esto no
quita que a nosotros nos haya servido para aprender algún que otro concepto más de
aprendizaje reforzado y de disfrutar del ingenio de estos bichos.
Si este video te ha gustado, te voy a lanzar de cabeza a este otro video de aquí donde
hablamos de otros tantos conceptos que seguro también te van a interesar, y si te gusta
este contenido pues compártelo y apóyalo a través de Patreon, y nada más, continuaremos
con Inteligencia Artificial en el próximo video. Adiós.