Rete neurale spiking

Una rete neurale spiking, in sigla SNN (dall'inglese spiking neural network), è una rete neurale artificiale a impulso che tenta di mimare più realmente le reti neurali naturali.[1]

Oltre allo stato sinaptico e neuronale una rete di questo tipo incorpora anche il concetto di tempo nel suo modello operativo. L'idea è che i neuroni artificiali non attivino in automatico ognuno un ciclo di propagazione come nelle reti multistrato con percettrone, ma piuttosto quando un potenziale di membrana - una intrinseca qualità del neurone correlata alla carica della sua membrana elettrica - raggiunge uno specifico valore. Quando un neurone si attiva genera un segnale che viaggia verso altri neuroni, che a turno incrementano o decrementano i loro potenziali in accordo a questo segnale.

Per le SNN, l'attuale livello di attivazione (modellato come una equazione differenziale) è normalmente considerato uno stato del neurone, che con impulsi in arrivo spinge questo valore più in alto e poi si attiva o decade nel tempo. Esistono vari "metodi di codifica" per interpretare l'uscita del "treno di impulsi" come numero reale, facendo affidamento sulla frequenza dei picchi o sul tempo tra i picchi, per codificare le informazioni.

ProgrammiModifica

Una vasta gamma di software applicativi può simulare SNN sia per CPU Intel, AMD, ARM, che per GPU con supporto CUDA e OpenCL.

Simulatori SNNModifica

 
Unsupervised learning with ferroelectric synapses

Questi simulano modelli neurali complessi con un alto livello di dettaglio e precisione. Le grandi reti di solito richiedono un'elaborazione lunga. I candidati includono:[2]

  • BindsNET – sviluppato dal laboratorio Biologically Inspired Neural and Dynamical Systems lab (BINDS) dell'University of Massachusetts Amherst.[3]
  • NeuralLead – è un kit di sviluppo grafico gratuito scritto completamente dalla società SJRiddix, è il più biologicamente plausibile poiché è possibile emulare i neurotrasmettitori e quindi eseguire simulazioni che coinvolgono le emozioni, inoltre vengono simulati diversi modelli neurali tra cui LIF, Izhikevich, Hodgkin Huxley... con la capacità di creare script con i seguenti liguaggi python 3, C# or c++ come è possibile fare su Unity o Unreal Engine.
  • CARLsim libreria di sviluppo per SNN opensource disponibile per CPU e GPU scritta in c++.
  • Brian – sviluppato da Romain Brette and Dan Goodman alla École Normale Supérieure;
  • GENESIS (the GEneral NEural SImulation System[4]) – sviluppato nel James Bower's laboratory alla Caltech;
  • NEST – sviluppato dall'iniziativa NEST
  • NEURON – principalmente sviluppato da Michael Hines, John W. Moore and Ted Carnevale in Yale University and Duke University;
  • Norse – una libreria di deep learning per neuroni biologici costruita su PyTorch che si integra con hardware Neuromorfico. Norse è sviluppato al Heidelberg University e al KTH Royal Institute of Technology;
  • snnTorch - gradient-based deep e apprendimento online based sulla libreria PyTorch sviluppato da Jason K. Eshraghian in University of California, Santa Cruz;[5]
  • SpykeTorch - un framework basato sulla libreria PyTorch ottimizzata specificatamente per SNNs convoluzionali con almeno uno spike per neurone. Può essere eseguita su GPUs.[6]
  • SpikingJelly: un framework di deep learning open source per Spiking Neural Network (SNN) basato su PyTorch. Multimedia Learning Group, Institute of Digital Media (NELVT), Peking University e Peng Cheng Laboratory sono i principali sviluppatori.

NoteModifica

  1. ^ Wolfgang Maass, Networks of spiking neurons: The third generation of neural network models, in Neural Networks, vol. 10, n. 9, 1997, pp. 1659–1671, DOI:10.1016/S0893-6080(97)00011-7, ISSN 0893-6080 (WC · ACNP).
  2. ^ L. F. Abbott e Sacha B. Nelson, Synaptic plasticity: taming the beast, in Nature Neuroscience, vol. 3, S11, novembre 2000, pp. 1178–1183, DOI:10.1038/81453, PMID 11127835.
  3. ^ Hananel-Hazan/bindsnet: Simulation of spiking neural networks (SNNs) using PyTorch., su GitHub, 31 marzo 2020.
  4. ^ A.F. Atiya e A.G. Parlos, New results on recurrent network training: unifying the algorithms and accelerating convergence, in IEEE Transactions on Neural Networks, vol. 11, n. 3, maggio 2000, pp. 697–709, DOI:10.1109/72.846741, PMID 18249797.
  5. ^ Template:Cite arXiv
  6. ^ Milad Mozafari, Mohammad Ganjtabesh, Abbas Nowzari-Dalini e Timothée Masquelier, SpykeTorch: Efficient Simulation of Convolutional Spiking Neural Networks With at Most One Spike per Neuron, in Frontiers in Neuroscience, vol. 13, 12 luglio 2019, pp. 625, DOI:10.3389/fnins.2019.00625, PMC 6640212, PMID 31354403, arXiv:1903.02440.

Voci correlateModifica

Altri progettiModifica

Collegamenti esterniModifica