https://www.toutiao.com/a6701844289518830091/

主要讨论脉冲神经网络的拓扑结构、信息的脉冲序列编码方法、脉冲神经网络的学习算法和进化方法等。

一、脉冲神经网络的拓扑结构

同传统的人工神经网络一样,脉冲神经网络同样分为三种拓扑结构。它们分别是前馈型脉冲神经网络(feed-forward spiking neural network)、递归型脉冲神经网络(recurrent spiking neural network)和混合型脉冲神经网络(hybird spiking neural network)。

1. 前馈型脉冲神经网络

在多层前馈脉冲神经网络结构中,网络中的神经元是分层排列的,输入层各神经元的脉冲序列表示对具体问题输入数据的编码,并将其输入脉冲神经网络的下一层。最后一层为输出层,该层各神经元输出的脉冲序列构成网络的输出。输入层和输出层之间可以有一个或者多个隐藏层。

此外,在传统的前馈人工神经网络中,两个神经元之间仅有一个突触连接,而脉冲神经网络可采用多突触连接的网络结构,两个神经元之间可以有多个突触连接,每个突触具有不同的延时和可修改的连接权值。多突触的不同延时使得突触前神经元输入的脉冲能够在更长的时间范围对突触后神经元的脉冲发放产生影响。突触前神经元传递的多个脉冲再根据突触权值的大小产生不同的突触后电位。

2. 递归型脉冲神经网络

递归型神经网络不同于多层前馈神经网络和单层神经网络,网络结构中具有反馈回路,即网络中神经元的输出是以前时间步长上神经元输出的递归函数。递归神经网络可以模拟时间序列,用来完成控制、预测等任务,其反馈机制一方面使得它们能够表现更为复杂的时变系统;另一方面也使得有效学习算法的设计及其收敛性分析更为困难。传统递归人工神经网络的两种经典学习算法分别为实时递归学习(real-time recurrent learning)算法和随时间演化的反向传播(backpropagation through time)算法,这两种算法都是递归地计算梯度的学习算法。

递归脉冲神经网络是指网络中具有反馈回路的脉冲神经网络,由于其信息编码及反馈机制不同于传统递归人工神经网络,由此网络的学习算法构建及动力学分析较为困难。递归脉冲神经网络可应用于诸多复杂问题的求解中,如语言建模、手写数字识别以及语音识别等。递归脉冲神经网络可分为两大类:全局递归脉冲神经网络(fully recurrent spiking neural network);另一类是局部脉冲神经网络(locally recurrent spiking neural network)。

3. 混合型脉冲神经网络

混合型脉冲神经网络即包括前馈型结构,又包含递归型结构。

二、信息的脉冲序列编码方法

从神经科学的角度来看,第二代人工神经网络是一种基于“发放频率”的神经元计算方式。随着研究的深入,神经科学家指出生物神经系统采用神经元的脉冲时序来编码信息,而不仅仅是用神经元脉冲的“发放频率”来编码信息。实际上,神经元的脉冲发放频率不能完全捕获脉冲序列中包含的信息。例如,已经发现初级听觉皮层神经元群体能在短时间内通过分组相邻脉冲来协调动作电位的相对时间,并没有改变每秒发放的脉冲数量,这样,神经元甚至可以在平均发放频率没有改变的情况下给出特定的刺激信号。

更具有生物可解释性的脉冲神经网络,采用精确定时的脉冲序列来编码神经信息。神经网络内部的信息传递是由脉冲序列完成的,脉冲序列是由离散的脉冲时间点组成的时间序列,因此,在进行脉冲神经网络的模拟与计算时,包含以下步骤:①当输入数据或神经元受到外界刺激时,经过特定的脉冲序列编码方法,可将数据或外界刺激编码成特定的脉冲序列;②脉冲序列在神经元之间传递并经过一定的处理,处理之后将输出的脉冲序列通过特定的解码方法进行解码并给出具体的响应。

对于神经信息的脉冲序列编码问题,借鉴生物神经元的信息编码机制,研究者提出了许多脉冲神经网络的脉冲序列编码方法。例如,首脉冲触发时间编码方法、延迟相位编码方法、群体编码方法等。

三、脉冲神经网络的学习算法

学习是人工智能领域的核心问题,对于SNN来说,基于脉冲时间层次的学习方法研究,对于通过理论模型来验证生物神经系统的信息处理和学习机制是必须的。通过生物可解释的方式建立人工神经系统,科学家希望可以通过神经科学和行为实验来达到预期目的。大脑中的学习可以理解为突触连接强度随时间的变化过程,这种能力称为突触可塑性(synaptic plasticity)。脉冲神经网络的学习方式主要包括无监督学习(unsupervised learning)、监督学习(supervised learning)和强化学习(reinforcement learning)等。

1. 无监督学习算法

无监督学习算法在人类和动物的学习中占据主导地位,人们通过观察能够发现世界的内在结构,而不是被告知每一个客观事物的名称。人工神经网络无监督学习算法的设计主要是针对无标签数据集的训练,要求应用无监督学习规则对神经网络中的连接权值或结构进行自适应的调整。也就是说,在没有“教师”信号的监督下,神经网络必须自己从输入数据中发现规律性(如统计特征、相关性或类别等),并通过输出实现分类或决策。一般来说,只有当输入数据集中存在冗余性时,无监督学习才有意义,否则,无监督学习不能很好地发现输入数据中的任何模式或特征,即冗余性提供了知识。

脉冲神经网络的无监督学习算法大多是借鉴传统人工神经网络的无监督学习算法,是在Hebb学习规则不同变体的基础上提出的。神经科学的研究成果表明,生物神经系统中的脉冲序列不仅可引起神经突触的持续变化,并且满足脉冲时间依赖可塑性(spike timing-dependent plasticity,STDP)机制。在决定性时间窗口内,根据突触前神经元和突触后神经元发放的脉冲序列的相对时序关系,应用STDP学习规则可以对突触权值进行无监督方式的调整。

2. 脉冲神经网络的监督学习

脉冲神经网络的监督学习是指对于给定的多个输入脉冲序列和多个目标脉冲序列,寻找脉冲神经网络合适的突触权值矩阵,使神经元的输出脉冲序列与对应的目标脉冲序列尽可能接近,即两者的误差评价函数最小。对于脉冲神经网络来说,神经信息以脉冲序列的形式表示,神经元内部状态变量及误差函数不再满足连续可微的性质,构建有效的脉冲神经网络监督学习算法非常困难,同时也是该领域的一个重要的研究方向。

根据监督学习所采用的基本思想不同,可以将现有的监督学习算法分为三类:

  1. 基于梯度下降的监督学习算法的基本思想是利用神经元目标输出与实际输出之间的误差以及误差反向传播过程,得到梯度下降计算结果作为突触权值调整的参考量,最终减小这种误差。基于梯度下降的监督学习算法是一种数学分析方法,在学习规则的推导过程中,要求神经元模型的状态变量必须是有解析的表达式,主要采用固定阈值的线性神经元模型,如脉冲响应模型(spike response model)和Integrate-and-Fire神经元模型等。
  2. 基于突触可塑性的监督学习算法的基本思想是利用神经元发放脉冲序列的时间相关性所引起的突触可塑性机制,设计神经元突触权值调整的学习规则,这是一种具有生物可解释性的监督学习。
  3. 基于脉冲序列卷积的监督学习算法通过脉冲序列内积的差异构造脉冲神经网络的监督学习算法,突触权值的调整依赖于特定核函数的卷积计算,可实现脉冲序列时空模式的学习。

3. 脉冲神经网络的强化学习

强化学习是从环境状态到行为映射的学习,以使智能体行为从环境中获得的累积奖赏值最大。基于生物启发的学习机制,人工神经网络强化学习的研究重点在于探索智能体的自适应优化策略,是近年来神经网络和智能控制领域的主要方法之一。强化学习关注的是智能体如何在环境中采取一系列行为,通过强化学习,一个智能体应该知道在什么状态下应该采取什么行为。可以看到,强化学习和监督学习的区别主要在于以下两点:

  1. 强化学习是试错学习,由于没有直接的“教师”指导信息,智能体要不断与环境交互,通过试错的方式来获得最佳策略;
  2. 延迟回报,强化学习的指导信息很少,而且往往是在事后(最后一个状态)才给出的,这就导致了一个问题,即获得正回报或者负回报以后,如何将汇报分配给前面的状态。

四、脉冲神经网络的进化方法

进化算法(evolutionary algorithm)是模拟生物进化过程的计算模型,是一类基于自然选择和遗传变异等生物进化机制的全局性概率搜索算法,主要包括遗传算法(genetic algorithm)、进化规划(evolutionary programming)和进化策略(evolutionary strategy)等。虽然这些算法在实现方面具有一些差别,但它们具有一个共同的特点,即都是借助生物进化的思想和原理来解决实际问题的。

将进化算法与脉冲神经网络有机结合起来,研究者开辟了进化脉冲神经网络(evolutionary spiking neural network)的研究领域,以提高对复杂问题的求解能力。进化脉冲神经网络可以作为自适应系统的一种一般性框架,在没有人为干预的情况下系统自适应调整神经元的参数、连接权值、网络结构和学习规则。

