Esta semana se ha celebrado en Nueva Orleans la séptima edición del ICLR (International Conference on Learning Representations), uno de los grandes eventos científicos mundiales en torno a la inteligencia artificial. Un aspecto destacable de esta edición ha sido uno de los trabajos académicos premiados en el mismo.
Escrito por Michael Carbin y Jonathan Frankle, ambos investigadores del MIT, establece un punto de partida radical: todo este tiempo hemos estado utilizando redes neuronales mucho más grandes de lo necesario, en algunos casos entre 10 y 100 veces mayores. Y eso nos ha llevado a que su entrenamiento haya resultado mucho más costoso de lo necesario, en términos tanto de tiempo como de potencia de cálculo.
Lo que Carbin y Frankle defienden es que, dentro de cada red neuronal existe un subconjunto mucho más pequeño que puede ser entrenado para lograr el mismo rendimiento que el que obtenemos por la totalidad de la misma.
Pero ¿cómo funciona una red neuronal?
Las redes neuronales suelen representarse como capas apiladas de nodos computacionales conectados entre sí con el fin de calcular patrones en los datos. A dichas conexiones, cuando la red es inicializada, se les asignan aleatoriamente valores entre 0 y 1 que representan su intensidad.
Durante su entrenamiento, dichas conexiones se fortalecen o debilitan para reflejar 'lo aprendido', y a partir de ese momento se quedan fijas para poder analizar nueva información en base a ese 'conocimiento' acumulado.
Éste es el funcionamiento (muy simplificado) de las redes neuronales. Ahora, el trabajo de estos investigadores parte de la observación de dos propiedades de las mismas:
1) Cuando la red se inicializa antes de que dé comienzo el proceso de entrenamiento, siempre existe alguna probabilidad de que las conexiones establecidas al azar generen una configuración no entrenable. La probabilidad de que esto ocurra se reduce cuanta mayor sea la red (cuántas más capas y nodos tenga). No está claro por qué ocurre esto, pero sí sabemos que es la razón del gran tamaño de las redes neuronales que se han venido usando hasta ahora.
2) Una vez finalizado el proceso de entrenamiento, por lo general sólo una pequeña parte de sus conexiones siguen siendo fuertes, mientras que el resto son tan débiles que podrían eliminarse sin afectar al rendimiento global de la red. Esto último no es ningún descubrimiento de Carbin y Frankle: es habitual, desde hace tiempo, reducir el tamaño de las redes tras el proceso de entrenamiento para reducir el coste y tiempo de su ejecución.
Entrenar una red neuronal es como jugar a la lotería
Pero nadie pensó que fuera posible reducir el tamaño de una red antes del proceso de entrenamiento. Los autores de esta investigación decidieron cuestionar esa suposición, y descubrir cómo podrían quedarse con el subconjunto útil de la red sin gastar recursos en intentar entrenar a todas las demás partes débiles de la red. E investigando a partir de ahí, terminaron elaborando la 'Hipótesis del Décimo de Lotería'.
Esta viene a decir la inicialización al azar de las conexiones de una red neuronal es como comprar una gran bolsa de décimos de lotería: posiblemente, dentro de la misma, esté el décimo ganador (la configuración inicial que será fácil de entrenar y permita obtener un modelo exitoso). Pero eso no significa que por usar redes neuronales grandes estemos aumentando la potencia de las mismas.
Los autores de la investigación afirman que si logramos encontrar esa configuración inicial ganadora, deberíamos ser capaces de reutilizar una y otra vez, en lugar de "volver a jugar a la lotería". Así, Carbin y Frankle fueron capaces de reducir la red de partida entre un 10% y un 20%, pero están convencidos de que la cifra podría ser mucho mayor.
Jason Yoskinski, investigador de Uber AI y co-autor de un paper que profundiza en los planteamientos de Frankle y Carbin, afirma que
"Si los investigadores pudieran encontrar la manera de identificar desde el primer momento las 'configuraciones ganadoras', se reduciría el tamaño de las redes neuronales en un factor de 10, incluso de 100, y se abriría un nuevo mundo de los usos potenciales".
Según Frankle, es posible que en el futuro contemos con bases de datos de código abierto en el que los investigadores recojan las diferentes configuraciones 'podadas' que hayan encontrado, junto a una descripción de para qué son buenas.
Eso aceleraría y democratizaría la investigación en inteligencia artificial, haciéndola accesible para investigadores independientes sin acceso a grandes equipos. E, indirectamente, también permitiría cambiar la misma naturaleza de las aplicaciones de IA, independizándolas de la nube e impulsando el edge computing.
Vía | Technology Review
Ver 8 comentarios