SNN and neuromorphic computing

在人工智能如火如荼的今天,基于人脑的“脉冲”(spiking)模拟计算框架下的脉冲神经网络 (SNN)、神经形态计算(neuromorphic computing)有望在实现人工智能的同时,降低计算平台的能耗。
人脑非凡的能力可归结于以下三个基本观察:广泛的连通性、结构和功能化的组织层次、以及时间依赖(time dependent)的神经元突触连接。
SNN and neuromorphic computing_第1张图片
神经元(Neurons)是人脑的计算原始元素,它通过离散动作电位(discrete action potentials)或“脉冲”交换和传递信息。
突触(synapses)是记忆和学习的基本存储元素。
人脑拥有数十亿个神经元网络,通过数万亿个突触相互连接。基于脉冲的时间处理机制使得稀疏而有效的信息在人脑中传递。研究还表明,灵长类动物的视觉系统由分层级的关联区域组成,这些关联区域逐渐将视觉对象的映像转化为一种具有鲁棒性的格式,从而促进了感知能力。
现代深度学习网络(DLNs)本质上是层级结构的人造物,就像人脑一样用多个层级去表征潜在特征,由来自输入过程中多个图层的不同潜在特征的表征,经过转换形成的(图1b)
SNN and neuromorphic computing_第2张图片
一个深度卷积神经网络物体执行目标检测的图片。这些网络是多层的,并使用突触存储和神经元非线性学习广泛的数据表示。使用反向传播训练后,每层学习的特征都显示有趣的模式。第一层学习一般特征,如边缘和颜色斑点。随着我们深入网络,学习到的功能变得更具体,用对象的部分(如狗的眼睛或鼻子)代表完整的物体(如狗的脸)。这种从一般到特殊的过渡代表了视觉皮层的层次结构。
目前,最先进的人工智能总体上使用的是这种受到人脑层次结构和神经突触框架启发的神经网络。实际上,现代深度学习网络(DLNs)本质上是层级结构的人造物,就像人脑一样用多个层级去表征潜在特征,由来自输入过程中多个图层的不同潜在特征的表征,经过转换形成的(图1b)。硅晶体管硬件计算系统是这种神经网络的硬件基本。大规模计算平台的数字逻辑包含由集成在单个硅芯片上的数十亿个晶体管。这让人联想到了人脑的层级结构:各种硅基计算单元以层级方式排列,以实现高效的数据交换(图1c)
SNN and neuromorphic computing_第3张图片
最先进的硅计算生态系统。广义上讲,计算层次分为处理单元和内存存储。处理单元和内存层次结构的物理分离导致众所周知“内存墙瓶颈(memory well bottleneck)” 。当今的深度神经网络在强大的云服务器上训练,尽管会产生巨大的能耗,但仍可提供令人惊叹的精度。

尽管两者在表面上有相似之处,但人脑的计算原理和硅基计算机之间存在着鲜明区别。其中包括:(1)计算机中计算(处理单元)和存储(存储单元)是分离的,不同于人脑中计算(神经元)和存储(突触)是一体的;(2)受限于二维连接的计算机硬件,人脑中大量存在的三维连通性目前无法在硅基技术上进行模拟;(3)晶体管主要为了构建确定性布尔(数字)电路开关,和人脑基于脉冲的事件驱动型随机计算不同。尽管如此,在当前的深度学习革命中,硅基计算平台(例如图像处理单元(GPU)云服务器)已成为一个重要的贡献因素。
但是,使得“通用智能”(包括基于云服务器到边缘设备)无法实现的主要瓶颈是巨大的能耗和吞吐量需求。例如,在一个由典型的2.1Wh电池供能的嵌入式智能玻璃处理器(smart-glass processor)上运行深度网络,就会让处理器在25分钟内将电池消耗殆尽。

今天,算法设计师们正在积极探索(特别是“学习”)脉冲驱动型计算的优缺点,去推动有可扩展性、高能效的**“脉冲神经网络”(spiking neural networks ,SNN)。在这种情况下,我们可以将神经形态计算领域描述为一种协同工作,它在硬件和算法域两者中权重相同,以实现脉冲型人工智能。我们首先强调了“智能”(算法)方面,包括不同的学习机制(无监督以及基于脉冲的监督,或梯度下降方案),同时突出显示了要利用基于时空事件的表征。本文讨论的重点是视觉相关的应用任务,例如图像识别和检测。然后我们将探索“计算”(硬件)方面,包括模拟计算、数字神经运动系统,它们都超越了冯·诺依曼(数字计算系统的最新架构)和芯片技术(代表了基本的场效应晶体管设备,它们是当下计算平台的基础)。最后,我们将讨论算法的硬件协同设计前景,说明算法具有用于对抗硬件漏洞的鲁棒性,可以实现能耗和精度之间的最佳平衡。**

脉冲神经网络

按照神经元功能,Maass开创性的论文将神经网络分为三个代际。首先,第一代被称为McCulloch–Pitt感知机,它执行阈值运算并输出数字(1、0)。基于sigmoid单元或修正线性单元(ReLU),第二代神经元单元增加了连续非线性,使其能够计算一组连续的输出值。第一代和第二代网络之间的非线性升级在扩展神经网络向复杂应用和更深度的实现方面起着关键作用。当前的DLNs在输入和输出之间具有多个隐藏层,都是基于第二代神经元。实际上,由于它们连续的神经元功能,这些模型可以支持基于梯度下降的反向传播学习,这也是目前训练深度神经网络的标准算法。
第三代神经网络主要使用“整合放电”(integrate-and-fire)型尖峰神经元,通过脉冲交换信息(图3)。

SNN and neuromorphic computing_第4张图片
第二代和第三代神经网络之间最大的区别在于信息处理性质。第二代神经网络使用了实值计算(real-value)(例如,信号振幅),而SNN则使用信号的时间(脉冲)处理信息。脉冲本质上是二进制事件,它或是0或是1。如图3a所示,SNNs中的神经元单元只有在接收或发出尖峰信号时才处于活跃状态,因此它是事件驱动型的,因此可以使其节省能耗。若无事件发生SNNs单元则保持闲置状态,这与DLNs相反。无论实值输入和输出,DLNs所有单位都处于活跃状态。此外,SNN中的输入值为1或0,这也减少了数学上的点积运算ΣiVi×wi(图3a),减小了求和的计算量。
针对不同的生物保真度水平下产生的脉冲代际,相关的尖峰神经元模型已被提出。例如泄漏整合放电型(LIF)(图3b)和霍奇金-赫克斯利型(Hodgkin–Huxley)。同样,针对于突触的可塑性,已有例如赫布型(Hebbian)和非赫布型(non-Hebbian)方案。突触的可塑性即突触权重的调节(在SNNs中转化为学习)取决于突触前和突触后尖峰的相对时间(图3c)。神经形态工程师的一个主要目标是:在利用基于事件(使用基于事件的传感器)及数据驱动更新的同时,建立一个具有适当突触可塑性的脉冲神经元模型,从而实现高效的识别、推理等智能应用。

你可能感兴趣的:(SNN and neuromorphic computing)