Computación similar al cerebro: red neuronal de picos (Red neuronal de picos) Descripción

Breve introducción de Spiking Neural Network (1)

Las redes neuronales tradicionales incluyen diversas variantes topológicas existentes con el perceptrón como unidad básica, como las series de redes neuronales convolucionales (CNN), las series de redes neuronales recurrentes (RNN), las redes de confrontación generativa (GAN), los autocodificadores (Autoencoders), etc. Debido a la existencia del algoritmo de retropropagación y al desarrollo de varios optimizadores matemáticos, la red neuronal de segunda generación tiene un rendimiento excelente en varias tareas.

Spiking Neural Network (SNN) se reconoce como la red neuronal de tercera generación desarrollada después de la red neuronal de segunda generación (ANN) basada en MLP existente. Si bien las redes neuronales tradicionales han logrado excelentes resultados en diversas tareas, sus principios y procesos de cálculo aún distan mucho del proceso real de procesamiento de información del cerebro humano. Las principales diferencias se pueden resumir en los siguientes puntos:

1. Los algoritmos de redes neuronales tradicionales todavía se basan en el uso de números de punto flotante de alta precisión para los cálculos, pero el cerebro humano no usa números de punto flotante para los cálculos. En el sistema sensorial y el cerebro humanos, la información se transmite, recibe y procesa en forma de voltajes de acción o picos eléctricos.
2. El proceso de entrenamiento de ANN se basa en gran medida en el algoritmo de retropropagación (descenso de gradiente).Sin embargo, en el proceso de aprendizaje del cerebro humano real, los científicos no han observado este tipo de aprendizaje. Además, la memoria y el aprendizaje del cerebro humano dependen de la plasticidad sináptica generada tras la estimulación de las células postsinápticas. Para obtener más detalles, consulte: aprendizaje hebbiano
3. ANN generalmente requiere un gran conjunto de datos etiquetados para impulsar el ajuste de la red. Esto es diferente de nuestros gerentes habituales. Nuestros procesos de percepción y aprendizaje en muchos casos no están supervisados. Además, el cerebro humano normalmente no necesita una cantidad tan grande de datos repetidos para aprender lo mismo.

En resumen, con el fin de acercar la red neuronal al cerebro humano, nació SNN. La inspiración para descubrirlo proviene de la forma en que los cerebros biológicos procesan la información: picos. Después de leer esto, ya debería comprender que SNN no es una estructura de red como CNN y RNN, sino un nuevo tipo de algoritmo de red neuronal que está más cerca del cerebro humano .

La diferencia entre SNN y ANN

Entonces, ¿cuál es la diferencia entre SNN y los métodos tradicionales?

1. Portador de información

En primer lugar, la diferencia más básica es que los portadores de información de SNN y ANN son diferentes. ANN usa números de punto flotante de alta precisión, mientras que SNN usa picos o puede entenderse como 1 y 0, lo que aumenta en gran medida la escasez de información en la red. Estos picos tienen la misma amplitud y duración en la red
Figura 1, Red neuronal de picos
Figura 1 Izquierda: estructura de red neuronal tradicional. Derecha: estructura SNN

Entonces, en SNN, ¿cómo se expresa la información en picos? Esto implica el conocimiento de la codificación de pulsos. Aquí hay una breve introducción, y la explicaré en detalle más adelante. En SNN, es muy importante introducir formularios de procesamiento relacionados con el tiempo. La información se codifica en la serie temporal de trenes de picos (tren de picos). Por ejemplo: Un tren de pulsos de alta frecuencia puede representar un valor alto mientras que pulsos de baja frecuencia representan un valor bajo. Otro ejemplo: en una ventana de tiempo fija, la posición donde ocurre un solo pulso también puede representar el valor/información correspondiente.

2. Neuronas

inserte la descripción de la imagen aquí
Figura 2 Izquierda: Neurona tradicional. Derecha: neurona puntiaguda

Dado que los portadores de información son diferentes, la unidad básica en la red neuronal, la neurona, también debe ser diferente. Los estudiantes que están familiarizados con ANN saben que el perceptrón básico de neuronas es un simple operador de suma y multiplicación que se utiliza para integrar el valor de entrada de la neurona y luego seguir una función de activación no lineal (función de activación no lineal). Sin embargo, esta operación sobre valores exactos no es adecuada para el procesamiento de pulsos binarios. En SNN, la unidad de operación básica es una neurona de punta construida sobre la base de la estructura de sinapsis biológica. Imagine que hay dos neuronas con picos, una de las cuales es la neurona presináptica (neurona presináptica) como emisor del pico, y la otra es la neurona postsináptica (neurona postsináptica) como receptora del pico. El procesamiento realizado por la neurona de punta es recibir el pulso transmitido por la sinapsis y generar el voltaje de la membrana postsináptica (potencial post sináptico (PSP)) a través de la función de punta de acuerdo con el peso sináptico.

inserte la descripción de la imagen aquí
Figura 2 Ejemplo de neurona puntiaguda. PSP significa potencial post sináptico.

Entonces, ¿qué es la PSP? La explicación simple es el cambio en el voltaje de la membrana en la neurona. Por ejemplo, la Figura 3 muestra el voltaje de la membrana u ( t ) u(t) después de que una neurona recibe un picou ( t ) con el tiempottcambio en t . En biología, la amplitud y la constante de tiempo de este pulso eléctrico están dentro de un rango específico. Por ejemplo, en la Figura 3, el voltaje de la membrana permanecerá en −70 -70−70 mV, este valor suele denominarse valor de reposo. Cuando se recibe un estímulo, se generará la amplitud del cambio de voltaje. Una vez finalizado el cambio, el voltaje de la membrana se restablecerá al valor de reposo inicial. ¿Cómo generar tal forma de onda en la operación real? Después de realizar análisis experimentales en neuronas biológicas, los científicos han proporcionado muchos modelos de ecuaciones diferenciales de neuronas:

Por ejemplo:
neurona IF (integrada y fuego)

yo ( t ) = C md V metro ( t ) dt I(t) = C_m \frac {dV_m (t)}{dt}yo ( t )=Cmdt _d Vm( t )

Se puede ver que la fórmula es la derivada temporal de la ley de capacitancia, Q = CV. Cuando se aplica una corriente de entrada, el voltaje de la membrana aumenta con el tiempo hasta que alcanza un umbral constante Vth, momento en el cual la función delta se dispara y el voltaje se restablece a su potencial de reposo, después de lo cual el modelo continúa funcionando.

Además del modelo Hodgkin-Huxley, el modelo LIF, el modelo SRM, etc. Sin embargo, el papel del modelo Neuron en SNN es principalmente como una unidad de procesamiento de secuencia de pulsos y sus características de simulación biológica real. Personalmente, creo que en la aplicación real de SNN, no es necesario requerir una forma de onda de voltaje de membrana demasiado dura. a la biología real.

inserte la descripción de la imagen aquí
Fig. 3 Cambios de voltaje de membrana generados por un solo pico.

Luego, como se muestra en la Figura 4, cuando una neurona postsináptica recibe voltajes de membrana de entrada de tren de pulsos de múltiples canales, ¿qué cambios ocurrirán?
inserte la descripción de la imagen aquí

Figura 4 Una sola neurona de picos acepta múltiples entradas de picos.

inserte la descripción de la imagen aquí
Fig. 5 Simulación del cambio de voltaje de la membrana.

Como se muestra en la Figura 5. La neurona postsináptica primero integra los pulsos recibidos en el tiempo, convirtiéndolos en una superposición de cambios en el voltaje de la membrana. Cuando el voltaje de la membrana excede el umbral preestablecido ( ϑ \varthetaϑ ), se considera que la neurona postsináptica ha recibido suficiente estimulación para enviar un pico. Después de que se envía un pulso, el voltaje de la membrana se restablece y la neurona postsináptica no puede procesar el pulso recibido durante un período de tiempo llamado período refractario de la neurona. Después del período refractario, el voltaje de la membrana vuelve a su valor de reposo y está listo para el siguiente pulso. Este es un proceso completo de generación de picos de neuronas de picos.

3. Cómo aprender/usar

La ANN tradicional se basa principalmente en el algoritmo de retropropagación basado en el descenso de gradiente. Pero en SNN, debido a que la función de aumentar la neurona suele ser una ecuación de diferencia no diferenciable, es extremadamente difícil realizar la retropropagación en SNN. Entonces, ¿cómo entrenar SNN? En la aplicación real de N, hay unas tres formas principales de implementación de SNN, aquí hay una breve descripción del método:

  1. Convierta ANN tradicional en SNN
    Dado que SNN no puede usar BP para entrenar, ¿es posible convertir el entrenamiento de red neuronal tradicional en SNN? La respuesta es sí. La ventaja de este método es que no necesita considerar ninguna característica de SNN, pero necesita convertir completamente la red entrenada en una red con pico binario como portador de procesamiento en términos de entrada, operación y salida. En la entrada, la señal de entrada debe codificarse como un tren de pulsos. Todas las neuronas deben reemplazarse con las neuronas de pico correspondientes, y deben cuantificarse los pesos obtenidos del entrenamiento.

  2. retropropagación

Hola, autor. ¿No acabas de mencionar que la función de pico de SNN no se puede propagar hacia atrás? Entonces, ¿por qué se dice que se puede hacer aquí? Así es, la función de pico de la neurona de pico no puede calcular directamente el gradiente por derivación y diferencia. Pero los investigadores han ideado muchas formas inteligentes de estimar el gradiente de cambio de parámetros en la red para la retropropagación. Aunque tal algoritmo todavía es controvertido, reduce la complejidad de entrenamiento de SNN hasta cierto punto.Dichos algoritmos incluyen spikeprop, Slayer, etc.

  1. plasticidad sinaptica

Esto está más cerca del aprendizaje biológico que los dos primeros métodos. Usando principios biológicos, los investigadores introdujeron la plasticidad dependiente del tiempo de pico en el entrenamiento de los SNN. Sin embargo, aunque este método de entrenamiento es novedoso, el proceso de entrenamiento es muy engorroso y es un aprendizaje puramente no supervisado, que es una prueba de la comprensión del diseñador de la neurociencia y las redes neuronales. Seguiré escribiendo blogs relacionados para presentarlo y usarlo. .

ANN VS SNN

inserte la descripción de la imagen aquí

En resumen, SNN todavía se está desarrollando rápidamente en la actualidad, y su ventaja radica en que tiene un mayor potencial de aplicación en dispositivos móviles que ANN. Esto se debe principalmente a su método de procesamiento que se puede combinar con nuevos chips neuromórficos para lograr computación en red a gran escala de alta velocidad y bajo consumo.

escribir al final

Esta es la primera vez que escribo un blog personal, y lo que pienso y escribo es solo mi entendimiento personal, si hay algún error, por favor, indíquelo y corríjalo. Deseando explorar y aprender con usted en campos emergentes.

En blogs de seguimiento, planeo continuar actualizando lo siguiente:

  1. El estado de desarrollo de SNN y las aplicaciones que han aparecido
  2. Sensor similar al cerebro: sensor visual dinámico Sensor dinámico e implante coclear: cohlear de silicona
  3. Ejemplo de enseñanza: reconocimiento de dígitos escritos a mano basado en SNN
  4. Enseñanza con el ejemplo: reconocimiento de objetos basado en redes neuronales de picos convolucionales
  5. Enseñanza con el ejemplo: reconocimiento dinámico de gestos basado en la red neuronal Spiking

Supongo que te gusta

Origin blog.csdn.net/Yannan_Strath/article/details/105761023
Recomendado
Clasificación