脉冲神经网络 神经元模型-Izhikevich模型(3)

脉冲神经网络 神经元模型-Izhikevich模型

一 原理

之前的两篇博客分别介绍了HH模型和IF模型,其中HH模型过于复杂,不适合大规模仿真;IF模型过于简答,脉冲发射模式过于单一。因此,在2003年,Eugene M. Izhikevich提出了Izhikevich模型,简化HH模型同时具有大量的发射模式。

1.模型

通过对HH模型进行分岔分析,并结合IF模型的计算效率,Izhikevich提出了二维脉冲神经元模型:
d V / d t = 0.04 V 2 + 5 V 1 40 − U + I \mathrm{d}V/\mathrm{d}t = 0.04V^2+5V_140-U+I dV/dt=0.04V2+5V140U+I
d U / d t = a ( b V − U ) \mathrm{d}U/\mathrm{d}t=a(bV-U) dU/dt=a(bVU)
如果神经元的膜电位 V ≥ V\geq V 30mV,辅助的复位机制为:
V ⟵ V \longleftarrow Vc
U ⟵ U \longleftarrow UU+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),'.');

参考文献

  1. Izhikevich, E. M. Simple model of spiking neurons. IEEE Trans Neural
    Netw, 2003 (14): 1569-1572.
  2. https://www.cnblogs.com/Flltju/p/10624693.html

你可能感兴趣的:(脉冲神经网络)