Spiking Neural Networks Hardware Implementations and Challenges A Survey


在这里插入图片描述

abstract:

​ Neuromorphic computing is henceforth a major research field for both academic and industrial actors. As opposed to Von Neumann machines, brain-inspired processors aim at bringing closer the memory and the computational elements to efficiently evaluate machine learning algorithms. Recently, spiking neural networks, a generation of cognitive algorithms employing computational primitives mimicking neuron and synapse operational principles, have become an important part of deep learning. They are expected to improve the computational performance and efficiency of neural networks, but they are best suited for hardware able to support their temporal dynamics. In this survey, we present the state of the art of hardware implementations of spiking neural networks and the current trends in algorithm elaboration from model selection to training mechanisms. The scope of existing solutions is extensive; we thus present the general framework and study on a case-by-case basis the relevant particularities. We describe the strategies employed to leverage the characteristics of these event-driven algorithms at the hardware level and discuss their related advantages and challenges.

神经形态计算从此成为学术界和工业界的一个主要研究领域。与冯·诺依曼机器相反,脑灵感处理器旨在将记忆和计算元素结合起来,以有效评估机器学习算法。最近,峰值神经网络, 使用模拟神经元和突触的计算原语的一代认知算法运算原理,已经成为深度学习的重要组成部分。 他们有望改善神经网络的计算性能和效率,但它们最适合硬件能够支持他们的时间动态。在本调查中,我们介绍了硬件实现的现状以及从模型选择到训练的算法阐述的当前趋势机制。 现有解决方案的范围很广; 因此,我们提出了总体框架和研究具体情况具体分析相关的特殊性。我们描述了在硬件级别利用这些事件驱动算法的特性所采用的策略,并讨论了它们的相关优势和挑战。


1、Introduction
  • 传统的冯诺依曼计算机架构评估神经网络算法需要大量的时间和能耗。

  • 需要对低功耗硬件和算法进行协同设计。

  • 由于事件驱动的稀疏性,SNN可以简单的实现低功耗硬件评估。(但现在不清楚SNN的硬件实现是否有效)


2、SNN WORKING PRINCIPLES
2.1 Introduction to Neural Networks :

ANN的两个特点:

  1. 作为非线性通用逼近器的潜力。
  2. 训练ANN的可行性。

在这里插入图片描述

生物神经元的示意图
在这里插入图片描述

全连接神经网络示意图

在这里插入图片描述

  • 后神经元对从前神经元到来的激活值 x x x和其对应的突触权重 w w w进行乘加操作并向结果加上一个 b b b的偏移项。

在这里插入图片描述

峰值神经元的示意图

SNN的一般设计规则:

  • 当一个突触从它的突触前神经元接收到动作电位,也被称为脉冲,它就会发出突触后电位(PSP),从而产生刺激突触后神经元的膜电位。神经元膜电位是输入突触刺激的函数,并随时间而演化。如果电位超过一个阈值,突触后神经元就会激活(也就是说,它会以脉冲的形式发出动作电位)。

Maass认为,在机器学习应用中,SNN应该能够与正式神经网络(而不是脉冲神经网络)的计算能力进行竞争并超越。在这篇文章中,Maass比较了实现一个功能所需的单元数,并证明了通过使用脉冲神经元,任何功能所需的单元数都是相同的,而特定功能所需的单元数可能更少。

2.2 Information Representation Using Spiking Neurons :

在这里插入图片描述

编码类型

使用脉冲的不同形式表示信息:

  1. 速率编码( r a t e   c o d i n g rate\ coding rate coding) : 在一个观察周期内发射脉冲的平均发射速率。
  2. t h e   t i m e   t o   f i r s t   s p i k e the\ time\ to\ first\ spike the time to first spike (TTFS) :其中激活强度与神经元的放电延迟成反比, 膜电位最高的神经元首先放电。
  3. i n t e r − s p i k e   i n t e r v a l inter-spike\ interval interspike interval (ISI) :连续尖峰之间的精确延迟。

Fairhall 等人认为真正的大脑交流利用了这三者编码方式的结合。

2.3 General Hardware Implementation Strategy

​ snn的仿真通常通过离散时间和评估每个神经元在每个算法时间步上的状态来实现。时间步长越短,模拟越精确,但持续时间越长。

​ 需要专用设备来加速SNN的计算。

nameBy
BrainScaleSa European Consortium
LoihiIntel
NeurogridStanford University
ROLLSInstitute of Neuroinformatics
SpiNNakerUniversity of Manchester
TrueNorthIBM

在这里插入图片描述

不同尺度下的神经形态硬件描述

