Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Spiking Neural Network

Una red neuronal de impulsos (SNN) transmite información mediante impulsos temporizados, como las neuronas biológicas, para la IA neuromórfica de bajo consumo. Abarca las neuronas y el entrenamiento.

Una red neuronal de impulsos (SNN) es una red neuronal cuyas neuronas se comunican mediante eventos discretos de todo o nada llamados impulsos, más parecidos a la forma en que se transmiten señales entre neuronas biológicas. Cada neurona acumula los impulsos recibidos en un potencial de membrana interno que se disipa lentamente, y solo emite su propio impulso cuando ese potencial supera un umbral. La información reside en qué neuronas se activan y cuándo, por lo que las SNN procesan los datos a medida que llegan y solo realizan operaciones cuando se producen impulsos. Esta dispersión basada en eventos las hace atractivas para la IA en el borde de bajo consumo en chips neuromórficos y las convierte en una opción natural para las cámaras de eventos, que también registran cambios como eventos asíncronos. En 1997, Wolfgang Maass describió las SNN como la tercera generación de modelos de redes neuronales, después de las unidades de umbral y las redes con activaciones continuas.

Cómo funcionan las neuronas de impulsos#

El modelo más utilizado es la neurona de integración y disparo con fuga (LIF). En cada paso temporal, su potencial de membrana decae en una proporción fija, se suman los impulsos de entrada ponderados y, si el potencial alcanza el umbral, la neurona emite un impulso y se reinicia. Una neurona con una entrada débil nunca alcanza el umbral, mientras que una con una entrada intensa se activa a menudo; por tanto, la frecuencia de disparo codifica la intensidad de la entrada. La simulación siguiente alimenta tres neuronas LIF con distintas corrientes de entrada constantes:

import torch

# Three leaky integrate-and-fire neurons, each driven by a constant input current
current = torch.tensor([0.15, 0.3, 0.6])
decay, threshold = 0.8, 1.0  # fraction of potential kept per step, firing threshold

potential = torch.zeros(3)
spike_counts = torch.zeros(3)
for step in range(20):
    potential = decay * potential + current  # leak, then integrate the input
    spikes = (potential >= threshold).float()  # fire where the threshold is crossed
    potential = potential * (1 - spikes)  # reset neurons that fired
    spike_counts += spikes

print(f"Spikes in 20 steps: {spike_counts.tolist()}")

Muestra Spikes in 20 steps: [0.0, 4.0, 10.0]. Con una entrada de 0.15, el potencial se estabiliza en 0.15 / (1 − 0.8) = 0.75, por debajo del umbral, así que esa neurona nunca se activa. Una entrada de 0.3 produce 4 impulsos, y una entrada de 0.6 supera el umbral cada dos pasos y produce 10 impulsos. Bibliotecas como snnTorch proporcionan capas LIF como esta en forma de módulos de PyTorch que se entrenan en GPU.

Codificación de la información en impulsos#

Antes de que una SNN pueda utilizar los datos, hay que convertirlos en impulsos, y el tipo de codificación afecta tanto a la precisión como a la velocidad:

  • Codificación por frecuencia: Un valor se convierte en una frecuencia de disparo, como en la simulación anterior. Es robusta, pero necesita muchos pasos temporales para representar un valor con precisión.
  • Codificación temporal: Un valor se convierte en el momento en que se produce un impulso, como cuando los píxeles más brillantes generan impulsos antes; así se transmite información con muy pocos impulsos.
  • Sensores de eventos: Las cámaras de visión neuromórfica emiten un evento similar a un impulso cada vez que cambia el brillo de un píxel, con precisión de microsegundos y sin una frecuencia de fotogramas fija, por lo que sus datos pueden alimentar directamente una SNN.

Entrenamiento de SNN#

Un impulso es una función escalón cuya derivada es cero en casi todas partes, por lo que la retropropagación estándar no puede propagar gradientes a través de él. Hay tres métodos para sortear este problema. La conversión de ANN a SNN entrena una red normal con activaciones ReLU y asigna cada activación a una frecuencia de disparo. El entrenamiento con gradientes sustitutos mantiene el impulso abrupto en la pasada hacia delante, pero sustituye su derivada por la de una función suave en la pasada hacia atrás; después, entrena mediante retropropagación a través del tiempo, como una red neuronal recurrente (RNN). La plasticidad dependiente de la temporización de los impulsos (STDP) es una regla local inspirada en la biología que fortalece una sinapsis cuando el impulso de entrada precede al de salida y aprende sin etiquetas. La mayoría de las SNN recientes de alta precisión se entrenan directamente con gradientes sustitutos, que necesitan muchos menos pasos temporales que las redes convertidas; la conversión sigue siendo la forma más sencilla de partir de un modelo existente.

Hardware neuromórfico#

Las SNN ahorran más energía en chips diseñados para ellas. Los procesadores neuromórficos sitúan la memoria junto a muchos núcleos pequeños, se comunican mediante mensajes de impulsos y solo calculan cuando llegan impulsos; además, como los impulsos son binarios, cada evento sináptico requiere una suma en vez de una multiplicación. TrueNorth (2014), de IBM, integró un millón de neuronas en un único chip; SpiNNaker, de la Universidad de Mánchester, utiliza grandes conjuntos de núcleos ARM; y Loihi 2 de Intel impulsa Hala Point, un sistema de investigación de 2024 con 1.152 procesadores Loihi 2 y 1.150 millones de neuronas. En las GPU estándar, diseñadas para operaciones matriciales densas, las SNN suelen funcionar más despacio que las redes convencionales equivalentes.

SNN y redes neuronales convencionales#

  • Señales: Las redes convencionales, incluidas las redes neuronales convolucionales (CNN) y los Transformer, transmiten valores continuos a través de todas las neuronas en una sola pasada hacia delante. Las SNN transmiten impulsos binarios durante muchos pasos temporales y, en cada instante, la mayoría de las neuronas permanecen inactivas.
  • Precisión: Las redes convencionales siguen liderando en los benchmarks estándar de imágenes, y las SNN han reducido la diferencia sobre todo gracias al entrenamiento con gradientes sustitutos y a arquitecturas adaptadas de modelos convencionales.
  • Eficiencia: Las SNN ejecutadas en hardware neuromórfico consumen mucha menos energía con entradas dispersas y basadas en eventos, como las secuencias de cámaras de eventos y el audio siempre activo.

Aplicaciones#

  • Visión y robótica basadas en eventos: En un estudio de Science Robotics de 2024, investigadores de TU Delft pilotaron un dron con una red de visión y control totalmente basada en impulsos en Loihi de Intel, que convertía los datos sin procesar de una cámara de eventos en órdenes de movimiento a 200 Hz.
  • Detección siempre activa: El reconocimiento de palabras clave, el reconocimiento de gestos y la detección de anomalías en sensores se benefician de las SNN, que apenas consumen energía cuando nada cambia.
  • Detección de objetos: SpikeYOLO, un detector de impulsos de ECCV 2024 desarrollado por Xinhao Luo, Man Yao y sus colaboradores, se basa en el código de Ultralytics y simplifica la arquitectura de Ultralytics YOLOv8 con bloques basados en impulsos. Alcanzó un mAP50-95 del 48,9 % en COCO con entrenamiento de valores enteros e inferencia basada en impulsos.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático