本文转载自知乎专栏,版权属原作者所有。

作者:戴尔科技集团首席技术官办公室中国研究团队 聂雨虹、陈天翔

一直以来,人工智能都是一个充满吸引而又神秘的领域。它承载了人类对未来科技的憧憬,也代表了对美好生活的向往。过去的十年里,随着深度学习(第二代神经网络)的普及,人工智能再一次大规模地进入大众的视线,其众多的应用也改变了人们的日常生活。2016-2017年,由谷歌(Google)旗下DeepMind公司研发的AlphaGo人工智能机器人相继战胜了世界围棋冠军李世石、柯洁等选手,更是将人工智能的热度推向了又一个高度。

相比于目前的深度学习,脉冲神经网络(Spiking Neural Network, SNN)模型与神经科学的结合更加紧密,使用最拟合生物神经元机制的模型来进行计算,更贴近与人脑的工作机理。因此,SNN也经常被誉为第三代人工神经网络。

历史

脉冲神经网络的起源可以追溯到1952年。这一年,Alan Hodgkin和Andrew Huxley提出了Hodgkin-Huxley模型,通过对乌贼巨型突触的试验,该模型建立了有关神经细胞膜电位变化的非线性微分方程组,从而解释了动作电位的起始和传播的离子机制。这项工作也使两人获得了1963年的诺贝尔生理学或医学奖。这种将神经元的放电脉冲电位用公式以及电路模型模拟的思维,便是如今SNN的雏形。

在之后的七十年里,科学家们提出了各种模型,用来描述神经元之间的信息传递和交流,包括Integrate-and-fire及其各种衍生模型,FitzHugh-Nagumo模型(1961-1962),Hindmarsh-Rose模型(1984)等。

与第二代人工神经网络的对比

目前所流行的第二代神经网络,即深度神经网络,它们通常有着全连接的结构,接收连续的值,也输出连续的值。在众多的应用领域,这种神经网络均取得了不俗的成果。然而,从生物学以及脑科学的角度而言,其网络结构、运行方式并不能够模仿生物大脑神经元的运作机制。

脉冲神经网络与目前流行的神经网络和机器学习的方法有着根本的不同。SNN使用脉冲信号,这是发生在时间点上的一系列离散信号,而并非连续值。离散脉冲信号的出现频率由代表生物特征的微分模型来表示,其中最重要的是每个神经元的膜电位。当神经元达到了某一电位,脉冲就会出现,信号从而被传递到下一层,同时该神经元也会被电位重置。此外,SNN通常是稀疏连接的,并会利用特殊的网络拓扑。

原理介绍

神经细胞是构成神经系统的基本单元,称之为生物神经元,简称神经元。神经元主要由三部分构成:细胞体、轴突、树突。

突触是神经元之间相互连接的接口部分,即一个神经元的神经末梢与另一个神经元的树突相接触的交界面,位于神经元的神经末梢尾端。突触是轴突的终端。

大脑可视作为1000多亿神经元组成的神经网络。神经元的信息传递和处理是一种电化学活动,树突由于电化学作用接受外界的刺激,通过胞体内的活动体现为轴突电位,当轴突电位达到一定的值则形成神经脉冲或动作电位,再通过轴突末梢传递给其它的神经元。从控制论的观点来看,这一过程可以看作一个多输入单输出非线性系统的动态过程。

在脉冲神经网络中,神经元的建模是最基本、也是最重要的部分之一。如上文中历史一节所述,科学家们建立了各种神经元模型,用来描述其输入神经元膜电流与输出膜电压的变化关系。

在这里,我们会介绍Hodgkin-Huxley模型和脉冲响应模型(Spike Response Model)。前者为神经科学中里程碑式的模型,大量后来的细胞模型都将其作为参考并予以改进(如历史一节所提到的,该模型的成果获得了1963年诺贝尔生理学或医学奖)。后者则是一个在上世纪90年代所创立的模型,该模型相对来说更通俗易懂。在这里介绍这两个模型,能让读者对脉冲神经网络的工作流程有一个初步的了解。

  • Hodgkin-Huxley模型

Hodgkin-Huxley模型是由Alan Hodgkin和Andrew Huxley通过对乌贼的巨型突触进行试验后所建立的模型。它将可兴奋细胞的每个组成部分都视为一个电子元件。该模型中,类脂双层(lipid bilayer)用一个电容Cm来表示。电压门控离子通道(Voltage-gated ion channels)由取决于电压和时间的电导率(gn,其中n是特定离子通道)表示。泄漏通道(Leak channels)用线性电导(gL)表示。驱动离子流的电化学梯度由电压源(En)表示,其电压由目标离子物种的细胞内和细胞外浓度之比确定。 最后,离子泵用电流源(Ip)表示。膜电位用Vm表示。

根据电路理论,通过类脂双层的电流为

I_{c}=C_{M}\frac{dV_{m}}{dt}

通过给定离子通道的电流为

I_{i}=g_{i}(V_{m}-V_{i})

这里Vi是第i个离子通道的反转电位。

因此,对于具有钠和钾通道的细胞,通过神经元膜的总电流由下式给出:

I=C_m\frac{dV_{m}}{dt}+g_n (V_m-V_n)+g_L (V_m-V_L)+I_p

  • 脉冲响应模型(Spike Response Model)

脉冲响应模型的概念在1991 至 2000 年间的一系列论文中被多次介绍,而其正式的命名——Spike Response Model ,则可能是在1993年被首次提出。不同于Hodgkin-Huxley模型中用微分方程来描述神经元内的动作电位的产生,脉冲响应模型采用了一种更加简单的方式来描述这一过程。该模型中,两个重要的过滤器(内核)κ和η取代了之前模型中的微分方程。其中,过滤器κ表示了神经元膜电位对抵达突触的脉冲的线性响应,而过滤器η则描述了伴随一个脉冲后,电势产生后的动作电位的标准形式,

输入电流I(t)首先经由过滤器κ产生线性输入电势h。其中表示时刻的输入电流,而则描述了在时刻输入电流对t时刻电压的贡献。

h(t)=∫_0^∞κ(s)I(t-s)ds

在时间t的任一时刻,对于膜电位u,当其达到当前瞬时电位阙值θ,则会随机产生一个脉冲。对于在时间t产生的输出脉冲序列S(t),其会结合过滤器η产生一系列脉冲后电势来反馈到膜电位中,这一部分主要是表现了不反应性(refractoriness)对膜电位的影响。其中 为无输入电流刺激时的静息电位, 为神经元的第f个脉冲产生的时间, 脉冲序列为时刻之前神经元上产生的所有脉冲之和,而 则描述了在时刻之前产生的所有脉冲序列对t时刻电压“重置”的贡献。

S(t)=\sum_{ }^{ }{f}\delta(t-t^{(f)})

u(t)=h(t)+∫_0^∞η(s)S(t-s)ds+u_rest

同时,S(t)也引发了动态电位阙值θ的变化。如果一个输出脉冲产生后,没有持续的后续输出脉冲产生,则脉冲后电势会持续衰减至0,且动态电位阙值也会逐渐衰减到静息值。对于t时刻的电位阙值,为不活跃神经元的触发阙值,即静息值,而则描述了在时刻之前产生的所有脉冲序列引发的阙值增长。

θ(t)=θ_0+∫_0^∞θ_1 (s)   S(t-s)ds

脉冲神经网络的特点

从上述对脉冲神经网络的介绍中, 脉冲神经网络的特点主要体现在以下方面:

  • 生物仿真性:不同于多层神经网络的全连接,脉冲神经网络从网络构建上完全模拟了生物的神经网络系统。除了引入了神经元和突触状态等生物神经网络中的重要元素,其计算模型也模拟了一般生物神经网络中基于时间的脉冲触发与膜电位变化机制。
  • 基于时序数据的信息传递:在脉冲神经网络中,信息传递是基于离散型时序数据进行的,即上文所提到的脉冲序列。这种脉冲序列的传递是区别于第二代人工神经网络的高精度浮点型数据的传递的。
  • 基于阙值与生物充放电过程的神经元模型:上文通过介绍两种具有代表性的神经元模型,解释了脉冲神经网络的工作原理,即神经元膜电位作为衡量标准,这个值在无输入脉冲情况下会持续衰减至静息电位,但随着输入脉冲刺激,这个值或会增加,直至达到触发阙值,则会产生输出脉冲,而膜电位会被重置到一个较低值。这与之前的神经网络中的基于加乘运算的非线性激活函数的计算模型是完全不同的。
  • 神经网络的稀疏性:脉冲神经网路中的输入信息是需要将实数编译转化为脉冲序列的,脉冲序列具有更强的稀疏性;且在神经网络传播过程中,依据神经元模型的工作原理,其并不会对每个输入脉冲产生输出脉冲,所以输出脉冲序列也是稀疏的。这些稀疏的输入输出脉冲序列能导致神经元能量消耗大大减小,所以脉冲神经网络理论上具有低能耗和高效率等优点。
  • 适用于基于时序数据的识别推断场景:虽然可以通过编译转化输入数据,以及更替神经元模型来进行二代人工神经网络向脉冲神经网络的转换,但一般而言,脉冲神经网络更适用于动态场景的连续识别推断,即基于时序数据的应用场景。这一类场景更匹配脉冲神经网络的信息传递特征,而且由于其往往属于高功耗场景,也可以更加充分地利用脉冲神经网络的低能耗、高效率等特点。

