脉冲神经网络 神经元模型-Izhikevich模型(3)
脉冲神经网络 神经元模型-Izhikevich模型一 原理之前的两篇博客分别介绍了HH模型和IF模型,其中HH模型过于复杂,不适合大规模仿真;IF模型过于简答,脉冲发射模式过于单一。因此,在2003年,Eugene M. Izhikevich提出了Izhikevich模型,简化HH模型同时具有大量的发射模式。参考文献Izhikevich, E. M. Simple model of spiking
脉冲神经网络 神经元模型-Izhikevich模型
一 原理
之前的两篇博客分别介绍了HH模型和IF模型,其中HH模型过于复杂,不适合大规模仿真;IF模型过于简答,脉冲发射模式过于单一。因此,在2003年,Eugene M. Izhikevich提出了Izhikevich模型,简化HH模型同时具有大量的发射模式。
1.模型
通过对HH模型进行分岔分析,并结合IF模型的计算效率,Izhikevich提出了二维脉冲神经元模型:
dV/dt=0.04V2+5V140−U+I \mathrm{d}V/\mathrm{d}t = 0.04V^2+5V_140-U+I dV/dt=0.04V2+5V140−U+I
dU/dt=a(bV−U) \mathrm{d}U/\mathrm{d}t=a(bV-U) dU/dt=a(bV−U)
如果神经元的膜电位V≥V\geqV≥ 30mV,辅助的复位机制为:
V⟵V \longleftarrowV⟵c
U⟵U \longleftarrowU⟵U+d
2.参数
| 参数 | 含义 |
|---|---|
| V | 膜电位 |
| U | 恢复变量,用来代替生理模型中激活的K离子电流和失活的Na离子电流,实现对膜电位V的负反馈 |
| a | 恢复变量U的时间尺度,a越小,恢复的越慢 |
| b | 恢复变量U依赖膜电位V的阈值下随机波动的敏感程度 |
| c | 发放脉冲后,V的复位值 |
| d | 发放买抽,U的复位值 |
二 代码
1. 单神经元
a=0.02;
b=0.2;
r=rand(1);
c=-6+15*r^2;
d=8-6*r^2;
V=-65;
u=b*V;
VF=[];
tau = 0.5
tspan=100:tau:1000;
VT=30;
for t=tspan
if(t>VT)
I=10+(0.015*(t-VT));
else
I=10;
end
V=V+0.25*(0.04*V^2+5*V+140-u+I);
u=u+0.25*a*(b*V-u)
if V>30
VF(end+1)=30;
V=c;
u=u+d;
else
VF(end+1)=V;
end
end
plot(tspan,VF);
set(gca,'FontSize',25);
xlabel('Time/ms','FontSize',25);ylabel('Membrane voltage/mV','FontSize',25);
2. 多神经元
按照Izhikevich论文中给的案例,兴奋型神经元800个,抑制型神经元200个(4:1)
%Created by Eugene M. Izhikevich, February 25, 2003
% Excitatory neurons Inhibitory neurons
Ne=4;
Ni=1;
re=rand(Ne,1);
ri=rand(Ni,1);
a=[0.02*ones(Ne,1); 0.02+0.08*ri];
b=[0.2*ones(Ne,1); 0.25-0.05*ri];
c=[-65+15*re.^2; -65*ones(Ni,1)];
d=[8-6*re.^2; 2*ones(Ni,1)];
S=[0.5*rand(Ne+Ni,Ne), -rand(Ne+Ni,Ni)];
v=-65*ones(Ne+Ni,1); % Initial values of v
u=b.*v; % Initial values of u
firings=[]; % spike timings
for t=1:1000 % simulation of 1000 ms
I=[5*randn(Ne,1);2*randn(Ni,1)]; % thalamic input
fired=find(v>=30); % indices of spikes
firings=[firings; t+0*fired,fired];
v(fired)=c(fired);
u(fired)=u(fired)+d(fired);
I=I+sum(S(:,fired),2);
v=v+0.5*(0.04*v.^2+5*v+140-u+I); % step 0.5 ms
v=v+0.5*(0.04*v.^2+5*v+140-u+I); % for numerical
u=u+a.*(b.*v-u); % stability
end
plot(firings(:,1),firings(:,2),'.');
参考文献
- Izhikevich, E. M. Simple model of spiking neurons. IEEE Trans Neural
Netw, 2003 (14): 1569-1572. - https://www.cnblogs.com/Flltju/p/10624693.html
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)