Deep Learning más allá de las redes neuronales artificiales: redes neuronales de impulso
1998 y 2012 son dos fechas resaltadas en la historia reciente de la inteligencia artificial. A finales del siglo pasado, LeCun desarrolló LeNet-5, sistema multicapa para la clasificación de dígitos. En 2012, AlexNet, un algoritmo participante en la competición anual de ImageNet para la clasificación de imágenes, batió todos los récords de precisión, y en gran parte es responsable de iniciar la gran popularidad del deep learning. Los dos sistemas tienen en común el uso de un tipo de red neuronal artificial: redes neuronales convolucionales (CNN, por sus siglas en inglés).
Las CNN son un tipo especial de redes profundas inspiradas en las columnas corticales del córtex visual de mamíferos. Su utilización ha dado resultados espectaculares (desde clasificación de imágenes, segmentación de contenido, uso en videojuegos, conducción autónoma, etc.) y es frecuente escuchar noticias de cómo un algoritmo basado en las CNN ha superado cierta habilidad humana. Son la técnica con mejores resultados en múltiples campos de la inteligencia artificial y su potencial es realmente alentador.
Sin embargo, las CNN adolecen de un problema de eficiencia energética: comparadas con redes neuronales naturales, son tremendamente ineficientes, pues requieren más computación y más energía. Un cerebro humano (órdenes de magnitud más complejo que cualquier CNN) consume la misma energía que una bombilla (12-25 W), mientras que el hardware requerido para ejecutar una CNN oscila entre los 500 W (una CNN básica ejecutada en un ordenador personal con una GPU), a varios megawatios (una CNN compleja en superordenador actual).
Diferencias entre redes neuronales artificiales y naturales
Hay un aspecto fundamental que diferencia las CNN y las redes biológicas que contribuye a la ineficiencia: las unidades, (neuronas), no se comunican con valores continuos, sino que lo hacen de forma discreta, en impulsos electroquímicos. Solo cuando una neurona es activada, las que están conectadas a ella reciben este impulso (a diferencia de una CNN, en la que información pasa de una capa a otra independientemente del valor en sí).
Las redes neuronales de impulso (Spiking Neural Networks o SNN en inglés) son modelos que utilizan esta forma de comunicación. Además, también se acercan más al realismo biológico en dos aspectos:
- Concepto de tiempo: en lugar de introducir input en el modelo, procesar las unidades y obtener output, las SNN son simulaciones de poblaciones neuronales a través del tiempo; el modelo puede recibir un input (estímulo) continuo, y la actividad de las poblaciones determina la actividad de las neuronas output.
- Alto grado de interconectividad; en el cerebro humano se estima que cada neurona establece conexiones sinápticas con 10000 más, con alto nivel de redundancia y recursividad.
Las SNN son un modelo muy utilizado en la investigación, sobretodo como vehículo para estudiar la función y estructura en neurociencia. Sin embargo, también se ha empezado a aplicar como herramienta de aprendizaje automático, como demuestra el vídeo de Spaun, un sistema end-to-end estímulo-percepción-respuesta capaz de aprender a reconocer dígitos y replicarlos escribiendo en papel.
Su potencial de bajo consumo ha captado la atención de grandes empresas y se utiliza en ingeniería para el diseño de hardware, en lo que se conoce como hardware neuromórfico. Dos ejemplos destacados son TrueNorth de Intel (chip que emular 1 millón de neuronas con 268 millones de sinapsis) y Zeroth de Qualcomm.
Como inspiración para construir hardware eficiente para tareas de inteligencia artificial o como modelo para elaborar mejores algoritmos de aprendizaje automático, las SNN tienen un gran futuro y ofrecen una oportunidad para el desarrollo y la innovación. Como modelo con gran potencial, es uno de los muchos que tratamos en el Máster de Inteligencia Artificial de la VIU.