尖峰神经网络:研究项目还是商业产品

2020-05-19 14:22:29

尖峰神经网络(SNN)经常被吹捧为接近大脑能效的一种方式,但人们对这到底是什么意思普遍感到困惑。事实上,人们对大脑的实际工作方式存在分歧。

一些SNN实现不像其他实现那样像大脑一样。根据你与谁交谈,SNN要么还很遥远,要么接近商业化。SNN的不同定义导致了人们如何看待该行业的不同看法。

Synopsys知识产权战略营销经理罗恩·洛曼(Ron Lowman)表示:“一些初创公司正在制作自己的SNN。”“它是由那些在如何培训、优化和为他们编写软件方面有专业知识的人推动的。”

另一方面,Flex Logix推理技术营销经理Vinay Mehta说,“SNN比强化学习走得更远”,他指的是一个在很大程度上仍处于研究阶段的机器学习概念。

“神经网络”的整个概念都是基于对大脑如何工作进行建模的尝试。但是现在的神经网络--比如今天非常流行的卷积神经网络(CNNs)--并不遵循大脑的设计。取而代之的是,他们依靠矩阵乘法来结合突触权重,并依靠梯度下降算法来进行监督训练。

从事SNN研究的人通常将其称为“经典”网络或“人工”神经网络(ANN)。尽管如此,CEA-Leti先进技术和片上系统实验室负责人Alexandre Valentian指出,CNN更多地反映了一种方法或应用类型,而SNN则反映了一种实施。“CNN可以在SPAKS中实现--这不是CNN与SNN之间的较量。”

模仿大脑,SNN的概念起源于这样一个事实,即大脑使用尖峰电位来传递信息。然而,一个重要的问题是,信息是如何编码到这些尖峰上的。在研究和开发阶段都使用了几种方法。这类神经网络有时被称为“神经形态的”,因为它反映了大脑的工作方式。经典网络不是神经形态的,但一些SNN比其他的更具神经形态。正如脑芯片公司的一篇论文所指出的,“…。今天的技术…。充其量只与大脑的运作方式有松散的关系。“。

许多SNN的想法在学术机构还处于探索阶段。2019年IEDM会议上的几篇论文涉及使用新的电路技术实现SNN,以实现更低功耗的目标。但也有商业公司在开发SNN。正如在最近的林利春季处理器大会上所确认的那样,英特尔正在进行一项严肃的研究计划,而BrainChip和GrAI Matter Labs正在准备商业芯片。早期研究和商业可行性之间范围如此之大的原因反映了对如何实现SNN的一系列解释。

一些正在进行的项目涉及字面峰值,这是一种类似的现象。但另一些人将“尖峰”的概念抽象为“事件”的概念,并将其数字化地实现为通过网络从一个神经元传输到另一个神经元的数据包。那么,高级效应就是从像经典CNN那样一直测量一切,转变为只处理事件。预计从SNN节省的电力通常被认为与尖峰本身有关,但部分收益来自于处理事件。换句话说,只有当有有趣的事件需要处理时,工作才会发生。否则,不做功(或更少的功),从而保持低功率。

“如果你没有达到(神经元的)激活阈值,就不会产生任何事件,”BrainChip的首席运营官罗杰·莱文森(Roger Levinson)说。这与经典网络中梦寐以求的高度稀疏性相对应。

SNNs的另一个特征是,事件可以兴奋或抑制神经元。然后,事件可以相互竞争,一些事件具有兴奋作用,而另一些事件则具有抑制作用。在传统网络中,负权重可以降低结果激活的大小,但这更多是正在评估的视频帧(或其他数据集)的静态表示,而不是事件对结果的推动和拉动。

在尖峰中编码值SNN实现之间的主要区别之一与所谓的“编码”有关-如何将一个值转换成尖峰流。虽然有几种方法可以做到这一点,但似乎有两种方法主导了许多讨论:速率编码和时间编码。

速率编码采用一个值,并在该值的持续时间内将其转换为恒定尖峰频率。这种方法的好处是可以使用经典的训练技术,然后将得到的值转码用于SNN推理引擎。经典网络使用大量的乘法,这是能量密集型的。相比之下,尖峰是简单的累加,不需要乘法。也就是说,每一次尖峰都会导致突触权重查找,这也会消耗电力,促使Valentian警告说,目前还不清楚这种方法的功率是否更低。

