最近在接触脉冲神经网络的基础知识,于是准备先了解几个常见的神经元。首先便是最经典的Hodgkin Huxley模型了。

目录

一、介绍

二、电路图

三、离子电流表征

四、代码实现


一、介绍

Hodgkin Huxley模型是Alan Hodgkin和Andrew Huxley在1952年描述的。两人通过测量鱿鱼巨型轴突中动作电位的对不同电流的反应,在没有计算机的情况下拟合出了一个模型。这个模型由一组四个常微分方程组成,虽然描述较为准确,但是计算复杂,不适合大范围仿真。

二、电路图

Hodgkin Huxley模型将细胞建立为如上图所示电路。其中脂质双层被表示为电容;钠、钾离子通道分别用一个电源和电导来表示(图中统一建立为电源和电导);泄露通道也用一个电源和电导来表示;最后产生的离子泵由电流表示;膜电位由电压表示。值得一提的是,其中钠、钾离子通道的电导与时间、电压相关,而泄漏通道的电导与他们不同,是恒定值。

由电路公式我们可以简单得知,流过脂质双层的电流大小为:

又由欧姆定律,对于钠、钾离子通道,其电流都可以表达为:

当然,因为膜内外离子分布不同,细胞外钠离子多,细胞内钾离子多,所以这里的两种电流的方向一定是相反的,二者的数值在符号上一定相反。泄漏电流的公式也与两者一样,所以不再表出。

由此,可以得到流过脂质双层的电流大小表达为:

三、离子电流表征

通过上一小节,我们可以了解到了流过脂质双层的电流大小的表达式。而Hodgkin Huxley通过一系列的实验,开发了一个模型,其中可兴奋细胞的特性由一组四个常微分方程表达。

其中为流经单位面积的电流。在该神经元模型中,每一个离子通道都由多个亚基控制,公式中的n、m、h分别对应钾离子通道亚基激活概率、钠离子通道亚基激活概率、钠离子通道亚基失活概率,因为在鱿鱼轴突中,例如钾离子通道由4个亚基控制,所以公式中要乘上3次方,其他几个乘方也是同理。而代表对应离子通道的最大电导率,乘上对应的概率之后,就得到了对应该时刻的电导率。

在下三个公式中,代表亚基从失活到激活的速率,代表亚基从激活到失活的速率,它们与这一时刻的膜电位相关。乘上对应激活亚基和失活亚基的比例,就可以得到这一时刻的变化量。

通过这四个公式,我们就可以较准确地表达出膜电位的生物特性。而在作者原论文中,给出了的表达式。

其中,

而关于形如的方程,我们可以得到其解为:

其中

易知,t=0时,

当然,为了能让这个模型顺利运行起来,我们还需要其他参数。原论文中也给出了作者对这些参数的测量值,如下表所示。分别对应脂质双层的电容(),三种离子通道的静息电位(),三种离子通道的最大电导率(),以及静态膜电位()。

1 50 -77 -54.4 120 36 0.3 -65

接着我们就可以用代码来仿真这个神经元了。

四、代码实现

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline#参数定义
#平衡电位 单位mV
E_Na = 50.0
E_K = -77.0
E_L = -54.4
V_m = -65.0#最大电导 单位 mS/cm^2
g_Na = 120.0
g_K = 36.0
g_L = 0.3#脂质双层电容
C_m = 1
#单位时间
dt = 0.01#总时间
T = 40#每一时刻
t = np.arange(0, T, dt)V = np.zeros(len(t))
n = np.zeros(len(t))
m = np.zeros(len(t))
h = np.zeros(len(t))#输入电流
I = 0.0V[0] = V_m#计算n,m,h初始值
V_tmp = V[0]-V_m
alpha_n = (0.1 - 0.01 * V_tmp) / (np.exp(1 - 0.1 * V_tmp) - 1)
alpha_m = (2.5 - 0.1 * V_tmp) / (np.exp(2.5 - 0.1 * V_tmp) - 1)
alpha_h = 0.07 * np.exp(-V_tmp/20.0)beta_n = 0.125 * np.exp(-V_tmp / 80.0)
beta_m = 4 * np.exp(-V_tmp / 18.0)
beta_h = 1/(np.exp(3 - 0.1 * V_tmp)+1)n[0] = alpha_n / (alpha_n + beta_n)
m[0] = alpha_m / (alpha_m + beta_m)
h[0] = alpha_h / (alpha_h + beta_h)for i in range(1, len(t)):#计算alpha和betaV_tmp = V[i-1] - V_malpha_n = (0.1 - 0.01 * V_tmp) / (np.exp(1 - 0.1 * V_tmp) - 1)alpha_m = (2.5 - 0.1 * V_tmp) / (np.exp(2.5 - 0.1 * V_tmp) - 1)alpha_h = 0.07 * np.exp(-V_tmp/20.0)beta_n = 0.125 * np.exp(-V_tmp / 80.0)beta_m = 4 * np.exp(-V_tmp / 18.0)beta_h = 1/(np.exp(3 - 0.1 * V_tmp)+1)#计算delta_n, delta_m, delta_htau_n = 1.0/(alpha_n + beta_n)tau_m = 1.0/(alpha_m + beta_m)tau_h = 1.0/(alpha_h + beta_h)inf_n = alpha_n *tau_ninf_m = alpha_m *tau_minf_h = alpha_h *tau_h#更新 n,m,h,使用欧拉一阶近似法n[i] = n[i-1] + dt * (alpha_n * (1-n[i-1]) - beta_n * n[i-1])m[i] = m[i-1] + dt * (alpha_m * (1-m[i-1]) - beta_m * m[i-1])h[i] = h[i-1] + dt * (alpha_h * (1-h[i-1]) - beta_h * h[i-1])#更新电流I_Na = g_Na * (m[i] ** 3) * h[i] * (V[i-1] - E_Na) I_K  = g_K * (n[i] ** 4) * (V[i-1] - E_K)I_L  = g_L * (V[i-1] - E_L)dv = (I - (I_Na + I_K + I_L))*dt/C_mV[i] = V[i-1] + dvplt.clf()
plt.subplot(1,1,1)
plt.plot(t,V)
# 膜电位变化
plt.title('Membrane potential')
plt.legend(['V'])
plt.ylim([-100, 100])

接下来我们就可以设置不同大小、时间的电流,来给神经元刺激,观察神经元的膜电位变化情况。

将刺激电流设置为0,得到的图像如下:

可见,膜电位保持在-65mV静息电位。

当给予一个短而大的刺激电流时,膜电位会产生一个很明显的突变,图像如下:

如果持续一段时间地给予较大的电流刺激,膜电位就会在这段时间里持续地产生波形,图像如下:

但当持续一段时间地给予过大的电流刺激时,膜电位在产生一个突变之后便会保持一个比静息电位高的数值不变,直到刺激结束恢复静息电位,图像如下:

当给予神经元一次短而小的刺激时,并不能让膜电位突变到正值;但若短时间间隔内再次用小电流刺激后,膜电位反而会产生一次突变,图像如下:

通过不断改变电流的大小和时间,便可以探究神经元的不同特性了。

神经元模型 Hodgkin Huxley model相关推荐

  1. 2020年7月4日 随机过程大作业

    现在我知道了神经元模型主要是两种: 一个是Hodgkin–Huxley model ,特点是逼真,但计算量较大 另外一个是leaky integrate-and-fire model ,特点是计算量小 ...

  2. 人工神经网络和卷积神经网络_神经生理学和人工神经网络

    人工神经网络和卷积神经网络 I'm not a doctor in medicine, but I'm really fascinated by biology and especially how ...

  3. 深度学习笔记(一)——感知机模型(Perceptron Model)

    零.引言 感知机,也叫单层神经网络,是最基础的神经网络模型结构. 神经网络模型由生物神经中得到启发.在生物神经元细胞中,神经突触接收到信号,经过接收并处理信号后判断信号的信息强弱,来做出不同神经电位变 ...

  4. 窥探当今AI芯片中的类脑模型

    来源:脑人言 撰文丨邓 磊(加州大学-圣塔芭芭拉分校UCSB 博士后) 责编丨高茂森 Soma 排版丨夏獭 科学研究的动机,并非仅仅是出于能看到多酷炫的应用,而是因为我们尚有诸多未知世界需要探寻,这是 ...

  5. Central pattern generators(CPG)介绍

    声明: 本文基于Central pattern generators for locomotion control in animals and robots: A review更改得到; 首发与个人 ...

  6. 窥探当今AI芯片中的类脑模型(转)

    来源:脑人言 撰文丨邓 磊(加州大学-圣塔芭芭拉分校UCSB 博士后) 责编丨高茂森 Soma 排版丨夏獭 科学研究的动机,并非仅仅是出于能看到多酷炫的应用,而是因为我们尚有诸多未知世界需要探寻,这是 ...

  7. From detailed models to formal spiking neurons

    Reduction of the Hodgking-Huxley model type II Another way of approximation, compare to two phase an ...

  8. ISCA文献翻译:第三篇Efficient Digital Neurons for Large Scale Cortical Architectures

    摘要 数字神经元的实现目标是支持实现新大脑皮层计算范式的架构的研究和开发. 四个尖顶数字神经元在寄存器传输层以一种允许并排比较的方式被实现.其中两个神经元包含指数衰减的两个阶段,一个是突触电导衰减,另 ...

  9. 脉冲神经元的建模与分析

    一. 生物神经元结构及脉冲发放 生物神经系统中的信号是以细胞膜的电位变化来传导的.神经元细胞膜内外的电位有差别,外正内负,70-80mv.周围环境和内部变化可以引起膜电位的高低变化.但是这类变化当幅度 ...

  10. 解开神经科学中的交叉频率耦合

    跨频率耦合(Cross-frequency coupling, CFC)已被提出在空间和时间尺度上协调神经动力学.尽管它对理解健康和病理的大脑功能有潜在的意义,但标准的CFC分析和生理学解释仍然存在根 ...

最新文章

  1. 源码推荐:collectionView拖拽,仿凤凰FM iOS 局部监听键盘再也不会挡住输入框
  2. 第四范式先知(Sage)率先通过欧盟GDPR认证
  3. 第七篇:Spring Boot 整合_Thymeleaf 入门试炼 QuickStart
  4. c#12星座速配代码_原来12星座的软件工程师是这样的
  5. 详解Android核心模块及相关技术
  6. spring事件监听器系列一:应用
  7. Morketing Summit 2019“破·局”:有破有立,突破棋局 | MS2019灵眸·全球营销商业峰会全面启动!...
  8. php独孤九剑,(独孤九剑)--PHP 视频学习 -- 文件系统
  9. eclipse jdt
  10. 阿里arouter框架使用
  11. 【wechat】微信开发——自定义菜单
  12. 关于CloudXNS注册邮箱为网易的处理办法
  13. 动态链接库的路径及依赖
  14. P5445 [APIO2019]路灯
  15. python if里面的变量外面能用吗_for...in 中的局部变量, 为何能在外面使用?
  16. 宝姿教父的隐秘时尚帝国
  17. 诺基亚第3季度开售Lumia 610支持NFC技术(含视频)
  18. ae计算机安装步骤,ae插件怎么安装【设置步骤】
  19. 读了阮邵峰《外挂代练是什么罪?》《南京外挂代练案的二审判决》系列文章有感
  20. 贪吃蛇php源代码,GitHub - fusijie/Snake: CocoaChina Cocos2d-x编程大战:贪吃蛇源码汇总...

热门文章

  1. 创建海思Hi3559a音视频同时播放的例子
  2. 09-新闻发布系统数据库-管理角色数据操作
  3. Origin 2022b | 更新及安装 | 中英文切换
  4. 51开发板的功能及简单使用
  5. 《C》C语言实现FFT算法
  6. html5毕业论文总结,毕业论文小结(精选多篇)
  7. c语言怎么学自学,初学者如何学习c语言,带你玩转C语言
  8. 网络规划设计和具体实施
  9. 打开和关闭 Oralce PDB数据库
  10. 区块链技术驱动商业银行开展供应链金融业务的创新路径