脉冲神经网络的发展与挑战

脉冲神经网络的出现促进了神经形态计算的发展,其中包括:

  • 神经形态计算模型相关的发展,包括神经元模型和学习方法,如上文介绍的脉冲响应模型(Spike Response Model)则是基于早期的整合放电模型,加入不反应期提出的一种更通用的脉冲神经元模型。在学习方法这块,无监督学习方面主要有基于赫布法则(Hebbian Rule)的STDP学习方法(Spiking-Timing-Dependent Plasticity),而有监督学习方面则发展出Resume(Remote Supervisor Method)这类代表性学习法。
  • 神经形态计算软件平台的发展, 包括模拟脉冲神经元和神经网络生物学特性的仿真平台,以及面向脉冲神经网络学习算法及应用的编程平台,如Brian、BindsNET等。
  • 神经形态硬件发展,即相关神经形态计算芯片的发展。近年来,苹果、谷歌、英特尔、IBM等IT巨头纷纷开始进军和布局AI芯片领域,IBM早在2011年就开始了神经形态硬件的研发,并于2014年公布了由一亿神经元和2.56亿突触组成的TrueNorth芯片,突破了传统计算机处理大型问题时的架构瓶颈而进一步迈向类脑计算;而英特尔的Loihi芯片也是神经形态硬件发展的代表性产品。

但在现阶段,尽管脉冲神经网络以其低功耗、高效率以及基于时序数据的事件驱动处理等优点大受青睐,但其发展和应用却并不那么顺利,且仍面临着众多挑战:

  • 真实的生物神经系统仿真过于复杂:生物神经网络工作原理已在多年的研究中被研究人员大体掌握,但是真实的生物体内的神经网络由于过于复杂,其结构细节仍然是个未解之谜,这对于根据真实的生物神经系统设计神经计算系统是一个极大的难题。
  • 应用于实际场景面临挑战:如果使用人工设计的脉冲神经网络,根据其特性,一般而言更适用于动态场景的连续识别与推断。但在实际应用过程中,如何使场景能充分利用到脉冲神经网络的低功耗高速率以及事件驱动等特性,从而区别于第二代人工神经网络技术来突显和受益于其优势,则需要应用场景进行更加具体化、细节化地探索。同时,脉冲神经网络的应用与发展也依赖于神经计算芯片的发展,由于其新设计结构与计算模式,在传统芯片上目前而言并不能达到其理论上应达到的效果。
  • 脉冲序列编码的局限性:脉冲神经网络中的信息传递是基于脉冲序列的,这就涉及到将一般的实数输入信息编码转化为脉冲序列。脉冲序列的编码方式目前主要有两类:基于频率的编码方式和基于时间的编码方式。对于前者而言,其无视序列内部的时间结构,序列中的精确信息都可能被忽略;而后者则能进行更高效精确的信息表示,具有更强的生物真实性。但当前多数脉冲神经网络算法都关注于频率编码,所以基于时间编码的算法仍待探索。
  • 训练学习上的难度:对于直接训练脉冲神经网络,其监督学习方法多数是基于梯度设置的,缺乏生物合理性;另一种获得训练好的脉冲神经网络模型的方式是将训练好的传统神经网络直接进行转化,但这种转化受限于多方面引起的精度损失。所以相比较当前已较为成熟的人工神经网络,脉冲神经网络在真正的大型深层网络上的训练学习仍有很长的发展之路。
  • 应用精度在较复杂任务上较低:脉冲神经网络在很长一段时间内争议不断,其中一个原因就是在应用精度方面其性能往往劣于传统人工智能网络。上述的编码和训练学习方面的问题都可能导致对其在较复杂任务上的应用精度的影响。故如何在保留脉冲神经网络原始优点特征的情况下提高其应用精度,也是脉冲神经网络未来发展的一大挑战。

 

内容中包含的图片若涉及版权问题,请及时与我们联系删除