​ 在输入/输出中,一个核通过地址事件表示(AER)协议,通过类似于片上网络(NoC)的通信方案,接收/发送峰值。只要路由器和控制电路能够管理AER请求,这种类型的体系结构是可扩展的。

在这里插入图片描述

神经形态硬件映射策略的两种不同算法

  1. 一个核计算神经网络中的一层。
  2. 每个神经核将计算神经网络层的一个子部分。

3、BRAIN-INSPIRED SNNS

人类大脑的860亿个神经元消耗约25W

大脑启发式计算目的:

  1. 利用神经科学的发现来实现低功耗机器学习,或者提高现有系统的性能,比如容错硬件。
  2. 在芯片上实现生物似然的动态元素,以加速神经科学研究或与真实的生物系统顺利交互。
3.1 Computation in the Brain :

LIF(leaky integrate and fire):

在这里插入图片描述

典型LIF神经元膜电位的时间演化

​ 当一个脉冲输入到神经元(即 x i ( t − 1 ) = 1 x_i (t−1)= 1 xi(t1)=1)时,与该脉冲相关的突触权重 w i w_i wi将被整合到细胞膜上。当膜电位 V m V_m Vm超过阈值 V t V_t Vt时,神经元启动(即 y i = 1 y_i = 1 yi=1)并重置其膜电位。然而,如果未达到不应期时间(即,从最后一个输出峰值开始的时间小于 T R T_R TR),神经元不放电,即使它的膜电位高于阈值。此外,由于泄漏,在两个输入峰值之间的泄漏速率下,膜电位持续下降。

LIF神经元的重要参数是膜阈值电压、复位电位、不应期和泄漏率。(可以使用复杂机制定义这些参数)

膜电压表达式:

在这里插入图片描述

输出表达式:

在这里插入图片描述

复位的两种方式:

  1. 将电势重置为恒定值 V r V_r Vr
  2. 从当前膜电势中减去重置值。

实现IF神经元所必需的电子元件包括用于集成的加法器、用于阈值检测的比较器和用于膜电位存储的存储器

突触模型:

  1. long-term potentiation (LTP)
  2. short-term potentiation (STP)

其他计算元件:

  1. CNN
  2. WTA(Winner-take-all)
  3. Neuron firing synchrony
  4. LSMs(liquid state machines)
3.2 Brain-Inspired Technologies :
  • 自主和鲁棒系统
  • 事件驱动的传感器

4、NEUROMORPHIC MACHINE LEARNING ACCELERATORS

模拟时间随网络的深度和模拟的时间分辨率而变化。

4.1 Core Organization for Low-Power SNN Evaluation :
  • 单个核心集成了PEs来评估神经元膜电位、存储突触值和神经元状态的记忆、接收和发射峰值的输入和输出接口以及控制电路。

  • 数字实现SNN只需要加法器,这与ANN的MAC运算符相比,大大降低了计算成本。但无论是时序信息(用于片上学习、泄漏和不应期机制)还是神经元状态变量(膜电位、阈值)都需要存储,这就需要补充存储器。

减小存储负载的方法:

  • 它在神经核内的分布,使用分层内存预加载数据,以及使用一种新型的非易失性内存(NVM)设备。
4.2 Reduced Communication Cost :

AER协议:

  • 它由在具有异步逻辑的数字总线上发送包含峰值神经元地址的唯一数据包组成。一旦神经元触发,它的地址就被发送到NoC,触发时间在异步总线上实时编码。
  • 首先, Boahen表明它可以减少网络总线的大小,同时保留大量的连接容量。因此,AER NoC对于面积的要求最低,可以进行大规模设计。除了将传输的数据包减少到单个地址之外,它还保证了小的延迟和功率(由于交换活动)开销。此外,SNN的神经元活动稀疏性削减了NoC活动,减少了网络上发送的数据包数量。
4.3 Leveraging High Sparsity of Dataflow :

比较ANN和SNN的一个主要问题来自于输入数据转换

4.4 Exploiting Fault Tolerance of Neural Networks :
  • 网络压缩和经典近似计算。
  • 在软件和硬件层面,都可以在功耗和速度方面取得重要的进步。
  • 网络压缩技术和近似计算是否可扩展并适用于任何任务是不确定的。
4.5 Crossbar Array With Memristive Devices :

在这里插入图片描述

the crossbar array:

​ 旨在将神经核的内存和神经元更新部分合并到单个单元中,从而实现速度和能量的增益,并真正实现非冯·诺依曼计算。

在这里插入图片描述

crossbar array 实现示意图

​ crossbar array由两条金属线以正交的方式交叉组成,在每一个交叉点的交叉点上有一个纳米电子设备模拟突触行为。一个方向代表突触前神经元的输出,另一个方向代表连接的突触后神经元。因此,模拟交叉棒阵列的操作包括在输入线上施加电压和读取相应输出线的电流。每个器件的电导(其电阻的倒数)象征着连接的突触权重,产生的电流按照基尔霍夫定律加在一起,点积被实现。

crossbar array特性:

  • 小。
  • 读写低功耗。
  • 稳定。

5、 THE DIFFICULTY OF TRAINING AN SNN

训练SNN的方法:

  • 将一个训练好的ANN转化为SNN
  • 采用生物启发的非监督学习
  • 使用其他监督算法
5.1 Study of Conversion ANN to SNN :

​ 起初,神经网络到SNN的转换并不简单,因为峰值神经元的行为与具有非线性激活的形式感知器非常不同。

5.2 Unsupervised Learning: Autonomous Extraction of Pattern in Datasets :

在这里插入图片描述

STDP(spike timing dependent plasticity):无监督学习

  • STDP是一种Hebbian学习规则,其中突触的权重更新只取决于突触前和突触后神经元峰值的相对时间。
  • 如果突触后神经元在突触前神经元之后不久就被激活,那么就可以预期两者之间存在因果关系,因此它们的突触连接就会加强。

STDP的问题:

  • 通过STDP的无监督学习不能使多层网络达到较高的精度,由于Hebbian学习的紧密局部性,每一层都适应于上一层的输出,它们之间没有协调来指定全网络的输入到输出的转换。
5.3 Supervised Learning: On the Road to Event-Driven Machine Learning :
  • 基于STDP的监督学习
  • 解析计算网络的权重
  • 近似于刺突神经元的行为,以实现误差函数的梯度计算
5.4 On-Chip or Off-Chip Training?
  • 取决于实际的用途;
  • 通用机器学习加速器需要在线训练;
  • 由于机器学习的遗忘,离线训练无法更新的网络可能对于新的任务的精确度降低;
  • 在线监督学习训练需要复杂的神经元和突触模型,和层与层之间以及神经核之间的梯度浮点值通信,难以实现

6、HARDWARE IMPLEMENTATIONS: COMPARISONS AND DISCUSSIONS

嵌入式和通用加速器区别:

  • 一般的机器学习加速器注重运行速度、适应各种拓扑的设计灵活性,以及支持非常大规模算法评估的能力。
  • 嵌入式处理器应该关注功耗、映射网络的精度和芯片面积。
6.1 General Neural Network Accelerators :

在这里插入图片描述

6.2 Low-Power Spiking Machine Learning :

在这里插入图片描述


7、WHAT COMES NEXT?
7.1 Algorithm Improvements :
  • 使用监督学习来实现更深的网络
  • 实现时间编码的SNN
  • 适应性神经元模型减少脉冲数量
  • SNN专用数据集
7.2 Hardware Implementations :
  • NVM设备的交叉阵列
  • 3D集成
    • 高带宽
    • 低互联
    • 高并行

3D集成可以将多个平面上的电路相互连接,并将平面垂直连接。
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在《Learning Spatiotemporally Encoded Pattern Transformations in Structured Spiking Neural Networks》这篇论文中,关于兴奋抑制的部分主要是针对结构化脉冲神经网络(structured spiking neural networks)中的兴奋和抑制机制进行研究和探讨。 在神经网络中,兴奋抑制机制是一种常见的神经元间相互作用方式。兴奋(excitation)表示一个神经元的活动会激发或增强其他神经元的活动,而抑制(inhibition)则表示一个神经元的活动会抑制或减弱其他神经元的活动。 在这篇论文中,作者提出了一种基于结构化脉冲神经网络的模型,该模型通过学习时空编码模式转换,实现了对输入模式的编码和转换。在这个模型中,兴奋抑制机制被用来调节神经元之间的相互作用,以实现输入模式的动态转换和编码。 具体来说,兴奋抑制机制在这个模型中起到了以下几个作用: 1. 提供了一种动态调节神经元活动的方式,通过增强或减弱神经元之间的相互作用,来实现输入模式的转换和编码。 2. 控制神经元的激活水平,使得模型能够对输入模式进行适当的响应和处理。 3. 平衡神经元之间的竞争关系,以确保神经网络能够同时处理多个输入模式。 总之,兴奋抑制机制在这篇论文中被用来实现结构化脉冲神经网络对输入模式的编码和转换,并且通过动态调节神经元之间的相互作用,实现了模型对输入模式的动态处理和响应能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值