一些人说时间编码更接近大脑中发生的事情,尽管对此有不同的看法,一些人说只有一小部分例子是这样的:“它实际上在大脑中并不常见,”GrAI Matter的首席科学官乔纳莎·塔普森(Jonatha Tapson)说。猫头鹰的耳朵就是使用它的一个例子。“它们利用听觉在夜间捕猎,因此它们的方向敏感度必须非常高。”不是用尖峰频率来表示值,而是将该值编码为尖峰之间的延迟。然后,尖峰代表事件,目标是在尖峰流中识别有意义的模式。

然而,一个主要的挑战是训练,因为传统的训练结果不能转码成这种类型的SNN。没有容易获得的穗序列的导数,因此不可能使用梯度下降法进行训练。塔普森说,总的来说,“时间编码对电子设备来说是可怕的。这使得很难知道一个计算是否完成,而且速度非常慢。“。

当由生成时间编码数据的传感器(即基于事件的传感器)驱动时,时间编码的SNN可能是最有效的。动态视觉传感器(DVS)就是一个例子。它们不会在每秒帧数的基础上生成完整的数据帧。取而代之的是,每个像素在其照明变化超过某个阈值时进行报告。这会生成一个“更改”事件,然后通过网络传播。Valentian说,这些在AR/VR应用中也特别有用,比如“视觉里程计”,那里的惯性测量单元太慢了。

时间编码的SNN可能适用于比我们在经典网络中看到的50到100(或更多)层更浅的网络。“视觉皮层只有六层深,尽管这个系统不是纯粹的前馈,”Valentian说。“也有一些反馈。”尽管如此,他指出,这里缺少的是一个杀手级的应用程序,它将提供推动时间编码所需的能量和资金。

与此同时,BrainChip从速率编码开始,但认为这在商业上是不可行的。取而代之的是,它使用秩编码(或秩序码),它使用到达神经元的尖峰的到达顺序(而不是字面定时)作为代码。这是一种面向模式的方法,按规定顺序到达(连同突触权重)刺激的反应最大,而按其他顺序到达的刺激较少。

撇开所有这些编码方法不谈,GrAI Matter使用更直接的方法。我们在即将推出的芯片中将数值直接编码为GrAI One或BFloat16中的数字-8位或16位整数。这是与其他神经形态架构的关键不同,其他神经形态架构必须使用速率、人口、时间或集合代码。我们也可以使用这些,但它们效率不高。“塔普森说。

神经元SNN神经元通常以两种方式之一实现。这些方法是由模拟实现驱动的,尽管它们可以抽象为数字等效物。Arteris IP研究员兼首席架构师迈克尔·弗兰克(Michael Frank)将此称为“仿真”。他指出了模拟实现面临的几个挑战:“对于模拟,您需要根据特定芯片定制模型以进行推断。没有两个晶体管是相同的。在7纳米处,你不能做模拟。“。

塔普森对此表示赞同。“对于大型赛道,你需要数字化,”他说。

这两种抽象的神经方法背后的想法是,神经元通过累积尖峰来评估信号。最简单的实现称为“集成并激发”(IF)。每个尖峰在神经元中累积,直到达到阈值,此时神经元激发输出尖峰-也就是说,它创建一个在网络中向下游传播的事件(至少对于前馈配置)。许多正在进行的学术项目将其作为字面模拟电路来实现,并且在操作上它在哲学上类似于sigma-Delta调制。

这里的挑战是,特别是对于时间编码而言,模式可能会在很长一段时间内不经意地出现。在时间上分开的两个事件可以被解释为单一的模式,因为随着新的尖峰的到来,早期的积累仍然存在。

为了在新的结果到来时中和旧的“过时的”结果,可以使用“泄漏积分并点火”(LIF)电路。这意味着积累会随着时间的推移逐渐消散,因此,如果事件之间有足够的时间,积累就会从较低的水平重新开始。

另一个可以逆转积累的因素是抑制事件。积累假定会增加积累的兴奋性事件,但抑制性事件会积累负值,从而降低积累的水平。

