Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Spiking Neural Network

Uma rede neural de impulsos (SNN) transmite informações como impulsos temporizados, à semelhança dos neurônios biológicos, para IA neuromórfica de baixo consumo. Aborda neurônios e treinamento.

Uma rede neural de disparos (SNN) é uma rede neural cujos neurônios se comunicam por eventos discretos de tudo ou nada chamados disparos, mais próximos da maneira como os neurônios biológicos transmitem sinais. Cada neurônio acumula os disparos recebidos em um potencial de membrana interno que diminui lentamente, e só emite seu próprio disparo quando esse potencial ultrapassa um limite. A informação está nos neurônios que disparam e no momento em que disparam, então as SNNs processam os dados à medida que chegam e só executam operações quando ocorrem disparos. Essa esparsidade orientada a eventos as torna atraentes para IA de baixo consumo na IA de borda em chips neuromórficos e naturalmente adequadas para câmeras de eventos, que também registram mudanças como eventos assíncronos. Em 1997, Wolfgang Maass descreveu as SNNs como a terceira geração de modelos de redes neurais, depois das unidades de limiar e das redes com ativações contínuas.

Como funcionam os neurônios de disparo#

O modelo mais utilizado é o neurônio de integração e disparo com vazamento (LIF). Em cada etapa temporal, seu potencial de membrana diminui por uma fração fixa, os disparos de entrada ponderados são somados e, se o potencial atingir o limite, o neurônio emite um disparo e reinicia. Um neurônio com entrada fraca nunca atinge o limite, enquanto um com entrada forte dispara com frequência; assim, a frequência de disparos codifica a intensidade da entrada. A simulação abaixo fornece diferentes correntes de entrada constantes a três neurônios LIF:

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

Ele exibe Spikes in 20 steps: [0.0, 4.0, 10.0]. Com uma entrada de 0.15, o potencial se estabiliza em 0.15 / (1 − 0.8) = 0.75, abaixo do limite, então esse neurônio nunca dispara. Uma entrada de 0.3 produz 4 disparos, e uma entrada de 0.6 ultrapassa o limite a cada duas etapas, gerando 10 disparos. Bibliotecas como snnTorch oferecem camadas LIF como esta em módulos PyTorch que treinam em GPUs.

Codificação de informações em disparos#

Os dados precisam ser convertidos em disparos antes que uma SNN possa usá-los, e a escolha da codificação afeta tanto a precisão quanto a velocidade:

  • Codificação por frequência: Um valor se transforma em uma frequência de disparos, como na simulação acima. É robusta, mas exige muitas etapas temporais para representar um valor com precisão.
  • Codificação temporal: Um valor se transforma no momento de um disparo, por exemplo, com disparos mais cedo para pixels mais brilhantes, transmitindo informações com pouquíssimos disparos.
  • Sensores de eventos: Câmeras de visão neuromórfica emitem um evento semelhante a um disparo sempre que o brilho de um pixel muda, com precisão de microssegundos e sem uma taxa de quadros fixa, permitindo que os dados alimentem diretamente uma SNN.

Treinamento de SNNs#

Um disparo é uma função em degrau cuja derivada é zero em quase todos os pontos, então a retropropagação padrão não consegue propagar gradientes por ela. Três abordagens contornam esse problema. A conversão de ANN para SNN treina uma rede comum com ativações ReLU e converte cada ativação em uma frequência de disparos. O treinamento com gradiente substituto mantém o disparo rígido na passagem direta, mas substitui sua derivada por uma função suave na passagem reversa; em seguida, treina com retropropagação ao longo do tempo, como uma rede neural recorrente (RNN). A plasticidade dependente do tempo de disparo (STDP) é uma regra local inspirada na biologia que fortalece uma sinapse quando o disparo de entrada precede o disparo de saída, e aprende sem rótulos. A maioria das SNNs recentes de alta precisão é treinada diretamente com gradientes substitutos, que exigem muito menos etapas temporais do que as redes convertidas; a conversão continua sendo o caminho mais simples para aproveitar um modelo existente.

Hardware neuromórfico#

As SNNs economizam mais energia em chips projetados para elas. Os processadores neuromórficos colocam memória junto a muitos núcleos pequenos, comunicam-se por mensagens de disparo e só calculam quando os disparos chegam; como os disparos são binários, cada evento sináptico exige uma soma em vez de uma multiplicação. O TrueNorth da IBM (2014) reuniu um milhão de neurônios em um único chip, o SpiNNaker da Universidade de Manchester usa grandes conjuntos de núcleos ARM, e o Loihi 2 da Intel alimenta o Hala Point, um sistema de pesquisa de 2024 com 1.152 processadores Loihi 2 e 1,15 bilhão de neurônios. Em GPUs padrão, projetadas para operações densas com matrizes, as SNNs geralmente são executadas mais lentamente do que redes convencionais equivalentes.

SNNs e redes neurais convencionais#

  • Sinais: Redes convencionais, incluindo redes neurais convolucionais (CNNs) e transformers, transmitem valores contínuos por cada neurônio em uma única passagem direta. As SNNs transmitem disparos binários ao longo de muitas etapas temporais, e a maioria dos neurônios permanece inativa a cada instante.
  • Precisão: As redes convencionais ainda lideram nos benchmarks padrão de imagens, e as SNNs reduziram a diferença principalmente por meio do treinamento com gradientes substitutos e de arquiteturas adaptadas de modelos convencionais.
  • Eficiência: SNNs executadas em hardware neuromórfico consomem muito menos energia com entradas esparsas e orientadas a eventos, como fluxos de câmeras de eventos e áudio sempre ativo.

Aplicações#

  • Visão baseada em eventos e robótica: Em um estudo de 2024 publicado na Science Robotics, pesquisadores da TU Delft pilotaram um drone com uma rede totalmente baseada em disparos para visão e controle, executada no Loihi da Intel, mapeando dados brutos de uma câmera de eventos em comandos de movimento a 200 Hz.
  • Sensoriamento sempre ativo: A detecção de palavras-chave, o reconhecimento de gestos e a detecção de anomalias em sensores se beneficiam de SNNs que praticamente não consomem energia quando nada muda.
  • Detecção de objetos: O SpikeYOLO, detector de disparos da ECCV 2024 criado por Xinhao Luo, Man Yao e colegas, foi desenvolvido com base na base de código da Ultralytics e simplifica a arquitetura Ultralytics YOLOv8 com blocos orientados a disparos, alcançando 48,9% de mAP50-95 no COCO com treinamento de valores inteiros e inferência orientada a disparos.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina