Llevamos años usando modelos enormes con grandes partes que no sirven para nada, lo que dificulta el entrenamiento y aumenta su tiempo y coste. Una investigación revela que es posible reducir su tamaño sin sacrificar su rendimiento para ampliar los usos de la IA a dispositivos como los móviles
Las redes neuronales son el software básico del aprendizaje profundo. Pero, a pesar de lo extendido que está su uso, estas estructuras están muy poco estudiadas. Los investigadores han analizado sus emergentes características sin comprender realmente por qué funcionan de esa manera.
Ahora, un nuevo estudio del MIT (EE. UU.) ha dado un gran paso para responder a esta pregunta. Y en ese proceso, los investigadores han hecho un descubrimiento simple pero extraordinario: las redes neuronales usadas habitualmente son mucho más grandes de lo necesario. En algunos casos, son 10, incluso 100 veces más grandes, así que entrenarlas en ese orden de magnitud cuesta más tiempo y potencia de cómputo de lo que realmente haría falta.
Dicho de otra manera, dentro de cada red neuronal existe una mucho más pequeña que se puede entrenar para lograr el mismo rendimiento. Este hallazgo no solo resulta clave para los investigadores de la inteligencia artificial (IA), también tiene el potencial de descubrir nuevas aplicaciones, algunas de las cuales aún no podemos ni entender, que podrían mejorar nuestra vida cotidiana.
Hablaremos de eso más adelante. Pero primero, vamos a analizar cómo funcionan las redes neuronales para comprender qué está pasando.
Foto: Un diagrama de una red neuronal que aprende a reconocer a un león. Créditos: Jeff Clune / SCREENSHOT
Cómo funcionan las redes neuronales
Es posible que haya visto redes neuronales representadas en diagramas como el de arriba: están compuestas de capas con simples nodos computacionales conectados para registrar patrones en los datos.
Lo más importante son las conexiones. Antes de entrenar una red neuronal, estas conexiones reciben valores aleatorios entre cero y uno que representan su intensidad. (Esto se denomina proceso de “inicialización”). Durante el entrenamiento, a medida que la red recibe una serie de, por ejemplo, fotos de animales, las conexiones se van modificando y ajustando a esas intensidades. El proceso es similar al de cuando nuestro cerebro fortalece o debilita las diferentes conexiones neuronales a medida que acumulamos experiencia y conocimiento. Después del entrenamiento, las intensidades finales de conexión se utilizan para identificar animales en nuevas fotos.
Aunque la mecánica de las redes neuronales está bien estudiada, la razón por la que funcionan de esa manera sigue siendo un misterio. Pero, a través de mucha experimentación, los investigadores han observado dos características de las redes neuronales que han resultado útiles.
Observación número 1. Cuando se inicializa una red antes del proceso del entrenamiento, siempre existe la posibilidad de que las intensidades de conexión asignadas aleatoriamente den lugar a una configuración que no se pueda entrenar. En otras palabras, no importa cuántas fotos de animales se introduzcan en una red neuronal, puede que nunca se consiga un rendimiento decente, por lo que habría que reinicializarla para darle una nueva configuración. Cuanto más grande sea la red (cuantas más capas y nodos tenga), esta probabilidad será menor. Mientras que una pequeña red neuronal se puede entrenar en solo una de cada cinco inicializaciones, una red más grande se puede entrenar en cuatro de cada cinco intentos. De nuevo, la razón por la que esto sucede es un misterio, pero es la razón por la que los investigadores suelen usar redes muy grandes para sus tareas de aprendizaje profundo. Quieren aumentar sus posibilidades de lograr un modelo exitoso.
Observación número 2. La consecuencia el primer modelo de red neuronal que suele usarse siempre es grande de lo que debería. Una vez que ha terminado el entrenamiento, normalmente solo una fracción de sus conexiones se mantienen sólidas, mientras que las otras terminan siendo bastante débiles, tanto que realmente se pueden eliminar o “podar” sin afectar el rendimiento de la red.
Desde hace muchos años, los investigadores han explotado esta segunda observación para reducir el tamaño de sus redes después de entrenarlas para rebajar el tiempo y los costes computacionales. Pero nadie pensó que era posible reducir sus redes antes de entrenarlas. Se suponía que había que comenzar con una gran red y que el proceso de entrenamiento tenía que seguir su curso para separar las conexiones relevantes de las irrelevantes.
El estudiante de doctorado del MIT y coautor del artículo, Jonathan Frankle, cuestionó esa suposición: “Si hacen falta menos conexiones que las del inicio, ¿por qué no podemos simplemente entrenar una red más pequeña sin esas conexiones adicionales?” Pues resulta que lo que Frankle plantea es factible.
Foto: Los autores del artículo, Michael Carbin (izquierda) y Jonathan Frankle (derecha). Créditos: Jason Dorfman, MIT CSAIL
Un billete de lotería
Este descubrimiento se basa en el hecho de que la intensidad asignada aleatoriamente a las conexiones durante la inicialización en realidad no tiene consecuencias aleatorias sino que predisponen a diferentes partes de la red a fallar o tener éxito incluso antes del entrenamiento. Dicho de otra manera, la configuración inicial influye en la configuración final que adopte la red.
Centrándose en esta idea, los investigadores descubrieron que, si se poda una red de gran tamaño después del entrenamiento, se puede reutilizar la red más pequeña resultante para entrenarla con nuevos datos y mantener un alto rendimiento, siempre que cada conexión se devuelva a su intensidad inicial dentro de esta red reducida.
A partir de este hallazgo, Frankle y su coautor y profesor asistente en el MIT, Michael Carbin, proponen lo que han denominado como la “hipótesis del billete de lotería”. Cuando se inician aleatoriamente las intensidades de conexión de una red neuronal, es casi como comprar una bolsa llena de billetes de lotería. Esperamos que dentro de nuestra bolsa esté el boleto ganador, es decir, que se produzca una configuración inicial fácil de entrenar que dé lugar a un modelo exitoso
Esto también explica por qué la observación número 1 es cierta. Comenzar con una red más grande es como comprar más billetes de lotería. No aumenta la cantidad de potencia usada para un problema de aprendizaje profundo; simplemente aumenta la probabilidad de lograr una configuración ganadora. Una vez encontrada, se debería poder reutilizar una y otra vez, en lugar de continuar jugando la lotería.
Próximos pasos
Esto plantea muchas preguntas. Primero, ¿cómo encontrar el boleto ganador? En su artículo, Frankle y Carbin adoptaron un enfoque de fuerza bruta para entrenar y podar una red de gran tamaño con un conjunto de datos para extraer el boleto ganador para otro conjunto de datos. En teoría, debería haber formas mucho más eficaces de encontrar, o incluso diseñar, una configuración ganadora desde el principio.
Segundo, ¿cuáles son los límites de entrenamiento de una configuración ganadora? Se supone que diferentes tipos de datos y distintas tareas de aprendizaje profundo requerirían configuraciones diferentes.
En tercer lugar, ¿cuál es la red neuronal más pequeña posible con la que se lograría un alto rendimiento? Frankle descubrió que, a través de un proceso reiterado de entrenamiento y poda, pudo reducir constantemente la red inicial entre un 10 % y un 20 % de su tamaño original. Pero cree que sería posible hacerla aún más pequeña.
Muchos equipos de investigación de IA ya han comenzado a realizar trabajos de seguimiento. Un investigador de la Universidad de Princeton (EE. UU.) recientemente comentó los resultados de un próximo trabajo que aborda la segunda pregunta. Un equipo de Uber ha publicado un nuevo estudio sobre varios experimentos que analizan la naturaleza de los metafóricos billetes de lotería. Lo más sorprendente es que encontraron que una vez descubierta la configuración ganadora, esta consigue un rendimiento significativamente mejor que la gran red original no entrenada antes de cualquier entrenamiento. En otras palabras, el acto de podar una red para extraer la configuración ganadora es en sí mismo un método importante de entrenamiento.
Red neuronal nirvana
Frankle imagina un futuro en el que habrá una base de datos de código abierto con todas las diferentes configuraciones encontradas, con descripciones para qué tareas son más útiles. En broma lo llama “red neuronal nirvana”. Cree que aceleraría y democratizaría drásticamente la investigación de IA al reducir el coste y el tiempo del entrenamiento, y al permitir que las personas sin grandes servidores de datos hagan este trabajo directamente en pequeños ordenadores portátiles o incluso en teléfonos móviles.
También podría cambiar la naturaleza de las aplicaciones de IA. Si es posible entrenar una red neuronal localmente en un dispositivo en vez de hacerlo en la nube, se podría reducir el tiempo de entrenamiento y aumentar la seguridad de los datos. Imagine un dispositivo médico basado en aprendizaje automático capaz de mejorarse a sí mismo a través de este servicio, sin necesidad de enviar datos de pacientes a los servidores de Google o Amazon.
“Estamos constantemente chocando contra el borde de lo que podemos entrenar”, sostiene el miembro fundador de Uber AI Labs y coautor del trabajo de seguimiento de Uber, Jason Yosinski, y añade:”Eso significa que las redes más grandes deben encajar en una GPU y determina el tiempo máximo que podemos tolerar la espera antes de obtener un resultado”. Si los investigadores aprendieran a identificar las configuraciones ganadoras desde el primer momento, eso reduciría el tamaño de las redes neuronales por un factor de 10, incluso 100. El límite máximo de posibilidades aumentaría muchísimo, abriendo un nuevo mundo de posibles usos.