.

Felipe Peruco / Bfarias / The Noun Project

Computación

La IA que evoluciona y muta podría desbancar al aprendizaje profundo

1

La computación evolutiva, inspirada en la propia evolución, ha sido ignorada frente a la popularidad de las redes neuronales. Pero esta investigación demuestra que podría ser igual o incluso más útil en algunas tareas, y ya lo ha demostrado en algunos videojuegos. Además, es más fácil de entrenar

  • por Emerging Technology From The Arxiv | traducido por Mariana Díaz
  • 23 Julio, 2018

Con toda la emoción que hay en torno a las redes neuronales y las técnicas de aprendizaje profundo, cualquiera podría pensar que el mundo de la computación consiste en poco más. Las redes neuronales, después de todo, han comenzado a superar a los humanos en tareas como el reconocimiento de objetos y caras y en juegos como el ajedrez, el Go y varios videojuegos.

Estas redes se basan en el funcionamiento del propio cerebro humano. Nada podría tener más potencial que eso, ¿verdad?

No exactamente. Un tipo de computación completamente diferente tiene el potencial de ser significativamente más poderoso que las redes neuronales y el aprendizaje profundo. Esta técnica se basa en el proceso que dio lugar al cerebro humano, la evolución. En otras palabras, gracias a una secuencia iterativa de cambios y selección nacieron las máquinas más complejas y capaces conocidas por la humanidad: el ojo, el ala, el cerebro, etcétera. El poder de la evolución es impresionante.

Es por eso que los científicos informáticos llevan mucho tiempo intentando aprovecharse de su potencial. La llamada computación evolutiva ha logrado algunas proezas notables desde que se usó por primera vez hace 30 años para optimizar las líneas de producción de las fábricas de tractores.

Pero en los últimos años, esta rama de la inteligencia artificial (IA) ha tenido un papel secundario frente al enorme éxito de las técnicas de aprendizaje profundo.

Esto podría estar a punto de cambiar gracias al trabajo del equipo del investigador de la Universidad de Toulouse (Francia) Dennis Wilson. Los investigadores han demostrado que la computación evolutiva puede igualar el rendimiento de las máquinas de aprendizaje profundo en la famosa tarea que las lanzó a la fama por primera vez en 2013: la capacidad de superar a los humanos en los videojuegos como Pong, Breakout y Space Invaders.

La computación evolutiva funciona de una forma completamente distinta a las redes neuronales. Su objetivo consiste en crear un código informático capaz de resolver un problema específico mediante un enfoque contrario a la intuición.

La forma convencional de crear un código se basa en escribirlo desde el inicio con un objetivo concreto en mente. Pero la computación evolutiva usa un enfoque diferente. Comienza con un código generado completamente al azar. Y no solo utiliza una versión, a veces puede emplear cientos de miles de fragmentos de código ensamblados aleatoriamente.

La técnica prueba cada uno de estos fragmentos código para ver si alcanza el objetivo requerido. Por supuesto, todo el código es horrible porque se genera de forma aleatoria. Pero por casualidad, algunos fragmentos de código resultan un poco mejores que otros. Estas piezas se reproducen en una nueva generación de código, que incluye más copias de los códigos más eficientes.

La siguiente generación de códigos no puede ser una copia idéntica de la primera, debe presentar alguna variación, como el cambio de dos términos en el código, una especie de mutación puntual. O pueden involucrar dos códigos cortados a la mitad cuyas mitades se combinan, como en la recombinación sexual.

Cada una de las nuevas generaciones se prueba para testear su funcionamiento. Las mejores piezas de código se reproducen de forma prioritaria en la siguiente generación, y así sucesivamente.

De esta forma, el código evoluciona. Va mejorando con el tiempo y, después de muchas generaciones, si las condiciones son las adecuadas, puede ser mejor que cualquier código diseñado por un codificador humano.

Los científicos informáticos han aplicado con éxito la computación evolutiva a problemas que van desde el diseño de robots hasta la construcción de piezas de aviones. Pero fue perdiendo popularidad debido al gran interés en el aprendizaje profundo. Así que es importante averiguar si este enfoque es capaz de igualar el rendimiento de las máquinas de aprendizaje profundo. Para ello, Wilson y su equipo utilizaron el enfoque para desarrollar un código capaz de dominar algunos videojuegos típicos de las décadas de 1980 y 1990.

Estos juegos están disponibles en una base de datos llamada Arcade Learning Environment, que se usa cada vez más para probar el comportamiento de aprendizaje de varios tipos de algoritmos. La base de datos consta de 61 juegos de Atari, como Pong, Space Invaders, Breakout y Kung Fu Master.

