LIF模型

Leaky integrity-Fire(LIF)模型

输入信号直接影响神经元的状态,即神经元膜电位,只有当膜电位上升到阈值的时候,才会产生输出信号。

  • 膜电位:细胞膜两侧的电位差。只有当膜电位到达阈值的时候,才会发送脉冲信号,影响下一个神经元。
  • 动作电位:细胞膜受到外界刺激之后产生的电位变化。
  • 静息电位:细胞膜未收到外界刺激的时候的电位。
  • 过程:细胞膜受到脉冲刺激之后,变化过程为\(极化\to 去极化 \to 阈值\to 再极化\to 超极化\to 极化\to 不应期\)

基本思想:如果上一个神经元输入不超过阈值的时候,获得的电位会回到静息状态;如果神经元接收到的脉冲进行积分之后到达阈值,会发射一个脉冲信号,对下一个神经元进行刺激,激发之后会引起不应期,即使给予刺激也不会给出相应的反应。


公式

\(q=\int I(t)dt\) 细胞膜电位积累,给细胞膜充电的过程

细胞膜的等效电流公式:

\(I(t)=I_R+I_C\)

\(I_C=C\frac{du(t)}{dt}\)

\(I_R=\frac{u(t)-u_{res}}{R}\)

\(RC\dot{u}(t)+u(t)-RI(t)=0\)

对方程进行求解:

\(u(t)=RI(t)+C_1e^{-\frac{t}{RC}}\)

计算\(t=0\)的时候,\(u(t)=u_0\),\(C_1\)的值为:

\(C_1=u_0-RI(t)\)

最终得出:

\(u(t)=RI(t)+[u_0-RI(t)]e^{-\frac{t}{RC}}\)

如果\(I(t)=0\),则\(u(t)=u_0e^{-\frac{t}{RC}}\)

如果要输入给计算机计算,则需要进行离散化和递归求解:

\(\tau\frac{du(t)}{dt}=-u(t)+RI(t)\)

\(\tau\frac{u(t+\Delta t)-u(t)}{\Delta t}=-u(t)+RI(t),\Delta t\to 0\)

\(u(t+\Delta t)=u(t)+\frac{\Delta t}{\tau}[-u(t)+RI(t)]\)


仿真参数设计

仿真步长:0.001

初始状态:\(I(0)=0\)

\(R=5\times 10^{7}\)

\(C=1\times 10^{-10}\)


Python实现

import matplotlib.pyplot as plt
def LIF(u,R=5e7,C=1e-10,I=0,step_time=1e-3):
u = u + step_time/(R*C)*(-u + R*I)
return u
u = 0.9
num_step = 100
u_trace = []
for step in range(num_step):
u_trace.append(u)
u = LIF(u)
plt.plot(u_trace)
plt.xlabel("Time step")
plt.ylabel("Membrane Potential")
plt.title("LIF")
plt.xlim([0, 50])
plt.ylim([0, 1])
plt.show()

SNN_LIF模型的更多相关文章

  1. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  2. ASP.NET Core MVC/WebAPi 模型绑定探索

    前言 相信一直关注我的园友都知道,我写的博文都没有特别枯燥理论性的东西,主要是当每开启一门新的技术之旅时,刚开始就直接去看底层实现原理,第一会感觉索然无味,第二也不明白到底为何要这样做,所以只有当你用 ...

  3. ASP.NET路由模型解析

    大家好,我又来吹牛逼了 ~-_-~ 转载请注明出处:来自吹牛逼之<ASP.NET路由模型解析> 背景:很多人知道Asp.Net中路由怎么用的,却不知道路由模型内部的运行原理,今天我就给大家 ...

  4. 高性能IO模型浅析

    高性能IO模型浅析 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型. (2)同步非阻塞IO(Non-blocking  ...

  5. 探索ASP.NET MVC5系列之~~~4.模型篇---包含模型常用特性和过度提交防御

    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...

  6. 隐马尔科夫模型python实现简单拼音输入法

    在网上看到一篇关于隐马尔科夫模型的介绍,觉得简直不能再神奇,又在网上找到大神的一篇关于如何用隐马尔可夫模型实现中文拼音输入的博客,无奈大神没给可以运行的代码,只能纯手动网上找到了结巴分词的词库,根据此 ...

  7. webapi - 模型验证

    本次要和大家分享的是webapi的模型验证,讲解的内容可能不单单是做验证,但都是围绕模型来说明的:首先来吐槽下,今天下午老板为自己买了套新办公家具,看起来挺好说明老板有钱,不好的是我们干技术的又成了搬 ...

  8. 谈谈一些有趣的CSS题目(二)-- 从条纹边框的实现谈盒子模型

    开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...

  9. 【NLP】蓦然回首:谈谈学习模型的评估系列文章(一)

    统计角度窥视模型概念 作者:白宁超 2016年7月18日17:18:43 摘要:写本文的初衷源于基于HMM模型序列标注的一个实验,实验完成之后,迫切想知道采用的序列标注模型的好坏,有哪些指标可以度量. ...

  10. 【NLP】揭秘马尔可夫模型神秘面纱系列文章(一)

    初识马尔可夫和马尔可夫链 作者:白宁超 2016年7月10日20:34:20 摘要:最早接触马尔可夫模型的定义源于吴军先生<数学之美>一书,起初觉得深奥难懂且无什么用场.直到学习自然语言处 ...

随机推荐

  1. Django: AttributeError: 'str' object has no attribute 'decode'

    Django安装Mysql驱动 pip install PyMySQL 在Django的工程同名子目录的__init__.py文件中添加如下语句 from pymysql import install ...

  2. 【教程】青少年CTF机器人使用教程

    前言 本期教程适用于版本号为2.0.1-Beta的青少年CTF机器人,其他版本可能与当前版本不同. 由于之前版本的机器人重构,所以我们细化了本次的机器人逻辑,并且对机器人的功能进行了一些升级. 机器人 ...

  3. [golang]使用logrus自定义日志模块

    简介 logrus是一个第三方日志库,性能虽不如zap和zerolog,但方便易用灵活.logrus完全兼容标准的log库,还支持文本.JSON两种日志输出格式. 特点 相较于标准库,logrus有更 ...

  4. 部署安装maven和mvnd

    前言 maven是常见的java构建工具,优点是稳定可靠,缺点是构建太慢,maven-mvnd是maven的强化版,致力于提高构建速度,默认情况下,mvnd 使用多核CPU并行构建. 常见的java构 ...

  5. 【go笔记】简单的http服务

    前言 Go语言通过内置的标准库net/http可以非常方便地实现web服务.不借助任何框架,单凭标准库,50行代码内即可实现简单的web服务. http的ListenAndServe()函数原型: f ...

  6. C#性能优化-树形结构递归优化

    前言 大家好,我是wacky,最近在工作中遇到一个有趣的问题,同事反馈说WPF中有一个树形结构的集合,在加载时会直接报堆栈溢出,一直没时间(懒得)看,导致很久了也没人解决掉.于是,组长就把这个&quo ...

  7. 二代水务系统架构设计分享——DDD+个性化

    系统要求 C/S架构的单体桌面应用,可以满足客户个性化需求,易于升级和维护.相比于一代Winform,界面要求美观,控件丰富可定制. 解决方案 依托.Net6开发平台,采用模块化思想设计(即分而治之的 ...

  8. 利用IPV6随时访问家中影音Jellyfin

    本文章主要记录通过ipv6实现家庭影音中心在互联网上的访问. 之前很多方案都是通过第三方进行内网穿透,实际体验不是很好.目前ipv6发展迅速,完全可以取代这种以ipv4为中心的内网资源外网访问的方式. ...

  9. 《数据结构-C语言》顺序表

    @ 目录 顺序表 结构定义 初始化 创建表 求表长 判断表是否为空 取值 查找 插入 删除 逆置 清空 销毁 遍历打印 测试 顺序表 结构定义 #include <stdio.h> #in ...

  10. C++算法之旅、04 基础篇 | 第一章

    常用代码模板1--基础算法 - AcWing ios::sync_with_stdio(false) 提高 cin 读取速度,副作用是不能使用 scanf 数据输入规模大于一百万建议用scanf 快速 ...