El cerebro de los animales, incluso de los más simples, presenta retos formidable. Es difícil saber qué hacen las neuronas y aunque se entienden muchas cosas, no está claro ni lejanamente cómo se codifican los recuerdos, cómo se aprenden comportamientos y cómo, al final del día, podemos movernos en un complicado entorno.
El modelo neuronal de un gusano simple
Para entender el cerebro, es una buena idea empezar con el gusano nematodo C. elegans (Caenorhabditis elegans), el cual tiene apenas 302 neuronas. Este gusano ha sido mapeado completamente en el Proyecto OpenWorm para así construir una simulación completa del gusano en software. Timothy Busbice, uno de los creadores del proyecto, decidió realizar esta tarea.
El modelo es muy preciso en lo que se refiere sus interconexiones y se usan paquetes UDP para disparar las neuronas. Esto es, si dos neuronas tienen 3 conexiones sinápticas, entonces, cuando la primera neurona dispara un paquete UDP, lo manda a la segunda neurona con una carga de «3». Ls neuronas se pueden localizar por IP y número de puerto.
El sistema usa un algoritmo que integra los valores y los dispara. Cada neurona suma los pesos y se dispara el estímulo si excede un valor, el cual se denomina umbral. Si no pasa nada, se resetea el acumulador, un registro del sistema, después de 200 ms de no actividad o si se ha disparado un estímulo. Esto es parecido a lo que pasa en una red neuronal real, aproximadamente.
El software trabaja con sensores y efectores, los cuales se encuentran en un robot LEGO. Los sensores son muestreados cada 100 ms. Por ejemplo, el sensor del sonar del robot está cableado a la nariz del nematodo. Si algo llega a unos 20 cms de la nariz, se manda un paquete UDP a las neuronas sensoriales en la red.
La misma idea se aplica a las neuronas motoras, que son solo 95, pero que están mapeadas a partir de dos filas de músculos a la izquierda y derecha de los respectivos motores del robot. Las señales se acumulan y se aplican para controlar la velocidad de cada motor. Las neuronas motoras pueden ser excitables o inhibitorias y para ello se usan pesos positivos y negativos.
Todo muy bien, pero… ¿cuál es el resultado de esto?
Se dice que el robot se comporta como el C. elegans. Por ejemplo, la estimulación de la nariz detiene el movimiento hacia adelante. Tocando las partes anteriores y posteriores de los sensores táctiles hacen que el robot se mueve hacia adelante o hacia atrás. Estimulando el sensor de comida hace que el robot se mueva hacia adelante.
Este es el video demostrativo:
El punto clave
La cuestión más importante es que no se realizxó programación o aprendizaje para crear los comportamientos. La red neuronal del gusano se mapeó y se implementó como un sistema de software y entonces los comportamientos emergieron.
Y esto es muy importante: la emergencia es un fenómeno muy complejo que apenas estamos empezando a entender, aunque no queda nada claro cómo es posible precisamente que emerja prácticamente de la nada. En el caso del nematodo, que sólo tiene 302 neuronas, es auto-estimulado y es difícil comprender cómo trabaja, aunque las conclusiones es que el software se comporta como un gusano de esta naturaleza.
El siguiente paso
Si el lector cree que esto es suficiente, le tenemos noticias, el modelo de software del nematodo, llamado connectome, se está transfiriendo a la Raspberry Pi y se está construyendo un robot con esta tarjeta Pi.
Se sugiere que todo esto podría tener aplicaciones prácticas usando algún tipo de sensor móvil para explorar el entorno y reportar los resultados, por ejemplo, en un carrito robótico totalmente autónomo en Marte. Sin embargo, debido a las pocas neuronas y al comportamiento limitado, no parece que este trabajo tenga un valor en la práctica, pero sin duda es un primer paso para sistemas más complejos en el futuro.
Toda la información del trabajo realizado, aquí.