La tarea consiste en crear un algoritmo que aprenda a jugar al Pong mirando únicamente la pantalla, igual que hacemos los humanos. Entonces el algoritmo debe analizar cada posición del juego para decidir cómo moverse para maximizar su puntuación.

Los controles para todos los juegos son iguales. Se componen de las ocho direcciones en las que se puede mover el controlador (arriba, abajo, izquierda y derecha más cuatro direcciones diagonales), un botón presionable, los mismos ocho movimientos combinados con el botón, y también está la opción de hacer nada en absoluto. No todos los juegos usan las 18 combinaciones posibles, de hecho, algunos usan tan solo cuatro.

Primero hay que crear el código. El enfoque evolutivo requiere un vocabulario de términos que pueden concatenarse para formar un código informático. Los términos van desde acciones simples como ADD (x + y) / 2, hasta otras más complejas, como "regresa el vector-x de 1 elemento si x es un escalar". La elección de los términos que componen este vocabulario es importante. Para ello, el equipo de Wilson utiliza un conjunto ya definido para la programación genética cartesiana (como se llama su técnica).

El proceso comienza creando aleatoriamente un código con 40 términos. Este es el "genoma" del programa. Este genoma se prueba para ver su nivel en el juego, algo que se juzga en función de la puntuación obtenida. En función del resultado, el genoma se reproduce con mutaciones y se prueba nuevamente, y así sucesivamente. En total, el equipo probó 10.000 genomas utilizando este método.

Los resultados son interesantes. Al principio los genomas juegan fatal, pero van mejorando con el tiempo. Y después de muchas generaciones juegan bien, a veces mejor que los humanos.

Muchos genomas acabaron desarrollando estrategias de juego completamente nuevas, a menudo complejas. Pero a veces encontraron estrategias simples que los humanos habían pasado por alto. Por ejemplo, al jugar Kung Fu Master, el algoritmo evolutivo descubrió que el ataque más potente consiste en dar un golpe mientras el personaje está agachado. Esta posición es más segura porque esquiva la mitad de las balas dirigidas al jugador mientras ataca cualquier cosa cercana. La estrategia del algoritmo consistió en limitarse a usar esta maniobra todo el rato, algo que realmente tiene sentido.

Eso sorprendió a los jugadores humanos involucrados en el estudio. "Emplear esta estrategia logró una mejor puntuación que jugar de forma normal, y ahora el algoritmo solo usa los golpes agachados cuando ataca en este juego", explican Wilson y su equipo.

En general, el código evolutivo obtuvo buenos resultados en muchos de los juegos, incluso superó a los humanos en el Kung Fu Master. Del mismo modo, el código evolutivo es igual de bueno que muchos enfoques de aprendizaje profundo e incluso los supera en Asteroids, Defender y Kung Fu Master.

También produce un resultado más rápido. "Aunque los programas son relativamente pequeños, funcionan bien y requieren menos tiempo de entrenamiento", señalan Wilson y su equipo.

Su pequeño tamaño ofrece otra ventaja, ya que es más ver cómo funciona. Un conocido problema con las técnicas de aprendizaje profundo es que a veces es imposible saber por qué han tomado una decisión concreta, lo que puede tener implicaciones prácticas y legales (ver El secreto más oscuro de la inteligencia artificial: ¿por qué hace lo que hace?).

Se trata de un trabajo interesante que debería sugerir que centrarse exclusivamente en el aprendizaje profundo puede estar pasando por alto algunos enfoques muy útiles. El enfoque evolutivo es una alternativa poderosa que se puede aplicar en un amplio conjunto de situaciones. De hecho, algunos investigadores han comenzado a usarlo para desarrollar mejores máquinas de aprendizaje profundo. ¿Qué podría salir mal?

Ref: https://arxiv.org/abs/1806.05695Evolving Simple Programs for Playing Atari Games

Computación

Las máquinas cada vez más potentes están acelerando los avances científicos, los negocios y la vida.

  1. Google anuncia un hito hacia la computación cuántica sin errores

    Una técnica llamada “código de superficie” permite a los bits cuánticos de la empresa almacenar y manipular datos fielmente durante más tiempo, lo que podría allanar el camino a ordenadores cuánticos útiles

  2. El vídeo es el rey: bienvenido a la era del contenido audiovisual

    Cada vez aprendemos y nos comunicamos más a través de la imagen en movimiento. Esto cambiará nuestra cultura de manera inimaginable

    Dos personas creando contenido en formato vídeo
  3. Esta empresa quiere superar a Google e IBM en la carrera cuántica con un superordenador de fotones

    La empresa quiere construir una computadora que contenga hasta un millón de cúbits en un campus de Chicago