NEST simulator官方提供了35个example network,数量不多,所以珍贵
本文对这些example做以分类以便后续学习进行。
分类依据2条主线:
1.example内容: 包括example本身预期提供的内容,以及我对其的关注点。
2.example优先级: 这是后续对example展开学习时要遵循的次序。
example内容
device usage(DU): nest device的使用方法,属simulator基础。
neuron behavior(NB):neuron理论和行为,属computational neuroscience内容
synapse behavior(SB): synapse理论和行为,属computational neuroscience内容
modeling methods(MM): 侧重理解建模方法,属simulator应用。
extension(EX): 扩展性知识,可扩大知识面,用到工程中的机率不大
example优先级
class 0: 基础方法和知识,直接影响建模
class 1: 专项知识,会影响模型复杂度
class 2: 高级方法, 提高效率
class 3: 扩展性方法和知识,不会直接建模有影响
class 0,1会影响到模型,class2, 不会影响模型,只是影响效率
以下是全部example list table:
index | example | description | class | priority of class |
1 | balanced neuron example |
内容:excitatory & inhibitory neurons populations发出poisson spike train给同1个neuron, 找到该neuron的某个firing rate使之与excitatory的firing rate相同 关注点:不同neurons population之间firing rate的匹配方法 |
MM | 0 |
2 | campbell & siegert approximation example |
内容:多个poisson generators分别使用不同rate和weight驱动if neuron使其firing, 并将其firing rate与iaf_psc_alpha model比较。 关注点:建模方法,非比较结果 |
MM | 0 |
3 | compare tsodyks-markram synapse models | - | - | - |
4 | Comparing precise and grid-based neuron models | 内容:比较precise和grid-based neuron models的差异 关注点:对precise不关注,所以该example意义不大 |
EX | 3 |
5 | correlospinmatrix_detector example | 内容:binary neuron model和差异比较. ginzburg_neuron和mcculloch_pitts_neuron是binary neuron, correlospinmatrix_detector比较binary之间差异 关注点: binary model有极大可能无须关注, 但如果后期发现其有效性, 那将对neuromorphic system design产生极大影响。 这是一个不鸣则己,一鸣惊人的潜在爆发点 |
EX | 3 |
6 | Example for the quantal_stp_synapse | 内容:描述STP(包括short term depression/shor term facilitation)的synapse model. 从release site层面描述weight的变化, 机理可能做为neuromorphic hardware的基础, 但很可能无法直接由硬件实现。 关注点:model本身和STP规则 |
SB | 1 |
7 | Example of the Adaptive Exponential Integrate and Fire (AdEx) in NEST. | 内容:从速度和精确度比较aeif_cond_alpha的两种不同计算实现 关注点:对该example不关注比较过程和结果。aeif_cond_alpha本身后期需要理解, 该模型用alpha-function对synaptic conductance建模, 如果alpha-function真的能对NG/FNG产生影响, 那么可以考虑将其加入硬件模型 。 对aeif_cond_alpha的介绍见https://jn.physiology.org/content/94/5/3637 |
NB | 1 |
8 | Example of the tsodyks2_synapse in NEST | 内容:tsodyks2_synapse的简单network 关注点:network本身没什么特别的, tsodyks2_synapse model需要学习, 与STP有关 |
SB | 1 |
9 | IAF Neuron example |
内容:IAF neuron test 关注点: 基础example,需掌握 |
NB | 0 |
10 | IF curve example | 内容:向neurons中依次输入递增的current, 观察current-spiking frequence的关系。 关注点: 基础,需掌握 |
NB | 0 |
11 | Initial membrane voltage | 内容:在无外界input时iaf_cond_exp_sfa_rr model的membrain potential趋于-70mV 关注点: 现象的原因,实质上是对neural dynamics的理解。 (可能是reseting potential,但由于有多个membrane potential为-70mV,所以不能确定) |
NB | 1 |
12 | Intrinsic currents spiking | 内容:细化到receptor种类层面上了,暂不看,暂不考虑这个层面 关注点: 无 |
EX | 3 |
13 | Intrinsic currents subthreshold | 内容:Intrinsic current相关的暂不看 关注点: 无 |
EX | 3 |
14 | Multi-compartment neuron example | 内容:multi-compartment neuron test. 关注点: multi-compartment model将neuron dendrite分为三种:distal, proximal, soma, 每种synapse都可以接收current和spike,不同位置的dendrite对membrane potential的影响不同, 这种模型暂时忽略, 如果model的形态的后期出现可能有用的迹象,再关注multi-comparment model. |
EX | 3 |
15 | Multimeter to file example | 内容:multimeter的使用 关注点: 基础,要掌握 |
DU | 0 |
16 | One neuron example | 内容:基础 关注点: 基础,要掌握 |
MM | 0 |
17 | one_neuron_with_noise | 内容:基础 关注点: 基础,要掌握 |
MM | 0 |
18 | Plot weight matrices example | 内容:将2个neuron group之间所有类型的全部connection strength提取出来保存到matrix中, 并进行analysis和visualization 关注点: 基础,要掌握 |
MM | 0 |
19 | Pulse packet example | 内容:在收到pulse package(高斯分布的瞬态spike volley)后membrain potential的状态变化 关注点: 侧重于spiking的产生 |
MM | 0 |
20 | Random balanced network (alpha synapses) connected with NEST | 内容:用NEST自带的connection roution实现random connection创建network 关注点: 基础,要掌握 |
MM | 0 |
21 | Random balanced network (alpha synapses) connected with NumPy | 内容:用numpy实现random connection创建network 关注点: 基础,要掌握 |
MM | 0 |
22 | Random balanced network (delta synapses) | 内容:以brunel N的一篇paper为基础创建network 关注点: 基本network的建立方法 |
MM | 0 |
23 | Random balanced network (exp synapses, multiple time constants) | 内容:以brunel N的paper为基础,synapse产生exponential PSP, 在receptor type定义对应PSP的time constant,receptor types均匀分布。 关注点: 所有与receptor type的暂不考虑, 因为现在首先要做的是从network层面理解neuron group, 将这一flow走通,然后再细致理解neuron model。 但我也觉得,receptor type或者可以引入到硬件模型中增加可变性。 |
NB | 1 |
24 | Repeated Stimulation | 内容:在指定的时间区间内产生stimulus,利用‘origin’反复产生stimulus 关注点: 基础,要掌握 |
MM | 0 |
25 | Sinusoidal poisson generator example | 内容:介绍sinusoidal_poisson_generator的使用 关注点: 基本device的使用,要掌握 |
DU | 0 |
26 | sinusoidal_gamma_generator | 内容:介绍sinusoidal_gamma_generator的使用 关注点: 基本device的使用,要掌握 |
DU | 0 |
27 | spike synchronization through subthreshold oscillation | 内容:复现“Simple Networks for Spike-Timing-Based Computation, with Application to Olfactory Processing.pdf”中的现象, 即在subthreshold oscillation条件下产生spike synchronization行为 关注点: FNG,关注产生FNG的modeling methodology,以便开发新的FNG |
NB | 1 |
28 | structural plasticity example | 内容:这个例子有意思.2组population,一开始无连接, 使用Buts, M., & Von Ooyen A.(2013)中的structural plasticity model, 可以在仿真过程中create和delete synapses dynamically,直至达到期望的electrical activity 关注点: 这种synapse创建的方法不同之前我所理解的weight的简单调整,而是synapse创建和消失的过程, 仔细理解并使用该过程,可能会使synpase所占memory容量大大减少。 |
NB | 1 |
29 | test of the adapting exponential integrate and fire model in nest | 内容:对adaptive integrate and fire model(AdEx)的test 关注点: 学习test过程的思路, 此外该model需要学习(Brette and Gerstner (2005) J. Neurophysiology and reproduces figure 2.C) |
NB | 1 |
30 | test of the adapting exponential integrate and fire model in nest | 内容:同上,针对(Brette and Gerstner (2005) J. Neurophysiology and reproduces figure 3.D) 关注点: 同上 |
NB | 1 |
31 | tsodyks depressing example | 内容:Depressing Tsodyks synapse例子,验证其行为,见”Neural Networks with Dynamic Synapses.pdf” 关注点: 该paper很重要,应该仔细看看。 |
SB | 1 |
32 | tsodyks facilitating example | 内容:同上,改变参数形成facilitating tsodyks synapse 关注点: 同上 |
SB | 1 |
33 | twoneurons | 内容:2个neuron的连接 关注点: 基础,需掌握 |
MM | 0 |
34 | Using CSA for connection setup | 内容:介绍了独立于simulator的一种高效地创建network connection的方法:使用Connection Set Algebra(CSA), 见”Efficient generation of connectivity in neuronal networks.pdf” 关注点: 掌握该方法,属tools的高级使用方法 |
MM | 2 |
35 | Using CSA with Topology layers | 内容:同上,用CSA创建topology layer之间connection 关注点: 同上 |
MM | 2 |
注: [1].以上关注点从neuromorphic角度出发,而非computational neuroscience角度出发。直接表现就是会将某些synapse/neuron model的模型细节忽略掉 [2]. example 3略去,因为example未做描述,且根据code明显没不重要 [3] NG/FNG: neurogroup/functional neurogroup |
下面是example优先级list,根据上面table列出,包含对各class内部的ordering,即学习次序:
class 0:
#neuron connection
IAF Neuron example
One neuron example
one_neuron_with_noise
twoneurons
IF curve example
#network
Balanced neuron example
Random balanced network (alpha synapses) connected with NEST
Random balanced network (alpha synapses) connected with NumPy
Random balanced network (delta synapses)
#device
Sinusoidal poisson generator example
sinusoidal_gamma_generator
Pulse packet example
Multimeter to file example
#modeling methods
Repeated Stimulation
Plot weight matrices example
Campbell & Siegert approximation example
class 1:
#synapse
Example for the quantal_stp_synapse
Example of the tsodyks2_synapse in NEST
tsodyks depressing example
tsodyks facilitating example
structural plasticity example
#NG
spike synchronization through subthreshold oscillation: NG
test of the adapting exponential integrate and fire model in nest: new model
test of the adapting exponential integrate and fire model in nest : new model
Example of the Adaptive Exponential Integrate and Fire (AdEx) in NEST.: algorithm implementation
Initial membrane voltage: no use
Random balanced network (exp synapses, multiple time constants): receptor type
class 2:
Using CSA for connection setup
Using CSA with Topology layers
class 3:
Comparing precise and grid-based neuron models
correlospinmatrix_detector example
Intrinsic currents spiking
Intrinsic currents subthreshold
Multi-compartment neuron example