El problema principal es que nadie sabe cómo funciona el cerebro :)
Teoría
Por lo que puedo decir, hay tres grandes pasos en la investigación de redes neuronales:
- Modelo de perceptrón (o umbral de puerta), donde cualquier función booleana puede ser calculada por algún perceptrón de múltiples capas con una sola capa oculta.
- Modelo de neurona: versión mejorada de la anterior, donde los elementos de red utilizan la función de activación sigmoidea (conjunto continuo de posibles entradas y salidas). También pueden calcular cualquier función booleana (después de aplicar un umbral) y, además, pueden aproximar cualquier función continua.
- Modelo de neuronas espirales, que utiliza la "codificación temporal" para pasar información entre los elementos de la red. Puede hacer todo lo que hace el modelo anterior y, a menudo, puede hacerlo con menos neuronas.
Básicamente, la evolución aquí es acercarse a cómo funciona el cerebro humano, y el último modelo tiene la mejor fidelidad.
Práctica
Los SNN parecen muy prometedores e incluso hay un producto comercial que SpikeNET creó sobre él (en "Lo que SpikeNET puede hacer" y "Lo que SpikeNET aún no puede hacer" puede ver los problemas que enfrentaron).
No puedo hablar sobre problemas específicos con las redes de picos, pero en general tengo la impresión de que surgen porque la gente quiere que los SNN funcionen cada vez más como un cerebro humano:
- quieren elegir cómo codificar la información, lo que se puede hacer a través de la codificación de retardo (las neuronas más estimuladas tienden a aumentar con mayor frecuencia y antes ), la codificación binaria (la información está representada por el número de picos dentro de un intervalo de tiempo determinado), la codificación de tiempo (la información es la inversa de la granularidad del intervalo de tiempo distinguible), la codificación de orden de rango (los primeros picos recibidos por una neurona tienen influencia y los posteriores se inhiben) y otras cosas.
- Emulan la plasticidad de Hebbian, lo que aumenta el peso entre las neuronas cuando ambas neuronas están "activadas" (o ambas "desactivadas") al mismo tiempo.
- aplican la autoorganización donde un grupo de neuronas compite con la neurona ganadora inhibiendo la respuesta de otras neuronas. Con una neurona en aumento, el ganador puede calcularse rápidamente basándose solo en eventos de disparo individuales.
Wikipedia tiene un enlace al libro "Redes neuronales pulsadas" que tiene la sección "Problemas de implementación de redes neuronales codificadas por pulsos", pero no estoy lo suficientemente educado para comentar sobre eso.
En cuanto a la introducción al tema, recomiendo este documento: Redes neuronales pulsadas y su aplicación ( pdf )