中文 英语

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

意见分歧很大,但在这个领域,这并不罕见。

受欢迎程度

峰值神经网络(SNNs)经常被吹捧为一种接近大脑能量效率的方法,但对于这到底意味着什么,人们普遍存在困惑。事实上,关于大脑是如何工作的还存在分歧。

有些SNN实现不太像大脑。取决于你与谁交谈,snn要么距离商业化还有很长的路要走,要么已经接近商业化。snn的不同定义导致了如何看待该行业的差异。

“一些初创公司正在做自己的snn,”IP at的战略营销经理罗恩·洛曼(Ron Lowman)说Synopsys对此.“驱动它的是那些在如何培训、优化和为他们编写软件方面拥有专业知识的人。”

另一方面,Flex Logix推理技术营销经理Vinay Mehta说:“snn比强化学习走得更远”,他指的是一种主要仍处于研究阶段的机器学习概念。

整个概念是"神经网络的动机是试图模拟大脑的工作方式。但是现在的神经网络卷积神经网络(cnn)今天如此流行——不遵循大脑的设计。相反,他们依靠矩阵乘法来合并突触权重和梯度下降算法来进行监督训练。

研究snn的人通常将其称为“经典”网络或“人工”神经网络(ann)。也就是说,亚历山大瓦伦丁,先进技术和芯片上系统实验室的负责人CEA-Leti他指出,cnn反映的更多是一种方法或应用程序类型,而snn反映的是一种实现。“CNN可以在短时间内实现——这不是CNN vs. SNN。”

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

SNN的许多理念在学术机构中还处于探索阶段。2019年IEDM会议上的几篇论文讨论了使用新型电路技术实现snn以实现更低功耗的目标。但也有一些商业公司在开发snn。在最近的林利春季处理器会议上,英特尔有一个严肃的研究项目,而BrainChip和GrAI Matter实验室正在准备商用芯片。早期研究和商业可行性之间存在如此大的差异,其原因反映了关于如何实现SNN的一系列解释。

一些正在进行的项目涉及文字峰值,这是一种模拟现象。但其他人将“峰值”的概念抽象为“事件”的概念,并以数字方式将其实现为在网络中从一个神经元传递到另一个神经元的数据包。因此,高级的效果是,从一直测量所有事情(就像在经典的CNN中那样)转变为只处理事件。人们通常认为snn节省的电量与峰值本身有关,但部分收益来自处理事件。换句话说,只有当有一个有趣的事件需要处理时,工作才会发生。否则,不做功(或做功更少),保持低功率。

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

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

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

速率编码取一个值,并将其转换为该值持续时间内的恒定峰值频率。这种方法的好处是可以使用经典的训练技术,然后将结果值转换为SNN推理引擎。经典网络使用大量的乘法运算,这是能量密集型的。相反,峰值只是简单地积累,不需要乘法。也就是说,每次尖峰都会导致突触权重查找,这也会消耗能量,这促使瓦伦丁警告说,不清楚这种方法是否功耗更低。

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

然而,一个主要的挑战是训练,因为经典的训练结果不能转换成这种类型的SNN。没有容易获得的尖刺序列的导数,因此不可能使用梯度下降方法进行训练。总的来说,Tapson说:“时间编码对于电子产品来说非常糟糕。这使得很难知道计算是否完成,而且速度非常慢。”

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

有可能临时编码的snn可以在较浅的网络中工作,而不是我们在经典网络中看到的50到100层(或更多)层。“视觉皮层只有六层,尽管这个系统并不是纯粹的前馈系统,”瓦伦丁说。“也有一些反馈。”不过,他指出,现在缺少的是一个杀手级应用程序,它将提供推动时间编码向前发展所需的能量和资金。

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

撇开所有这些编码方法不谈,GrAI Matter使用了一种更直接的方法。“我们将值直接编码为数字- 8位或16位整数在GrAI One或Bfloat16在我们即将推出的芯片。这是与其他神经形态结构的关键区别,其他神经形态结构必须使用速率、种群、时间或集成代码。我们也可以使用这些,但它们效率不高。”

神经元
SNN神经元通常以两种方式之一实现。这些方法是由模拟实现驱动的,尽管它们可以被抽象为数字等价物。Arteris IP研究员兼首席架构师Michael Frank将其称为“仿真”。他指出了模拟实现的几个挑战:“使用模拟,你需要根据特定的芯片定制模型进行推断。没有两个晶体管是相同的。而在7nm工艺下,你无法进行模拟。”

Tapson所赞同的。“对于一个大型电路,你需要数字化,”他说。

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

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

为了在新结果到来时抵消旧的“过时”结果,可以使用“漏式集成-发射”(LIF)电路。这意味着积累随着时间的推移逐渐消散,因此,在事件之间有足够的时间,积累会从低水平重新开始。

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


图1:IF和LIF神经元行为,为说明而理想化。请注意,在第二种情况下,由于泄漏,阈值永远不会达到。神经元也可能有一段不应期,在此期间它们可以积累,但不能放电。资料来源:Bryon Moyer/Semiconductor Engineering

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

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


图2:Leti的突触实现。“HRS”代表“高阻力状态”;“LRS”代表“低阻力状态”。来源:CEA-Leti