图1:IF和LIF神经元行为,为说明而理想化。请注意,在第二种情况下,由于泄漏,从未达到阈值。神经元也可能有一个不应期,在此期间它们可以积累,但不能燃烧。消息来源:布莱恩·莫耶(Bryon Moyer)/半导体工程。

Synapses Synapse的实现将在很大程度上取决于特定网络的实现方式。对于模拟实现,尖峰将导致一定量的电流注入或流出神经元。电流的大小取决于突触的重量。

CEA-Leti的一个团队在2019年IEDM会议上提交的一篇论文中讨论了使用RRAM的模拟SNN。虽然RRAM已经在经典网络中用作实现乘法累加函数的内存中计算的一种方式,但它在这里的用法是不同的。使用8个单元,每个单元4个用于激励和抑制,0到4个电阻器的任何位置都被编程为低电阻状态。低电阻意味着更大的电流,因此重量更大。处于低阻状态的细胞越多,整体突触电流就越大。下图显示了Leti Synapse的设计。

图2:LETI的synapse实现。“HRS”代表“高阻状态”,“LRS”代表“低阻状态”。消息来源:CEA-Leti。

这些单元的阵列如图3所示,每个突触都有自己的字线,电流通过位线感应。

电流被加到神经元中,如图4所示。当膜电压随注入电流变化时,电容器起蓄电池的作用。请注意,有正阈值和负阈值,这意味着神经元可以激发兴奋尖峰或抑制尖峰。

在数字实现中,尖峰的概念是一个抽象的概念,仍然需要乘法来按突触权重缩放传入的尖峰。GrAI Matter的方法如图5所示。

NOC在电路中对于数字SNN仿真,尖峰的路由通常通过片上网络(NOC)进行。片上网络(NoC)在复杂的片上系统(SoC)中很常见,但这些网络通常承载大量有效负载。相比之下,峰值数据非常小。事实上,Arteris IP的弗兰克说,数据包报头可能比有效载荷本身更长。

可以利用识别标签将分组广播到目的神经元。然后,接收神经元就会知道要注意哪个标签,从而产生多播的效果。通过这种方式,尖峰信号到达预定的神经元进行处理,而其他神经元则忽略它们。这为神经元的输入端提供了多对一的关系,而输出端则具有一对多的关系。

弗兰克表示,网络上应该不会出现冲突问题。传感器数据以每秒约500个样本的速率生成,而网络的时钟频率为数百兆赫。这为分时数据留下了很大的空间,因此单个峰值的交付可能看起来是并发的。弗兰克指出,如果冲突有任何问题,可以将网络划分为域,以减少其影响。

在这方面,时机也起到了一定的作用。弗兰克指出,英特尔的Loihi网络是异步的。如果使用同步方法,对于大型网络来说可能太高了。

通过回顾几个较突出的项目,说明了实现SNN的各种方法的范围。学术机构和其他商业公司可能还有更多的项目正在进行中,所以这份清单绝不会是详尽的。

我们已经看到了CEA-Leti一直在做的一些事情。他们的IEDM论文声称,这是第一次使用尖峰、模拟神经元和RRAM突触实现全网络。这是一个单层、全连接的网络,有10个输出神经元,对应于用于MNIST图像分类的10个类别。当最高尖峰输出和次高尖峰输出之间的差值超过阈值时,推断被认为是完成的。他们已经证明了这与经典的tanh活化函数之间的等价性。

BrainChip具有全数字实现,这使得它可以在任何CMOS工艺上实现(与模拟不同)。图6显示了其体系结构的概念性视图。

图6:BrainChip的架构。阿基达阵列是概念性的。它没有反映NPU的真实数量和安排。来源:BrainChip

神经结构完全可针对不同的应用进行配置。阵列中的每个节点包含四个神经处理单元(NPU),每个NPU可以配置为基于事件的卷积(支持标准卷积或深度卷积)或其他配置,包括完全连接。事件在网络上以数据包的形式传输。

虽然NPU的细节或图像不可用,但BrainChip确实进一步解释说,每个NPU都有数字逻辑和SRAM,提供了某种内存中处理的能力,但没有使用模拟内存的方法。NPU包含实现神经元和突触的八个神经处理引擎。当进入神经元时,每个事件都乘以突触权重。

