Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Spiking Neural Network

Un réseau neuronal à impulsions (SNN) transmet des informations sous forme d’impulsions chronométrées, à la manière des neurones biologiques, pour une IA neuromorphique à faible consommation. Au programme : neurones et entraînement.

Un réseau neuronal à impulsions (SNN) est un réseau neuronal dont les neurones communiquent par des événements discrets de type tout ou rien, appelés impulsions, qui se rapprochent du mode de signalisation des neurones biologiques. Chaque neurone accumule les impulsions entrantes dans un potentiel de membrane interne qui décroît lentement, et n’émet sa propre impulsion que lorsque ce potentiel franchit un seuil. L’information réside dans les neurones qui s’activent et le moment où ils le font : les SNN traitent ainsi les données à mesure qu’elles arrivent et ne calculent que lorsqu’une impulsion se produit. Cette parcimonie événementielle les rend intéressants pour l’IA en périphérie à faible consommation sur des puces neuromorphiques, et les rend naturellement adaptés aux caméras événementielles, qui signalent elles aussi les changements sous forme d’événements asynchrones. En 1997, Wolfgang Maass a décrit les SNN comme la troisième génération de modèles de réseaux neuronaux, après les unités à seuil et les réseaux à activations continues.

Fonctionnement des neurones à impulsions#

Le modèle le plus utilisé est le neurone à intégration et décharge avec fuite (LIF). À chaque pas de temps, son potentiel de membrane diminue d’une fraction fixe, les impulsions d’entrée pondérées sont ajoutées et, si le potentiel atteint le seuil, le neurone émet une impulsion puis se réinitialise. Un neurone recevant une entrée faible n’atteint jamais le seuil, tandis qu’un neurone recevant une entrée forte s’active souvent : la fréquence de décharge encode donc l’intensité de l’entrée. La simulation ci-dessous alimente trois neurones LIF avec différents courants d’entrée constants :

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()}")

Le code affiche Spikes in 20 steps: [0.0, 4.0, 10.0]. Avec une entrée de 0.15, le potentiel se stabilise à 0.15 / (1 − 0.8) = 0.75, sous le seuil : ce neurone ne s’active donc jamais. Une entrée de 0.3 produit 4 impulsions, et une entrée de 0.6 franchit le seuil tous les deux pas, pour un total de 10 impulsions. Des bibliothèques comme snnTorch proposent ce type de couches LIF sous forme de modules PyTorch pouvant être entraînés sur GPU.

Encodage de l’information dans les impulsions#

Les données doivent être converties en impulsions pour qu’un SNN puisse les exploiter, et le choix du codage influe à la fois sur la précision et sur la vitesse :

  • Codage par fréquence : Une valeur devient une fréquence de décharge, comme dans la simulation ci-dessus. Cette méthode est robuste, mais nécessite de nombreux pas de temps pour représenter précisément une valeur.
  • Codage temporel : Une valeur est représentée par le moment où une impulsion se produit, par exemple des impulsions plus précoces pour les pixels plus lumineux ; l’information est ainsi transmise avec très peu d’impulsions.
  • Capteurs événementiels : Les caméras de vision neuromorphique produisent un événement semblable à une impulsion chaque fois que la luminosité d’un pixel change, avec une résolution temporelle à la microseconde et sans fréquence d’images fixe, de sorte que leurs données peuvent alimenter directement un SNN.

Entraînement des SNN#

Une impulsion est une fonction en escalier dont la dérivée est nulle presque partout : la rétropropagation standard ne peut donc pas propager les gradients à travers elle. Trois approches permettent de contourner ce problème. La conversion de RNA en SNN entraîne un réseau classique avec des activations ReLU, puis associe chaque activation à une fréquence de décharge. L’entraînement par gradient de substitution conserve l’impulsion abrupte lors de la propagation avant, mais remplace sa dérivée par celle d’une fonction lisse lors de la rétropropagation ; le modèle est ensuite entraîné par rétropropagation à travers le temps, comme un réseau neuronal récurrent (RNN). La plasticité dépendante du temps d’impulsion (STDP) est une règle locale inspirée de la biologie qui renforce une synapse lorsque l’impulsion d’entrée précède l’impulsion de sortie ; elle apprend sans étiquettes. La plupart des SNN récents à haute précision sont entraînés directement avec des gradients de substitution, qui nécessitent beaucoup moins de pas de temps que les réseaux convertis ; la conversion reste la voie la plus simple à partir d’un modèle existant.

Matériel neuromorphique#

Les SNN économisent le plus d’énergie sur les puces conçues à cet effet. Les processeurs neuromorphiques placent la mémoire à proximité de nombreux petits cœurs, communiquent par messages d’impulsions et ne calculent qu’à l’arrivée d’impulsions ; comme celles-ci sont binaires, chaque événement synaptique nécessite une addition plutôt qu’une multiplication. TrueNorth d’IBM (2014) regroupait un million de neurones sur une seule puce, SpiNNaker de l’Université de Manchester utilise de vastes réseaux de cœurs ARM, et Loihi 2 d’Intel alimente Hala Point, un système de recherche de 2024 doté de 1 152 processeurs Loihi 2 et de 1,15 milliard de neurones. Sur les GPU classiques, conçus pour les calculs matriciels denses, les SNN sont généralement plus lents que les réseaux conventionnels équivalents.

SNN et réseaux neuronaux conventionnels#

  • Signaux : Les réseaux conventionnels, notamment les réseaux neuronaux convolutifs (CNN) et les Transformers, transmettent des valeurs continues à chaque neurone au cours d’une seule propagation avant. Les SNN transmettent des impulsions binaires sur de nombreux pas de temps, et la plupart des neurones restent silencieux à tout moment donné.
  • Précision : Les réseaux conventionnels restent en tête des benchmarks d’images standard, et les SNN ont surtout réduit l’écart grâce à l’entraînement par gradient de substitution et à des architectures reprises des modèles conventionnels.
  • Efficacité : Sur du matériel neuromorphique, les SNN consomment beaucoup moins d’énergie avec des entrées parcimonieuses et événementielles, comme les flux de caméras événementielles et l’audio toujours actif.

Applications#

  • Vision événementielle et robotique : Dans une étude de 2024 publiée dans Science Robotics, des chercheurs de TU Delft ont fait voler un drone doté d’un réseau de vision et de commande entièrement à impulsions sur Loihi d’Intel, qui convertissait les données brutes d’une caméra événementielle en commandes de mouvement à 200 Hz.
  • Détection en continu : La détection de mots-clés, la reconnaissance gestuelle et la détection d’anomalies dans les capteurs bénéficient des SNN, qui consomment presque aucune énergie en l’absence de changement.
  • Détection d’objets : SpikeYOLO, un détecteur à impulsions d’ECCV 2024 créé par Xinhao Luo, Man Yao et leurs collègues, s’appuie sur la base de code Ultralytics et simplifie l’architecture Ultralytics YOLOv8 à l’aide de blocs commandés par les impulsions. Il atteint 48,9 % de mAP50-95 sur COCO avec un entraînement à valeurs entières et une inférence commandée par les impulsions.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique