首页 > 其他分享 >脉冲神经网络理论基础(1)

脉冲神经网络理论基础(1)

时间:2023-07-20 16:44:39浏览次数:48  
标签:tau 动作电位 突触 理论 脉冲 电位 神经网络 神经元

神经元的基本结构(高中生物x)

截屏2023-07-20 下午4.31.35

图源wiki。

接收区(receptive zone):为树突(dendrite)到胞体(soma)的部分。在计算建模时,往往把树突作为接受区看待。树突接受突触前神经元的信号,在ANN结构中表现为当前神经元接受前一层的输入,并以突触的权重进行加权和。

触发区(trigger zone):为细胞体与轴突交接的部分,即轴丘(axon hillock)。在计算建模时,将胞体作为触发区看待。这一部分决定是否产生动作电位,在ANN中对应于激活函数。

传导区(conducting zone):为轴突(axon),动作电位的电信号传导的线路。

输出区(output zone):在神经末梢通过突触结构完成电-化学转换,对应于ANN结构中的权值(大约是)。

泄漏发放模型(Leaky Integrate-and-Fire, LIF)

Integrate-and-Fire

参考Neuronal Dynamics: From Single Neurons to Networks and Models of Cognition。这本书做得挺完善的,是一本免费的线上书,并且在网站上有配套的jupyter notebook和视频。网站在https://neuronaldynamics.epfl.ch/index.html。

Integrate-and-Fire的定义是:

Neuron models where action potentials are described as events are called “integrate-andfire” models. No attempt is made to describe the shape of an action potential.

这样假设的前提是,神经元发出的脉冲在形状上都差不多,不太可能在脉冲的形状上承载信息。做出这个假设之后,一个脉冲实际上被简化成一个"event",即一个“事件”,是时间轴上的一个点。

这个模型中需要描述的有两件事情:(1)突触后电位如何随时间变化;(2)何种条件下触发动作电位。

考虑一个神经元\(j\)对一个神经元\(i\)传递脉冲的过程。记录一个函数\(\epsilon_{ij}(t)\),表示如果神经元\(i\)对神经元\(j\)在\(t=0\)时刻开始发出脉冲,脉冲值随时间的变化。(实际上就是记录脉冲本身形状的一个函数)在达到触发动作电位的阈值\(\theta\)之前,我们认为突触后神经元接受到的信号直接进行累加,即

\[u_i(t)=\sum_{j}\sum_{f}\epsilon_{ij}(t-t_j^f)+u_{rest} \]

两重求和表示对于不同的突触前神经元、同一神经元发出的不同脉冲进行求和。上标\(f\)表示神经元电位达到\(\theta\)的时刻,即

\[u_j(t_j^f)=\theta,u_j'(t_j^f)\gt0 \]

Leaky Integrate-and-Fire

LIF模型用一个一阶动力学方程来描述突触后电位的变化,在电位超过一定阈值时触发动作电位。

LIF认为当突触前神经元的电信号传导到突触后时,电荷肯定要有去向。将突触后神经元看作电容\(C\),这一部分电荷首先充入电容。随后这一部分电荷会泄漏出去,将突触后神经元看作电阻\(R\)。于是整个过程抽象成以下电路:

截屏2023-07-20 下午4.32.13

然后就是电学原理进行一个乱推,得到本质上是一个欧姆定律的等式:

\[\tau_m\frac{\mathrm{d}u}{\mathrm{d}t}=-(u(t)-u_{rest})+RI(t), \tau_m=RC \]

如果撤去输入\(I(t)=0\),显然会得到一个负指数衰减的结果。

这是第一部分的内容。对于动作电位的触发,根据Integrate-and-Fire的假设,本质上就是一个Dirac \(\delta\)-函数。所以,在达到临界值之后,

\[\lim_{\delta\rightarrow0^+}u(t^f+\delta)=u_r,u_r<\theta \]

\(u_r\)并不是静息电位,它应该比静息电位来得更小,以模拟超极化和不应期。此后,电位继续遵循上述微分方程变化。

突触可塑性(synaptic plasticity)

生物原理

突触可塑性是神经元之间通过改变连接的强度从而进行学习的性质。

赫布规则(Hebb Rule):

当A细胞重复或持续地参与激活B细胞时,两个细胞间会发生某种生长过程或代谢变化,使得A细胞激活B细胞的效率得到提高。换言之,同时激活的细胞将彼此相连。

赫布规则将神经元群的协同表现缩小定位到单个突触当中。两个神经元之间联系的改变可以体现在长时程增强作用(long-term potentiation, LTP),或者长时程抑制作用(long-term depression, LTD)上。

LTP最早于1966年,在对海马体对短期记忆的研究中发现。具体表现为如果对突触前神经元进行高频率的刺激,后续再对突触前神经元施加单个刺激时,兴奋性的突触后电位会变得更强烈、延续时间更长。LTD则是相反的过程。LTD的性质可以从下面的STDP数学描述中看出来。

“同时激活的细胞将彼此相连”的说法还没有考虑到时间上的因素,在一定的时间窗口内,突触前-突触后的神经元释放会引起LTP,相反的顺序会引起LTD。这种现象称为脉冲时间相关的突触可塑性(spike-timing dependent plasticity, STDP)。

STDP作为一种可塑性规则,同时也作为一种无监督学习的权重调整原理。数学描述如下:

\[\Delta w_{ij} = \begin{cases}a^+e^{\frac{t_j-t_i}{\tau^+}}, t_j-t_i\ge0\\a^-e^{\frac{t_i-t_j}{\tau^-}},t_j-t_i\lt0 \end{cases} \]

使用了指数衰减对时间间隔的影响进行建模,实践上可能还会进一步简化。\(a^+,a^-\)刻画了LTP和LTD激活的程度,\(\tau^+,\tau^-\)刻画了两者的时间窗口。

除了突触前后的神经元活动之外,神经调质(neuromodulator)也会影响突触的可塑性。关于神经调质的解释参考:https://www.news-medical.net/health/What-is-Neuromodulation.aspx。神经调质的构成物质是神经递质的子集,但与神经递质不同,神经调质作用于很多而非单个神经组织,从而能够影响到整个大脑区域的活动。神经调质作为在学习过程中调控整体网络的权重的物质存在。

数据格式转换

原始数据到脉冲数据

这是在Rethinking the performance comparison between SNNS and ANNS中看到的。这篇文章采用的例子是图像的处理。

文中介绍的方法是随机采样(Probablistic sampling)。对于每一个像素点,考察像素强度(pixel intensity, 我也不是很清楚什么叫像素强度,没学过数字图像处理orz),并将其归一化作为概率使用。在每一个时间步,每一个像素点采到的或者为0或者为1,为1的概率即为这个概率。

这种做法会在短的时间窗口上造成精度损失(?),更进阶的做法是在图像输入与脉冲输出之间构造一层全连接,使其能够感受到全局的特征。这层全连接的输入是ANN数据,输出是脉冲数据。(就挺怪的)

脉冲数据到原始数据

我理解起来感觉没什么好说的,就是延时间方向进行展开,然后进行聚合。我觉得它讨论的应该是灰度图。

先写到这,脑子受不了了qwq

标签:tau,动作电位,突触,理论,脉冲,电位,神经网络,神经元
From: https://www.cnblogs.com/undermyth/p/17568797.html

相关文章

  • 卷积神经网络
    ConvolutionalNeuralNetwork(CNN卷积神经网络)解释一应用于Imageclassification(图像分类)一张图片如何作为一个模型的输入:一张图片可以当成三维的Tensor(维度大于等于2的矩阵),三维分别代表图片:宽、高、channels(宽高代表像素,channels代表RGB三色) 参数过多,模型弹......
  • matlab怎么使用BP神经网络知乎
    使用BP神经网络解决二分类问题问题描述假设我们有一个数据集,其中包含一些二维点的坐标和它们对应的标签。我们想要训练一个神经网络来对新的点进行分类,即判断它们属于哪个类别。解决方案为了解决这个问题,我们可以使用BP神经网络。BP神经网络是一种经典的人工神经网络,通过反向传......
  • MATLAB用GARCH-EVT-Copula极值理论模型VaR预测分析股票投资组合|附代码数据
    全文链接:http://tecdat.cn/?p=30426最近我们被客户要求撰写关于GARCH-EVT-Copula的研究报告,包括一些图形和统计输出。对VaR计算方法的改进,以更好的度量开放式基金的风险。本项目把基金所持股票看成是一个投资组合,引入Copula来描述多只股票间的非线性相关性,构建多元GARCH-EVT-Cop......
  • 深度学习(七)——神经网络的卷积操作
    卷积操作一、torch.nn中ConvolutionLayers函数的介绍1.参数介绍nn.Conv1d:Conv取自Convolution的前四个字母,1d代表的是一个一维操作。nn.Conv2d:2d表示是一个二维的操作,比如图像就是一个二维的。其余参数不常用,见官网文档:torch.nn—PyTorch2.0documentation......
  • 单层反馈神经网络
    如何实现单层反馈神经网络简介单层反馈神经网络(Single-layerFeedforwardNeuralNetwork)是一种最简单的神经网络模型,也叫感知机(Perceptron)。它由输入层、输出层和一个称为激活函数的非线性函数组成,可以用于二分类或多分类问题。本文将介绍如何使用Python实现单层反馈神经网络。......
  • 神经网络与机器学习邱锡鹏
    如何实现神经网络与机器学习邱锡鹏作为一名经验丰富的开发者,我将以一种简洁明了的方式来教会你如何实现"神经网络与机器学习邱锡鹏"。下面是整个流程的步骤概述:步骤说明1.数据准备收集、清洗和准备数据2.特征工程对数据进行预处理和特征提取3.神经网络建模......
  • 神经网络结构图工具
    如何实现神经网络结构图工具作为一名经验丰富的开发者,我很高兴能够教会你如何实现一个神经网络结构图工具。在本文中,我将为你提供一个详细的步骤,以及每一步需要做什么和相应的代码示例。让我们开始吧!步骤一:项目初始化首先,我们需要创建一个新的Python项目,并初始化一个虚拟环境来......
  • 神经网络降噪演示
    神经网络降噪演示介绍神经网络降噪是一种常用的图像处理技术,通过训练神经网络来去除图像中的噪声。本文将介绍神经网络降噪的原理,并通过一个代码示例演示如何使用Python实现神经网络降噪。原理神经网络降噪通常包括两个步骤:训练和应用。在训练阶段,我们使用一组带有噪声的图像......
  • 神经网络分类模型
    神经网络分类模型神经网络是一种模仿人类神经系统构造的人工智能模型。它由多个神经元组成的层级结构,每个神经元通过输入信号的加权和进行激活,传递给下一层的神经元。神经网络模型可以用于各种机器学习任务,包括分类、回归和聚类等。本文将重点介绍神经网络在分类任务中的应用,并提......
  • 训练类神经网络
    结果不理想的检查步骤情况一:模型问题所设的模型不包含要找的函数;需要重新修改模型可以增加模型中特征值,或者增加层数(DeepLearning),以增加模型的复杂度情况二:优化(optimization)没做好没有找到模型中解决问题的最好的方法如何判断问题出自情况一还是二:上图右边......