NeuromatchAcademy生物神经元模型教程:STDP机制中的突触可塑性计算
2025-07-10 07:28:47作者:曹令琨Iris
本文是NeuromatchAcademy生物神经元模型课程中关于突触可塑性计算的技术解析,重点讲解STDP(Spike-Timing Dependent Plasticity)机制中LTP(Long-Term Potentiation)比率的计算方法。
STDP机制简介
STDP(Spike-Timing Dependent Plasticity)是生物神经元突触可塑性的一种重要形式,它根据前后神经元放电的时间关系来调整突触强度。当突触前神经元在突触后神经元之前放电时,会导致突触增强(LTP);反之则会导致突触减弱(LTD)。
LTP比率计算函数解析
教程中提供的generate_P
函数实现了STDP机制中LTP比率的计算过程:
def generate_P(pars, pre_spike_train_ex):
"""
track of pre-synaptic spikes
Args:
pars : parameter dictionary
pre_spike_train_ex : binary spike train input from
presynaptic excitatory neuron
Returns:
P : LTP ratio
"""
参数说明
-
输入参数:
pars
: 参数字典,包含STDP相关参数pre_spike_train_ex
: 突触前兴奋性神经元的脉冲序列(二进制形式)
-
输出参数:
P
: LTP比率,表示突触增强的程度
关键参数获取
A_plus, tau_stdp = pars['A_plus'], pars['tau_stdp']
dt, range_t = pars['dt'], pars['range_t']
Lt = range_t.size
A_plus
: LTP的最大增强幅度tau_stdp
: STDP时间常数dt
: 时间步长range_t
: 时间范围Lt
: 时间步数
核心计算过程
for it in range(Lt - 1):
# Calculate the delta increment dP
dP = -(dt / tau_stdp) * P[:, it] + A_plus * pre_spike_train_ex[:, it + 1]
# Update P
P[:, it + 1] = P[:, it] + dP
-
增量计算:
- 第一部分
-(dt / tau_stdp) * P[:, it]
表示LTP比率的指数衰减 - 第二部分
A_plus * pre_spike_train_ex[:, it + 1]
表示当突触前神经元放电时对LTP比率的增强
- 第一部分
-
更新规则:
- 采用欧拉方法更新LTP比率,将当前值加上增量得到下一步的值
示例应用
教程中提供了一个应用示例:
pars = default_pars_STDP(T=200., dt=1.)
pre_spike_train_ex = Poisson_generator(pars, rate=10, n=5, myseed=2020)
P = generate_P(pars, pre_spike_train_ex)
-
参数设置:
- 模拟时长200ms,时间步长1ms
- 使用泊松过程生成5个突触前神经元的脉冲序列,平均发放率10Hz
-
可视化:
- 调用
my_example_P
函数展示突触前脉冲序列和对应的LTP比率变化
- 调用
生物学意义
这个计算模型反映了生物神经元突触可塑性的几个重要特性:
- 时间依赖性:LTP比率的变化取决于突触前神经元放电的时间
- 衰减特性:在没有突触前放电时,LTP比率会随时间指数衰减
- 增强特性:每次突触前放电都会导致LTP比率的瞬时增加
这种机制在神经系统的学习与记忆过程中起着关键作用,是神经网络能够自适应调整连接强度的重要基础。
总结
本文详细解析了NeuromatchAcademy生物神经元模型课程中关于STDP机制LTP比率计算的实现方法。通过理解这个计算过程,我们可以更好地把握突触可塑性的数学模型及其生物学基础,为后续更复杂的神经网络建模打下坚实基础。