脉冲神经网络(SNN)概述相关推荐

  1. 第三十二课.脉冲神经网络SNN

    目录 时间驱动与事件驱动 时间驱动 事件驱动 基于时间驱动的脉冲神经元 spikingjelly:LIF神经元 实验仿真 时间驱动与事件驱动 时间驱动 为了便于理解时间驱动,我们可以将SNN(spik ...

  2. 脉冲神经网络SNN流片验证类脑芯片

    面对国内芯片设计厂家,提供开发板验证业务,测试芯片性能,如某高校的SNN芯片. AI边缘计算.视觉基础平台的研发,以FPGA.DSP.ARM为处理器,形态包括 VPX.CPCI-E,主要专注于边缘AI ...

  3. 如何看待第三代神经网络SNN?详解脉冲神经网络的架构原理、数据集和训练方法 原创

    作者丨科技猛兽 编辑丨极市平台 本文首发于极市平台公众号,转载请获得授权并标明出处. 本文目录 1 脉冲神经网络简介 2 脉冲神经网络原理 3 脉冲神经网络数据集 4 脉冲神经网络训练方法 5 脉冲神 ...

  4. 脉冲神经网络克服了类脑计算的硬件障碍,让AI更节能

    图源:海德堡大学 人工神经网络是如今最成功的人工智能(AI)算法,它的基本构成是按照我们大脑真实神经网络的处理模式,一般来说,隐藏层越多,越复杂,网络精度就越高.但基于计算机运行的人工神经网络会消耗惊 ...

  5. 脉冲神经网络_【强基固本】脉冲神经网络(SNN)

    "强基固本,行稳致远",科学研究离不开理论基础,人工智能学科更是需要数学.物理.神经科学等基础学科提供有力支撑,为了紧扣时代脉搏,我们推出"强基固本"专栏,讲解 ...

  6. 脉冲神经网络(SNN)论文阅读(三)-----高精度低时延的ANN转换SNN方法

    原文链接:CSDN-脉冲神经网络(SNN)论文阅读(三)-----高精度低时延的ANN转换SNN方法 Optimal ANN-SNN Conversion for High-accuracy and ...

  7. 脉冲神经网络:MATLAB实现脉冲神经网络(Spiking Neural Network,SNN) 用于图像分类(提供MATLAB代码)

    一.脉冲神经网络 脉冲神经网络 (Spiking Neural Network,SNN) ,是第三代神经网络.其旨在弥合神经科学和机器学习之间的差距,使用最拟合生物神经元机制的模型来进行计算,更接近生 ...

  8. 深度学习基础--不同网络种类--尖峰神经网络/脉冲神经网络(spiking neural network, snn)

    尖峰神经网络/脉冲神经网络(spiking neural network, snn)   是三代神经网络模型,属于计算神经科学,动物的神经网络大多是脉冲神经网络.   资料不多,而且大多是外文   本 ...

  9. SNN介绍-来自脉冲神经网络原理

    神经科学的一些实验证据表明,视觉与听觉等许多生物神经系统都采用神经元发放的动作电位(即脉冲)的时间来编码信息.针对这些问题,更加符合生物神经系统实际情况的第三代人工神经网络模型--脉冲神经网络应运而生 ...

最新文章

  1. 关于批量修改AD域用户的脚本
  2. 信息安全的一些东西,初步查询了解!
  3. centos查看cached内部文件
  4. MySQL server PID file could not be found!
  5. 初步了解BIM模型和超图相关操作
  6. 20155203 - 杜可欣 - 预备作业2
  7. SQL Server 2005: Constraints
  8. Java加密与解密的艺术~Security
  9. restful 风格 web api规范
  10. php eureka客户端,Spring Cloud(一)配置Eureka 服务器(示例代码)
  11. php中绘制图像的手册,推荐功能超级强大的PHP画图库JpGraph
  12. OpenCv平滑与模糊
  13. 深度学习之RNN、LSTM及正向反向传播原理
  14. Linux的学习之路grep命令
  15. 如何从0到1进行电商平台订单系统的搭建?
  16. RS232与TTL的区别
  17. 【转载】应聘总经理的答卷,供大家打分
  18. 【网站集合】【Windows】程序员常用网站一览
  19. 应用之星--完全免费的在线移动开发平台
  20. 【面试题】15.项目相关

热门文章

  1. udacity classmates pytorch基础用法总结
  2. 图灵访谈 | 微盟技术专家戴頔:永远行走在路上
  3. 学懂分析,玩转大数据
  4. Win10 + RTX3090 安装CUDA11.2 + CUDNN8.1.0 安装
  5. 区块链相关论文研读2 - vChain,关于可验证的查询
  6. Yann LeCun:未来几十年AI研究的最大挑战是「预测世界模型」
  7. 把握数据,驱动未来 | 清华大学大数据研究中心2020年RONG奖学金答辩会成功举办...
  8. PyTorch 1.3发布:能在移动端部署,支持Colab云TPU,阿里云上也能用
  9. 独家 | 基于知识蒸馏的BERT模型压缩
  10. 独家 | 基于TextRank算法的文本摘要(附Python代码)