图3中显示了这些单元格的数组。每个突触都有自己的单词线;电流通过位线感应。


图3:Leti的突触阵列。来源:CEA-Leti

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


图4:兴奋性和抑制性尖峰出现时神经元聚集。来源:CEA-Leti

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


图5:GrAI Matter的数字神经元核心。来源:GrAI Matter Labs

电路中的noc
对于数字SNN仿真,峰值的路由通常通过片上网络(NoC)进行。在复杂的片上系统(soc),但这些网络通常携带较大的有效载荷。相比之下,峰值数据非常小。事实上,Arteris IP的Frank表示,数据包头可能比有效载荷本身还要长。

信息包可以通过一个识别标签广播到目标神经元。然后接收神经元就会知道该关注哪个标签,从而产生多播效果。通过这种方式,脉冲到达目标神经元进行处理,而其他神经元则忽略它们。这使得神经元的输入端具有多对一的关系,而输出端具有一对多的关系。

Frank表示网络上不应该有冲突问题。传感器数据以每秒500个样本的速度生成,而网络的频率为数百兆赫。这为分时数据留下了足够的空间,这样单个峰值交付就可以看起来是并发的。Frank指出,如果存在碰撞问题,可以将网络划分为多个域以减少其影响。

时机在这里也有作用。Frank指出,英特尔的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的专有学习算法基于一种被称为Spike Timing-Dependent Plasticity (STDP)的训练概念,以及一些强化学习概念。它用完全连接的层以前馈方式进行训练,据称比典型的经典网络快几个数量级。该公司还在研究无监督学习——也就是说,在不给网络预先标记样本的情况下训练网络的能力——用于下一代架构。

不同寻常的是,BrainChip能够在部署的设备上进行一些进一步的实地培训。它将其称为“增量训练”,利用现有的训练模型,但允许设备在现场进一步训练。这是通过移除最后一个网络层(负责分类)并将其替换为完全连接层来实现的。然后,设备可以“重新学习”现有的类(只有最后一层,因为之前的层保持不变),同时向网络功能添加新的类。该公司通过标记样本来实现这一点,但它可以用单个图像而不是数百或数千张图像添加新类。

GrAI Matter也在做一个全数字化的实现。它使用片上包交换网络来路由“峰值”。GrAI Matter的整体架构如下所示(节点实现如图5所示)。该公司使用经典技术训练其芯片,将结果转换为GrAL Matter格式进行实现。


图7:GrAI Matter的结构。来源:GrAI Matter Labs

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


图8:GrAI Matter过程只在每个连续层中改变像素。来源:GrAI Matter Labs

最后,在神经形态计算实验室主任Mike Davies的指导下,英特尔有一个相当大的研究项目正在进行中。英特尔将这款芯片命名为Loihi (lo-EE-hee),这一领域的其他厂商似乎也在密切关注。

这是一个先进的项目,它的运作方式与之前的项目非常不同,看起来是真正的神经形态。目前尚不清楚该芯片的架构细节,但目前该芯片有128个核,可以扩展到4096个核。芯片也可以扩展到最多16,384个芯片。英特尔使用LIF神经元,将峰值路由为NoC上的数据包。

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

行业现状
一般来说,snn会产生不同的意见。正在进行的研究的数量表明了行业的兴趣水平,但并不是每个人都这么热情。Facebook人工智能研究员扬·勒丘恩(Yann LeCun)在一篇文章中指出2019年ISSCC演讲,“我对SNNs非常怀疑。”

其他人也表达了担忧。Flex Logix的首席执行官Geoff Tate说:“(研究)论文的目标是[比经典网络实现的]更简单的模型。”“它离商业化还很远。”

这也不一定是一个非此即彼的情况:“你可以有一个部分是经典的,部分是SNN的网络。一个例子是传感器融合,视频是经典的,声音是SNN,”Leti的瓦伦丁说。

Arteris IP的Frank看到了snn的未来。“snn有自己的领域,它们将超越标准网络。即使是SNN的数字模拟也比经典的CNN好,”他说。

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

相关的材料
优化机器学习的新方法
在机器学习系统中提高性能和降低功耗的不同方法。
AI边缘芯片的内存问题
内存中计算变得至关重要,但是在哪个内存中,在哪个进程节点上?
构建推理芯片的挑战
随着人工智能领域的不断发展,人们正在开发不同的推理方法。并不是所有的方法都有效。



2的评论

卡坦 说:

感谢这篇关于snn领域的精彩总结文章

我错过了模拟和数字snn之间的比较。可以比较数字更好,但是实际上有更多的限制使模拟成为更好的选择。之所以在文章中选择数码,是因为可以走到7nm这真的是主要的好处吗?此外,没有人真正比较模拟峰值神经元与数字版本(更大的乘数,更高的频率)需要多少面积。

许多AI模型可以在一个小模型中实现。如果你想使用一个大的模型,一个更大/更多的芯片(s)不是更好吗?

何塞·路易斯·马丁内斯 说:

这个想法是把两个世界的优点结合起来。

JLM
阿根廷。

留下回复


(注:此名称将公开显示)

Baidu