Se asume que sabemos mucho de las redes neuronales biológicas y que por ende, con redes neuronales en programación, podríamos simular el cerebro en algún momento, teniendo el hardware adecuado. Sin embargo, primero de todo, el cerebro humano parece demasiado complejo para que se pueda simular y si pudiese hacerse, se necesitaría una inversión que a lo mejor ni siquiera es factible. Una solución en la que podríamos entonces en empezar a trabajar, buscar con especies más chicas. Así nace Neurokernel, un simulador del cerebro de una mosca de la fruta.
Hay proyectos muy interesantes, por ejemplo en Europa, que buscan simular las conexiones en un cerebro humano. Buscan crear un «connectome», lo que revolucionaría la neurociencia de la misma manera que el genoma revolucionó a la biología en general. Aún así, este sinfín de conexiones no parece servir de forma fácil a resolver cómo es que el cerebro piensa o indagar temas más misteriosos, por ejemplo, la consciencia. En cierto sentido podríamos imaginar que nos mostraran un procesador moderno, y que lo pudiésemos abrir. Sin entender qué hay adentro (millones de transistores) y cómo están conectadao, pues su funcionamiento sería un misterio. Es decir, hacer ingeniería en reversa en el cerebro parece tener más problemas que virtudes.
Aún así, la idea de Neurokernel es empezar con un cerebro más simple, el de la mosca de la fruta, por ejemplo. Una mosca de estas tiene solamente 105 neuronas, lo cual no es un número chico. Es interesante este insecto porque ha sido estudiado por muchísimos años y se han identificado unas 40 subdivisiones modulares, algunas de ellas concernientes a la locomoción, a entradas sensoriales, etcétera. Nótese que esta división es meramente funcional, algo así como notar que un sistema de cómputo tiene teclado e impresora.
La idea detrás de Neurokernel es usar los GPUs, muchos de ellos, para simular el cerebro de la mosca de la fruta. «Una gran meta de Neurokernel es permitir modelos del cerebro de una mosca que puedan ser escalados en la complejidad computacional sin necesitar su reimplementación. Para esto, Neurokernel dará un API que proveé los componentes requeridos para implementar e interconectar los modelos mientras que se abstrae en una capa la dependencia del código del GPU que los implementa. Esto en principio también permitirá que las mejoras en la tecnología en GPU se refleje directamente en Neurokernel sin cambios prácticamente», indican los investigadores.
El sistema usa CUDA/Python (CUDA es una biblioteca para procesamiento en paralelo en GPUs), y es software de código abierto. Neurokernel está abierto a toda la ayuda disponible por terceros.
Referencias: