当前位置:   article > 正文

SNN学习_nest仿真

nest仿真

因为老师拓展新方向,被分配了学习脉冲神经网络(SNN)的课题,今天才想到把自己所学的东西一点一点分享出来,和大家一起讨论学习

Nest仿真器具有python2.x用户接口:pynest, 支持众多神经元模型、突触模型和复杂网络结构。

    利用nest官网提供的已经装好nest的virtualbox虚拟电脑文件,对于nest仿真器进行熟悉,了解神经元的构建,仿真流程等。

1、仿真环境的建立




1)  启动虚拟电脑(ps:启动不了试着不启用USB控制器,开机密码nest)

2)  打开terminal,键入pyhton, 进入python Shell,然后进行程序编写


这个虚拟电脑已经装好好几个仿真器,Brain,nest,Neuron

2、Nest仿真器的使用

上图是pynest用户接口的工作原理

先以单个神经元的构建为例:

Nest中的神经网络由两个基本元素组成:nodes和connections

Step1: Creating nodes

Nodes: neurons, devices or sub-networks

使用Create,Getstatus,SetStataus命令:

import pylab  //pylab是一个抽取仿真结果数据并绘图分析的库

import nest

neuron = nest.Create(“iaf_psc_alpha”) //创建单个神经元,模型为iaf_psc_alpha

nest.GetStatus(neuron) //获取创建的神经元的所有状态信息

nest.GetStatus(neuron,[“V_reset”,”V_th”])

nest.SetStatus(neuron,{“I_e”:376.0})  //设置神经元neuron参数

multimeter = nest.Create(“multimeter”) //device,创建万用表multimeter,监测neuron膜电位变化

nest.SetStatus(multimeter,{“withtime”:True,”record_from”:[“V_m”]})  //记录膜电压V_m随时间的变化

spikedetector=nest.Create("spike_detector",params={"withgid":True, "withtime": True}) //device,创建脉冲探测器来监测脉冲活动发放

Step2:Connecting nodes

    nest.Connect(multimeter, neuron)

    nest.Connect(neuron, spikedetector)

Step3:executesimulation

     nest.Simulate(1000.0)    //进行仿真,仿真时间设置为1000ms

Step4:extracting andplotting data from devices

 dmm = nest.GetStatus(multimeter)[0]

Vms = dmm["events"]["V_m"]

ts = dmm["events"]["times"]

import pylab

pylab.figure(1)

pylab.plot(ts, Vms) //绘制膜电压随时间变化曲线

dSD =nest.GetStatus(spikedetector,keys="events")[0]

evs = dSD["senders"]

ts = dSD["times"]

pylab.figure(2)

pylab.plot(ts, evs, ".") //绘制脉冲事件发生与时间的关系

pylab.show()  //显示figure1,figure2

以上是对单个神经元输入恒定电流刺激,来仿真神经元脉冲活动

    还熟悉了单个神经元由两个泊松脉冲发生器激励训练,一个兴奋性刺激,一个一致型刺激,并对连接权重进行分配。还有两个神经元的连接,突触前神经元由恒定电流刺激。

    还熟悉了神经元群的建立方法,参数设置方法以及神经元链接方式的设置。

 具体可以参照官网的pynest参考手册

总结:

l 本周主要熟悉了nest仿真器的使用方法,对于如何在仿真器构建神经元有了初步的印象。

l Nest仿真器具有python接口,接下来对于python语言要进行学习

l 对于nest仿真器的使用要非常熟悉其库函数的使用,后面再继续熟悉仿真器的使用

l 对于以后将要用到的常用神经元模型,考虑再nest仿真器中如何构建

l 考虑大规模神经网络结构的构建,并学习如何部署在并行计算设备上

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/647594
推荐阅读
相关标签
  

闽ICP备14008679号