该公司指出,它使用事件域卷积允许它使用IF神经元,而不是LIF,因为这种方法产生的硬件要简单得多。为了处理掉落的尖峰产生无意的模式的问题,BrainChip对时间进行帧处理,这样,一旦该帧完成,随后的尖峰将重新开始。

培训是该公司不太谈论的话题。它将培训称为“半监督”。BrainChip的专利学习算法基于一种被称为尖峰时间相关可塑性(STDP)的训练概念,以及一些强化学习概念。它以前馈的方式使用完全连接的层进行训练,它说这比典型的经典网络快了几个数量级。该公司还在为其下一代体系结构开发无监督学习-即在不给网络预先标记样本的情况下训练网络的能力。

不同寻常的是,BrainChip有能力在部署的设备上进行现场进一步培训。它将此称为“增量培训”,它利用现有的培训模型,但允许设备在现场进一步培训。这是通过删除最后一个网络层(进行分类)并将其替换为完全连接的层来实现的。然后,设备可以“重新学习”现有的类(仅最后一层,因为前几层保持不变),同时向网络的功能添加新的类。该公司用带标签的样本做到了这一点,但它可以用一张图像而不是成百上千张图像来添加新的类别。

GrAI Matter还在进行全数字实施。它使用芯片上的分组交换网络来路由“尖峰”。GrAI Matter的总体架构如下所示(上面的图5显示了节点实现)。该公司使用经典技术训练其芯片,将结果转换为GRAL物质格式进行实施。

尽管这是一个基于事件的引擎,但网络已经过优化,可以处理标准视频流,而不是DVS事件流。以类似于前一篇文章中讨论的ISSCC论文的方式,这些操作基于帧之间的差异而不是整个帧。这种“差异”在输入层和每个激活层都被获取,从而创建了大量进入和流经网络的稀疏性。

图8:GrAI Matter只处理每个连续层中更改的像素。来源:GrAI Matter Labs

最后,英特尔在其神经形态计算实验室主任迈克·戴维斯(Mike Davies)的指导下,正在进行一个规模可观的研究项目。英特尔将芯片称为Loihi(Lo-EE-hee),这一领域的其他参与者似乎都在密切关注。

这是一个高级项目,它的运作与之前的项目非常不同,看起来真的是神经形态的。关于架构的细节还不得而知,但该芯片目前有128个内核,可以扩展到4096个。芯片还可以横向扩展到最多16,384个芯片。英特尔使用LIF神经元,在NoC上将尖峰作为数据包进行路由。

戴维斯说:“我们正在继续致力于推进神经形态的软件和硬件,目标是最终实现商业化。”“由于神经形态技术仍处于基础研究阶段,很难对主流使用的时间框架做出确切的预测。我们希望在未来几年内有一些最初的利基应用程序提供商业价值,如果我们的神经形态系统在5年内开始向广泛的客户进行商业销售,我们将感到高兴。“。

一般来说,SNN会产生不同的意见。正在进行的研究数量表明了业界的兴趣水平,但并不是每个人都这么热情。Facebook人工智能研究员Yann LeCun在2019年ISSCC的一次演讲中指出,“我对此[SNNS]非常怀疑。”

其他人也表达了担忧。Flex Logix首席执行官杰夫·泰特(Geoff Tate)说:“(研究)论文的目标是(比用经典网络实现的)简单得多的模型。”“它离商业化还有很长一段路要走。”

这也不一定是非此即彼的情况:“你可能会有一个部分是古典的,部分是SNN的网络。Leti的Valentian说:“传感器融合就是一个例子,视频和SNN一样经典,声音也一样。”

Arteris IP的弗兰克看到了SNN的未来。“SNN有自己的域,在那里它们将超越标准网络。即使是SNN的数字仿真也比经典的CNN更好,“他说。

早期商业进入者的成功,以及英特尔的Loihi研究项目,将是SNN最终能否将其备受期待的节电投入市场的指标。

相关材料优化机器学习的新方法在ML系统中提高性能和降低功耗的不同方法。AI Edge芯片In-Me的内存问题。

..