NEST (programari)
programari de simulació per augmentar models de xarxes neuronals From Wikipedia, the free encyclopedia
Remove ads
NEST és un programari de simulació per augmentar models de xarxes neuronals, incloses xarxes neuronals a gran escala. NEST va ser desenvolupat inicialment per Markus Diesmann i Marc-Oliver Gewaltig i ara és desenvolupat i mantingut per la Iniciativa NEST.
Remove ads
Filosofia del modelatge
Una simulació NEST intenta seguir la lògica d'un experiment electrofisiològic que es fa dins d'un ordinador amb la diferència, que el sistema neuronal a investigar ha de ser definit per l'experimentador.
El sistema neuronal està definit per un nombre possiblement gran de neurones i les seves connexions. En una xarxa NEST, poden coexistir diferents models de neurones i sinapsis. Dues neurones qualsevol poden tenir múltiples connexions amb propietats diferents. Així, la connectivitat en general no es pot descriure per una matriu de pes o connectivitat, sinó com una llista d'adjacència.
Per manipular o observar la dinàmica de la xarxa, l'experimentador pot definir els anomenats dispositius que representen els diferents instruments (de mesura i estimulació) que es troben en un experiment. Aquests dispositius escriuen les seves dades a la memòria o a l'arxiu.
NEST és extensible i es poden afegir nous models per a neurones, sinapsis i dispositius.
Remove ads
Exemple

L'exemple següent simula l'activitat d'encreuament en una xarxa aleatòria escassa amb excitació i inhibició recurrents[1]
La figura mostra l'activitat d'intensificació de 50 neurones com a trama gràfica. El temps augmenta al llarg de l'eix horitzontal, la id de neurona augmenta al llarg de l'eix vertical. Cada punt correspon a un pic de la neurona respectiva en un moment donat. La part inferior de la figura mostra un histograma amb la velocitat mitjana de disparació de les neurones.
import nest
import nest.raster_plot
J_ex = 0.1 # excitatory weight
J_in = -0.5 # inhibitory weight
p_rate = 20000.0 # external Poisson rate
neuron_params= {"C_m": 1.0, "tau_m": 20.0, "t_ref": 2.0,
"E_L": 0.0, "V_reset": 0.0, "V_m": 0.0, "V_th": 20.0}
# Set parameters of neurons and devices
nest.SetDefaults("iaf_psc_delta", neuron_params)
nest.SetDefaults("poisson_generator", {"rate": p_rate})
nest.SetDefaults("spike_detector", {"withtime": True, "withgid": True})
# Create neurons and devices
nodes_ex = nest.Create("iaf_psc_delta", 10000)
nodes_in = nest.Create("iaf_psc_delta", 2500)
noise = nest.Create("poisson_generator")
espikes = nest.Create("spike_detector")
# Configure synapse models
nest.CopyModel("static_synapse", "excitatory", {"weight": J_ex, "delay": 1.5})
nest.CopyModel("static_synapse", "inhibitory", {"weight": J_in, "delay": 1.5})
# Connect the random net and instrument it with the devices
nest.Connect(nodes_ex, nodes_ex+nodes_in, {"rule": "fixed_indegree", "indegree": 1000}, "excitatory")
nest.Connect(nodes_in, nodes_ex+nodes_in, {"rule": "fixed_indegree", "indegree": 250}, "inhibitory")
nest.Connect(noise, nodes_ex + nodes_in, syn_spec="excitatory")
nest.Connect(nodes_ex[1:51], espikes)
# Simulate for 100. ms
nest.Simulate(100.0)
# Plot results
nest.raster_plot.from_device(espikes, hist=True)
nest.raster_plot.show()
Remove ads
Característiques
Models de neurones
- Models d'integrar i disparar amb diferents tipus de corrents o potencials sinàptics
- Models d'integració i activació amb sinapsis basades en conductància
- Models Hodgkin–Huxley d'un sol compartiment
- Integració exponencial adaptativa i neurona de foc (AdEx)
- Model de neurones MAT2
Models de xarxa
- Xarxa neuronal aleatòria
- Xarxes topològiques
- Models de xarxa basats en dades
Models de sinapsi
- Sinapsis estàtiques amb pes i retard homogeni o heterogeni.
- Plasticitat depenent del temps de pic
- Plasticitat a curt termini (sinapsis Tsodyks i Markram)
- Sinapsis neuromodulades, utilitzant dopamina.
Models de dispositius
- Detector de pics
- Multímetre per a potencials, corrents, etc.
- Generadors de corrent altern, corrent continu i pas
- Generadors de soroll (Poisson, Gauss, Gamma)
- Generadors de pics per a la reproducció de pics
Precisió
- NEST té com a objectiu una gran precisió i precisió de les seves simulacions[2]
- Cada model de neurona té el seu solucionador adequat i molts models tenen proves unitàries.
- Si és possible, s'utilitza la integració exacta.[3]
- Per defecte, els pics cauen a la graella, definida pel pas de temps de simulació. Alguns models admeten l'intercanvi de pics en temps continu.[4]
Simulació paral·lela i distribuïda
- Suport per a la simulació multifils, utilitzant OpenMP o POSIX Threads.
- Suport per a la simulació híbrida multifil i distribuïda.
- La paral·lelització es gestiona de manera semiautomàtica pel nucli de simulació de NEST.
- Escalat de supra-lineal a lineal per a fins a 10.000 nuclis.[5]
Interoperabilitat
- Interfície al Coordinador Multi Simulator, desenvolupat per l'INCF.[6]
- Interfície amb el llenguatge de simulació independent del simulador PyNN.
Referències
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads
