Según los investigadores del MIT las computadoras pueden «escribir» algoritmos que se adaptan mejor a entornos radicalmente diferentes que los algoritmos diseñados por humanos. Utilizando el aprendizaje automático para encontrar algoritmos completamente nuevos para la exploración de codificación, los diseñados por máquinas superaron a los algoritmos diseñados por humanos en la amplia gama de tareas y entornos simulados.
Algoritmos que aprenden a tener curiosidad
Impulsados por una curiosidad innata, los niños adquieren nuevas habilidades a medida que exploran el mundo y aprenden de su experiencia. Las computadoras, por el contrario, a menudo se atascan cuando se lanzan a nuevos entornos.
Para evitar esto, los ingenieros han intentado codificar formas simples de curiosidad en sus algoritmos con la esperanza de que un agente empujado a explorar aprenda sobre su entorno de manera más efectiva. Un agente con la curiosidad de un niño podría pasar de aprender a levantar, manipular y lanzar objetos a comprender el tirón de la gravedad, una comprensión que podría acelerar drásticamente su capacidad de aprender muchas otras cosas.
Los ingenieros han descubierto muchas formas de codificar la exploración curiosa en algoritmos de aprendizaje automático.
Un equipo de investigación del MIT se preguntó si una computadora podría funcionar mejor, en base a una larga historia de alistar computadoras en la búsqueda de nuevos algoritmos.
Diseño de redes neuronales profundas
En los últimos años, el diseño de redes neuronales profundas, algoritmos que buscan soluciones mediante el ajuste de parámetros numéricos, se ha automatizado con software como AutoML de Google y auto-sklearn en Python. Eso ha facilitado que los no expertos desarrollen aplicaciones de inteligencia artificial. Pero si bien las redes profundas sobresalen en tareas específicas, tienen problemas para generalizar a nuevas situaciones.
Los algoritmos expresados en código, en un lenguaje de programación de alto nivel, por el contrario, tienen la capacidad de transferir conocimiento a través de diferentes tareas y entornos.
«Los algoritmos diseñados por humanos son muy generales«, dice el coautor del estudio, Ferran Alet, un estudiante graduado en el Departamento de Ingeniería Eléctrica e Informática y Laboratorio de Ciencias de la Computación e Inteligencia Artificial (CSAIL) del MIT. «Nos inspiró el uso de IA para encontrar algoritmos con estrategias de curiosidad que se puedan adaptar a una variedad de entornos».
Los investigadores crearon un algoritmo de «meta-aprendizaje» que generó 52,000 algoritmos de exploración
Descubrieron que los dos primeros eran completamente nuevos, aparentemente demasiado obvios o contradictorios para que un humano los propusiera. Ambos algoritmos generaron un comportamiento de exploración que mejoró sustancialmente el aprendizaje en una variedad de tareas simuladas, desde navegar por una cuadrícula bidimensional basada en imágenes hasta hacer una caminata de hormigas robótica. Debido a que el proceso de metaaprendizaje genera un código de computadora de alto nivel como salida, ambos algoritmos pueden diseccionarse para analizar dentro de sus procesos de toma de decisiones.
Los autores principales del artículo son Leslie Kaelbling y Tomás Lozano-Pérez, ambos profesores de informática e ingeniería eléctrica en el MIT. El trabajo se presentará en la International Conference on Learning Representations a finales de este mes.
El documento recibió elogios de investigadores no involucrados en el trabajo. «El uso de la búsqueda de programas para descubrir una mejor recompensa intrínseca es muy creativo«, dice Quoc Le, un científico principal de Google que ha ayudado a ser pionero en el diseño asistido por computadora de modelos de aprendizaje profundo. «Me gusta mucho esta idea, especialmente porque los programas son interpretables«.
Los investigadores comparan su proceso automatizado de diseño de algoritmos para escribir oraciones con un número limitado de palabras. Comenzaron eligiendo un conjunto de bloques de construcción básicos para definir sus algoritmos de exploración. Después de estudiar otros algoritmos de curiosidad para inspirarse, seleccionaron casi tres docenas de operaciones de alto nivel, incluidos programas básicos y modelos de aprendizaje profundo, para guiar al agente a hacer cosas como recordar entradas anteriores, comparar entradas actuales y pasadas, y usar métodos de aprendizaje para cambiar sus propios módulos.
La computadora combinó hasta siete operaciones a la vez para crear gráficos de cálculo que describen 52,000 algoritmos.
Incluso con una computadora rápida, probarlas todas habría llevado décadas. Entonces, en cambio, los investigadores limitaron su búsqueda al descartar primero los algoritmos que se pronosticaba que tenían un rendimiento deficiente, basándose solo en su estructura de código. Luego, probaron a sus candidatos más prometedores en una tarea básica de navegación de cuadrícula que requiere una exploración sustancial pero un cálculo mínimo. Si el candidato lo hizo bien, su desempeño se convirtió en el nuevo punto de referencia, eliminando aún más candidatos.
Cuatro máquinas buscaron durante 10 horas para encontrar los mejores algoritmos
Más del 99 por ciento eran basura, pero alrededor de un centenar eran algoritmos sensibles y de alto rendimiento. Sorprendentemente, los 16 principales fueron novedosos y útiles, y funcionaron tan bien o mejor que los algoritmos diseñados por humanos en una variedad de otras tareas virtuales, desde aterrizar un rover lunar hasta levantar un brazo robótico y mover un robot parecido a una hormiga en una simulación física.
Los 16 algoritmos compartieron dos funciones básicas de exploración
En el primero, el agente es recompensado por visitar nuevos lugares donde tiene una mayor probabilidad de hacer un nuevo tipo de movimiento. En el segundo, el agente también es recompensado por visitar nuevos lugares, pero de una manera más matizada: una red neuronal aprende a predecir el estado futuro mientras que un segundo recuerda el pasado, y luego trata de predecir el presente prediciendo el pasado a partir del futuro. Si esta predicción es errónea, se recompensa, ya que es una señal de que descubrió algo que no sabía antes. El segundo algoritmo era tan contradictorio que a los investigadores les tomó tiempo darse cuenta.
«Nuestros prejuicios a menudo nos impiden probar ideas muy novedosas», dice Alet. «Pero a las computadoras no les importa. Lo intentan y ven lo que funciona, y a veces obtenemos excelentes resultados inesperados«.
Más investigadores están recurriendo al aprendizaje automático para diseñar mejores algoritmos de aprendizaje automático, un campo conocido como AutoML. En Google, Le y sus colegas presentaron recientemente una nueva herramienta de descubrimiento de algoritmos llamada Auto-ML Zero. (Su nombre es un juego en el software AutoML de Google para personalizar arquitecturas de red profunda para una aplicación determinada, y Alpha Zero de Google DeepMind, el programa que puede aprender a jugar diferentes juegos de mesa jugando millones de juegos contra sí mismo).
Su método busca a través de un espacio de algoritmos compuestos por operaciones primitivas más simples. Pero en lugar de buscar una estrategia de exploración, su objetivo es descubrir algoritmos para clasificar imágenes. Ambos estudios muestran la posibilidad de que los humanos utilicen métodos de aprendizaje automático para crear algoritmos de aprendizaje automático novedosos y de alto rendimiento.
«Los algoritmos que generamos podrían ser leídos e interpretados por humanos, pero para comprender realmente el código tuvimos que razonar a través de cada variable y operación y cómo evolucionan con el tiempo«, dice el coautor del estudio Martin Schneider, un estudiante graduado en el MIT. «Es un desafío abierto interesante diseñar algoritmos y flujos de trabajo que aprovechen la capacidad de la computadora para evaluar muchos algoritmos y nuestra capacidad humana para explicar y mejorar esas ideas«.
Fuente: MIT
Más información: Meta-learning curiosity algorithms. https://arxiv.org/abs/2003.05325.. arXiv:2003.05325v1 [cs.LG]
Paper: Effective, interpretable algorithms for curiosity automatically discovered by evolutionary search.