摘要

数字神经元的实现目标是支持实现新大脑皮层计算范式的架构的研究和开发。
四个尖顶数字神经元在寄存器传输层以一种允许并排比较的方式被实现。其中两个神经元包含指数衰减的两个阶段,一个是突触电导衰减,另一个是膜电位衰减。其他两个神经元的膜电位指数衰减只有一个阶段。
两级神经元对具有非无限前缘斜率的膜电位变化的输入脉冲作出响应;单级神经元表现出膜电位随无限前缘斜率的变化。当大量输入脉冲在非常接近的时间内出现时,这就导致了两者行为上的差异。然而,根据动态加当量操作的数量来衡量,单级神经元的能量效率比两级神经元高出10倍。
一种新的两级神经元被提出。该神经元减少了衰变分量的数量,并通过分段线性近似实现了两个阶段的衰变。总的来说,这些简化产生的两阶段神经元行为的能量效率只比最简单的一阶段神经元的能量效率差大约两倍。

1 介绍

计算机架构师和设计师已经开始了迎接大规模计算系统的挑战性任务,目标是模拟哺乳动物大脑皮层的运行。简而言之,新皮层是大脑的感知、思考和理解部分。它的计算范式的发现,以及随后能够模拟它的高效系统的开发,将是自动化计算中真正革命性的成就。
基于神经的计算设备架构研究的动机有两个方面。1)目前,需要支持大规模实验,以帮助发现大脑的计算范式。2)最终,随着范例的揭示,将会有对一种全新类型的计算机的实际实现的需求——前提是发现神经元抽象水平为有效的实现提供了良好的基础。
构建硅脑的架构方法从传统处理器的大规模互连到专用集成电路和定制逻辑阵列。与传统的冯·诺依曼计算一样,这些方法平衡了通用性、速度和效率之间的权衡。在这项工作中,重点是更面向FPGA/ASIC/定制端的架构,其中简单性和效率是关键。
我们考虑脉冲神经元的寄存器传输级(RTL)设计。两级设计结合了突触电导和膜电位的衰减(第2节提供了神经元操作的概述)。更简单的一级设计只包括膜电位的衰减。因此,通常使用的单级设计比两级设计节能大约一个数量级。
然而,两级和一级设计之间存在行为差异,这种差异表现在输入尖峰在时间上紧密地出现在一起,以及由此产生的输出尖峰延迟之间的关系。根据放置神经元模型的较大系统和系统开发人员的假设,这种行为差异可能显著,也可能不显著。
本文以行为和效率为目标,实现了现有的四个神经元模型,两个一级,两个两级。使用一致的实现风格允许直接的并行比较。通过仿真,研究了这四种实现的行为和复杂性。
然后提出了一种新的两级数字神经元。它提供了类似于其他两级神经元的时间行为,但效率更高。尽管仍然不如最简单的一级实现有效,但它将差距缩小到大约两倍。考虑到互连皮层系统的其他组件也将消耗大量能量,这使得所提出的两级神经元成为未来大规模皮层架构的强有力候选对于两级时序行为被认为是重要的地方。

1.1 相关工作

大规模模拟将是发现大脑功能的重要部分。其中一些工作集中在生物学的准确性上,例如,这将有助于更好地理解和治疗自闭症和阿尔茨海默氏症等人类疾病。相比之下,这里报道的工作目标是更好地理解(并最终复制)大脑的计算范式;这意味着神经元模型将比高度复杂的生物学精确模型更抽象、更简单。
一些皮层模拟的方法使用使用传统处理器的计算机系统,并完全在软件中实现神经元的操作。这些包括大规模并行计算机系统,GPU,和大型服务器集群。三角帆系统使用嵌入在特殊用途芯片的ARM处理器,使用地址事件表示(AER)来表示通信峰值。这些基于软件的系统的一个优点是,它们使神经元建模具有广泛的灵活性。他们的神经元模型可能更复杂,但对整体效率的影响很小,这是由于指令级的开销,包括簿记指令的数量和较低级别的指令处理。
相比之下,这里研究的数字神经元主要集中在专为神经实现而开发的硬件架构上。这将允许更快、更节能的实现。在这类项目中,备受瞩目的DARPA突触计划资助了两项大规模的基于硬件的努力,最终目标是实现100亿个数字神经元。IBM的项目使用了一级数字神经元。HP的是基于忆阻器技术。本文研究的数字神经元的应用与DARPA的突触目标是一致的。另一种针对大规模阵列实现模拟神经元的方法是欧洲FACETS 项目。
在硬件领域还有许多以能源效率为目标的fpga-base项目。例如,Emery等人[9]的工作中通过AER连接了大量的神经元,使用了与本文研究相似的单级神经元。为了简单起见,Upegi等人的工作也使用了单级神经元。由Hellmich等人描述的设计更进一步,使用无泄漏的神经元,这导致了一个非常简单的神经元模型,但也将其与本文所述的工作(以及所有其他相关工作)分开。基于硬件的实现的一个共同点是简单、高效的神经元。
生物神经元通过动作电位(电压脉冲)进行交流。虽然长期以来,人们认为脉冲率编码了所有重要信息,并且是经典人工神经网络理论的基础,但越来越清楚的是,单个脉冲以及脉冲的精确相对时间,是大脑计算过程的关键部分。这并不是要贬低基于脉冲率的神经元研究的重要性;它催生了许多有用的“大脑启发”应用。然而,最终的目标是发现和精确模拟一个生物学上更可信的计算范式,所以在这篇论文中,我们考虑尖顶神经元,就像上面引用的工作一样。
有很好的论据支持模拟神经元。这些论据主要集中在能源效率上。然而,与传统的计算一样,数字实现比模拟实现有许多显著的优势。然而,讨论数字神经元和模拟神经元的优点并不是我们的目标。相反,我们的目标是研究高效的数字神经元设计,并在效率和功能与实际生物规模的数字建筑的最终目标之间取得平衡。
这项工作使用了单室神经元模型。这些模型主要捕捉神经元体的行为,并形成许多计算研究的基础;[21] [44] [45]是一些随意选择的例子。然而,为了生物学上的准确性,需要更复杂的多室模型。例如,这些模型包括树突行为和神经元间延迟。这里研究的单室神经元可以构成计算的基础。增加神经元间延迟相对简单。树突计算也可以附加到单个单元模型中,例如在分级时态记忆模型[15]中所做的。
最后,由Izhikevich设计的[19]模型和相关的自适应指数模型[5]位于效率与复杂性权衡曲线的一个有趣点上。Izhikevich模型是一个经验模型,试图通过二次项来描述膜电位在生物学上更精确的方式。考虑到它的生物学精度,它相对简单,并被用于一些高性能、基于软件的设计;例如在gpu[10][31]中。然而,对于更多的基于硬件的实现,它在复杂性上比本文所研究的模型更进一步。此外,模型结构是基于一些参数的,为了进行良好的比较,这些参数必须仔细地适合这里使用的类型的模型,而这种拟合是众所周知的困难[35]。因此,这些模型是未来探索权衡的一个有趣的主题,但这里不讨论它们。

1.2 概述

作为背景,第2节简要概述了生物神经元的行为。第3节介绍了四个待研究的数字神经元模型:两个一级模型和两个二级模型。第4节讨论尖峰神经元的行为,并区分一级和两级神经元模型的行为。第5节介绍了评估方法,将使用的脉冲序列基准,以及比较脉冲序列的度量。第6节通过观察神经元模型在应用基准输入脉冲序列时的输出脉冲序列来简要比较神经元模型的行为。第7节评估能源效率使用附加等效操作计数度量。第8节提出了一种新的两阶段神经元,具有两阶段神经元的行为特征,但效率显著提高。

2 生物神经元的行为

2.1 神经元组件

图1说明了生物神经元的一般行为。在图中,一个突触连接一个突触前神经元和一个突触后神经元。实际上,一个神经元会有成千上万个这样的突触,将其与成百上千个其他神经元相连。然而,在任何给定的时间,只有大约10%的突触会影响神经元的功能[3]。
如突触前神经元所示,神经元体被一层膜包围,并由树突输入输入。它还有一个输出,即轴突,它通过突触与许多其他神经元的树突相连。

2.2 动态操作

图1显示了三个指示特定点电压水平的“探针”。首先,把注意力集中在突触前神经元轴突上显示的波形和突触后神经元膜上的波形上。考虑从突触前神经元发出的脉冲或动作电位开始的一系列事件。脉冲沿着轴突传播,到达突触,将轴突与突触后神经元连接起来。在突触处,它通过相对复杂的生物过程有效地打开了一个传导门。传导门允许离子流入突触后神经元体内,从而提高膜电位(见兴奋性突触后电位(EPSP),波形)。虽然没有显示,但在突触处接收到的尖峰可以选择性地调用抑制性突触后电位(IPSP),这降低了神经元的膜电位。“PSP”指抑制性或兴奋性突触后电位。

突触有一个相关的“功效”或“重量”,控制其相对电导率。更强的突触具有更高的传导性,导致振幅更高的PSP。
导电突触门打开后,立即以指数衰减开始关闭,因此流入突触后神经元的离子逐渐减少。与此同时,离子从神经元体内泄漏,从而以指数衰减降低膜电位,但时间常数比导电突触门的关闭更长。如图所示,指数衰减与不同时间常数的结合赋予了EPSP独特的形状。
最后,考虑图1右侧显示的更详细的波形。当一个神经元的输入突触接收到多个脉冲信号时,每个脉冲信号都会在突触后神经元上产生一个PSP。如图表所示,如果在时间上相对紧密地一起接收,PSP将积累,提高总膜电位。如果电位达到关键电平,即阈值电压,就会发生雪崩效应,神经元就会发出输出脉冲。紧接在输出尖峰之后,有一个不应期,在此期间神经元不能再次放电。如果没有足够的输入脉冲来将膜电位升高到阈值电压,它将最终衰减回剩余电位,并且不会发出脉冲。
在图1右侧的波形中,显示了典型的电压电平。耐火时间约为几毫秒。在图示中,只有大约三个非常接近的输入尖峰足以将身体电位提高到阈值。实际上,这个数字大约高一个数量级,但可以在很大范围内变化。

2.3 突触可塑性

突触权重可塑性是神经元学习过程的关键部分——权重可以根据尖峰行为动态变化。在本文中,突触权重是静态的,尽管分布在一个值的范围内。这在两种情况下是合理的。第一种,通过离线训练,训练计算设备,并在操作之前建立权重;在正常操作期间,它们不会改变。第二种,即使有动态在线训练和可塑性突触,权重也经常以伪静态的方式建模,更新发生在比神经元核心操作更粗略的时间尺度上[21] [38]。例如,在[21]中,权重更新每10000个时间步长执行一次(假设这里设置0.1毫秒的时间步长)。

3.尖峰神经元模型

从最早的工作开始,神经元建模的大部分工作都是为了理解生物神经元的行为。然而,生物约束下的进化表明,生物神经元操作的一些(也许许多)方面与潜在的计算范式无关。因此,重要的是要认识到生物模型和计算模型之间的差异,这种差异是由于为了提高计算速度和效率而进行简化而产生的。
不管目标是生物学的还是计算的准确性,神经元模型都有一个共同的祖先。在下一小节中,首先描述经典的Hodgkin Huxley 模型,以建立一个数学框架。然后描述了一系列四脉冲神经元模型及其高效的数字实现。

3.1 Hodgkin Huxley模型

Hodgkin Huxley模型(HH模型)[17]是经典的神经元模型,其开发者因此获得了1963年诺贝尔医学奖。在顶层,HH模型基于一个表征膜电位的RC电路(图2)。从左到右,RC模型由1)抑制突触的电导和反转电压
组成。电导是时间的函数,用下标t表示,2)兴奋性突触的电导和反向电压
(注意两个反向电压的极性差异),3)膜(泄漏)电导和剩余电压和4)膜电容CM和电压Vt。在生物现实模型中,描述可变电导的耦合微分方程非常复杂,这里不给出。在下文中,使用了电导方程的显著简化版本。

HH模型的一个特征是生物准确性,例如,它表征了膜电位的整个动态波形。然而,从计算的角度来看,输入输出尖峰行为似乎才是重要的。也就是说,人们真正需要的是能够支持神经元计算能力的功能性输入/输出尖峰行为。这导致了在计算神经科学中广泛使用的更简单的模型。

3.2泄漏集成和火灾(LIF)模型

根据最初的定义[41],LIF模型包含一个膜电位,该膜电位随某个时间常数呈指数衰减。随着时间的推移,已经开发了许多不同的基于LIF的模型。LIF模型的典型区别是突触电导对输入尖峰的响应建模。最简单的LIF神经元不直接模拟突触电导;输入尖峰导致膜电位阶跃变化。这些简单的LIF神经元将在3.4节中讨论。
一个常用的(更准确的)LIF模型包含随时间衰减的突触电导。为了区分这种特殊的LIF模型,本文称之为DLIF模型,一种突触电导衰减的LIF模型。DLIF模型是基于描述时间t,Vt时膜电位的微分方程。

如果Vt > Vth(阈值电压),神经元触发一个尖峰,并重置到Vrest,在Vrest处保持不应期tref。
如果在时间t通过突触i接收到兴奋性输入尖峰,则Sti = 1;除此之外Sti= 0。对所有输入突触i求和,在时间t,兴奋性电导gt E为:

其中wi是突触i的权重(0 ≤ wi ≤ 1),gE max是最大兴奋性电导。同样,对于抑制性突触:

同时,突触电导衰减满足微分方程:

其中τE和τI是各自的时间常数。
从刚刚给出的数学描述开始,我们可以推导出一个计算神经元膜电位的有效数字实现,从而计算出DLIF神经元的尖峰行为。

3.2.1电压偏移和缩放

数字实现效率的第一个优化是改变电压电平,使Vrest = 0,从而改变其他电压电平:

这种优化通常是这样做的。然而,我们继续进行额外的优化。我们通过除以阈值电压Vth来缩放电压值。这产生了被表示为固定点分数的膜电位,因此跨越触发阈值的测试被简化为检测膜电位何时变为1或更大。
:为了简化本文其余部分的注释,电压电平的移位前和移位后以及缩放后版本都使用相同的注释。

3.2.2保持膜电位

令式(1)中Vrest = 0,然后除以CM,得到

对于同步运行,我们形成时间步长∆t的离散时间版本:

定义膜泄漏时间常数:τm = CM/gM,应用一系列直接的代数运算:

方程(2)将直接映射到数字实现中。接下来,我们讨论数字突触。

突触电导

将突触电导gt E和gt I建模为:

转换到离散形式,加上简单的代数产量:

增加每个时钟周期的突触输入权重:

3.2.4把它们放在一起

式(2)中,∆t/CM为常数。我们利用分配律将这个常数推回到式(3)(4)中,并定义:

这种元权重消除了(2)中许多隐含的常数乘法。这也意味着(3)和(4)的修正版本产生的无因次量是电压乘数,而不是电导。为了避免混淆,将“g”量替换为“d”量。然后,我们有:

EPSP为一个单个输入尖峰如图3a所示。实现这些方程的RTL如图4a所示。在图4中,大括号{n}中的数字标识了后面要引用的动态操作计数的来源(第7节)。

DLIF是一个两阶段模型。在突触阶段(左边),有一个锁存无因次乘数(d)值和一个乘法衰减,接着是膜阶段(右边),有一个锁存水平,保持膜电位和它的乘法衰减。

3.3峰值响应模型(SRM0)

SRM0是更一般的尖峰响应模型[13][25]的“零阶”版本。在SRM0模型中,单个尖峰响应(图3a)被假设为独立的,并简单地求和得到膜电位。除了简化DLIF数字神经元之外,SRM0假设也简化了对神经元计算能力的分析。
如果我们使用图2中的RC电路来描述对单个尖峰的响应,并对尖峰响应的独立性做出SRM0假设,经过几个步骤的推导,为了简洁,我们得到一个神经元,我们称之为DSRM0神经元。它与DLIF神经元相似,除了DLIF神经元中的-(dt E + dt I)∆t/CM不在DSRM0神经元中出现。这个被去除的项反映了脉冲响应之间的相互作用,以相对较小的方式影响膜电位。删除这个项本身不仅是一种简化,而且还允许将常数VE和VI的乘法推回到突触元权重中,从而产生以下结果。

这也将突触阶段保持的数量改变为电压。对电压进行缩放,使Vth = 1,就像对DLIF神经元所做的那样,得到图4b中的实现。

3.4带阶跃输入的LIF(SLIF)模型

对于数字神经元简化序列的下一步,我们从斯坦[41]定义的神经元模型开始。该模型使用一个简单的步骤来模拟输入尖峰对膜电位的影响,得出:

其中vE max和vI max是峰对膜电位的最大贡献(分别在wi = 1或wj = 1时出现)为了简化起见,我们定义了元权重Wi = wivE max,Wj = wjvI max,其方式类似于以前的神经元。这是SLIF神经元;单个输入尖峰的EPSP在图3b中,RTL实现在图4c中。

3.5线性泄漏集成和火灾(LLIF)

要考虑的第四个神经元模型是进一步的简化,它执行膜电位的线性衰减而不是指数衰减[33][39][43]。这意味着衰减可以通过减去一个常数而不是乘以一个常数来实现。膜电位方程式如下。

VL是从膜电压中反复减去的恒定泄漏值。这个神经元被称为线性泄漏积分和火灾(LLIF)神经元。单个输入尖峰的EPSP在图3c中,RTL实现在图4d中。

4. 神经元行为

在本节中,将根据基于尖峰的输入输出行为来分析四种神经元实现。然后,在随后的部分中,比较它们的尖峰响应行为和相对计算效率。
使用尖峰神经元的动机是,精确的时序关系通常对大脑的计算范式至关重要。这一点在总结实验数据的论文[4][29][42]中有所阐述,这些数据强烈表明,单个尖峰脉冲的定时(而不仅仅是速率)对于哺乳动物大脑执行的一些低延迟计算是至关重要的。马斯[28]为基于尖峰的计算提供了强有力的理论论据,而不是基于速率的计算。
马斯还指出,PSP的前缘斜率是单个神经元的一个潜在的重要计算特征[27]。定性地说,一级神经元和二级神经元的关键区别在于,一级神经元的PSP前沿具有无限斜率,二级神经元的PSP具有非无限的前沿斜率(参见图4)。这种差异导致不同的输入输出传递特性。这通过图5中的一个例子来说明。

当多个尖峰信号在时间上非常接近时,前缘斜率会影响输入输出行为,从而使它们的前缘斜率重叠。非正式地,我们会说,如果有更多的输入尖峰在时间上看起来更接近,神经元的输入尖峰强度就更大。图5a左侧显示了DSRM0神经元的膜电位,其中多个尖峰(范围从1到6个)同时出现;这种情况是为了说明而选择的,表现出最大的前缘重叠。对更少尖峰的响应比对更多尖峰的响应需要更长的时间来达到阈值Vth。 图 5a右侧显示了输入强度(同时出现的尖峰数)和输出尖峰延迟之间的关系。尽管它不满足PSP独立性的SRM0假设,但DLIF神经元的响应非常相似。
相比之下,图5b左侧显示了SLIF神经元的尖峰响应和潜伏期与强度的关系。在这种情况下,不管强度如何,等待时间都是相同的,只要强度足以达到阈值。尽管它不符合PSP独立性的SRM0假设,但LLIF神经元的响应是相似的。
一些建模者更喜欢构建包含背景“噪声”的系统,背景“噪声”被添加到神经元模型的行为中[6][37]。因此,进行了一组模拟,其中在每个时间步长将高斯噪声添加到膜电位。选择高斯噪声的西格玛值,使得在没有输入尖峰刺激的情况下,自发输出尖峰速率约为5 Hz。然后,改变同时输入尖峰的数量,并测量输出尖峰的等待时间。结果平均超过500次试验。图6显示了延迟与强度的对比结果。x轴显示尖峰强度,y轴显示平均潜伏期。由于噪声的存在,当强度相对较低时,一些试验不会产生输出尖峰;对于少于50%的试验导致峰值的情况,曲线中的虚线表明了这一点。随着噪声的增加,SLIF神经元的轮廓现在具有与DSRM0轮廓相同的一般形状。然而,DSRM0行为仍然不同于SLIF神经元的行为。第一,在高强度曲线的末端,SLIF神经元的响应比DSRM0神经元的响应稍平;这在质量上类似于无噪声情况,但不那么极端。在较低的强度下,SLIF神经元显示出向上的曲线,但是较高比例的反应没有显示出输出尖峰。因此,在存在附加背景噪声的情况下,一级和两级神经元之间仍然存在行为差异,尽管该差异小于无噪声情况,并且曲线的整体形状现在更加相似。

最后,有点相关的一点是,使用单级神经元及其阶跃输入可以简化事件驱动建模。当尖峰到达一级神经元的输入端时,可以立即确定神经元是否以及何时会产生输出尖峰。因此,尖峰事件可以被立即放置在事件队列中,而不需要稍后对队列进行调整。然而,在本文中,我们不考虑事件驱动模拟,而是假设时钟周期模拟。

5. 评估方法

刚才描述的四个数字神经元在尖峰行为和能量效率方面有所不同。在本节中,描述了评估尖峰行为和效率的方法。

5.1模拟器

评估是基于模拟的。神经元模拟模型是用GNU Octave(一个Matlab克隆)编码的。该模型将多个尖峰序列作为输入,并生成单个输出尖峰序列。作为副产品,仿真模型保持重要的内部神经元值。例如,膜电位是所有神经元模型共有的。

5.2尖峰队列基准

模拟模型被配置为每个有100个突触,80%兴奋性和20%抑制性的比率(在真实的皮层区域中发现的典型比率)。
根据沃格尔斯等人[44],基准由相关的、随机分布的输入尖峰序列组成。该方法首先产生一个“白噪声”信号:介于-.5和. 5之间的随机数。然后,这个随机序列被过滤并归一化为-1,1。接下来,信号被整流并重整为0.1。最后,增加5 * △t(. 5毫秒)以确保5 HZ的背景射速。该波形用于生成所有100个输入尖峰序列。对于每个尖峰序列,在每个时间步长,生成一个介于0和1之间的随机数。如果随机数小于波形值,则产生尖峰;否则没有尖峰。所有100个尖峰序列的光栅图如图7a所示。

对于基准测试,突触权重是根据对数正态分布设置的[40]。兴奋性突触的平均值为0.55,抑制性突触的平均值为0.24。这些权重,加上80/20的激励和抑制分布,在20,000时间步长(2秒)的模拟中产生了包含大约70个尖峰的输出尖峰序列。图7b显示了DLIF神经元的膜电位;阈值被归一化为1,尖峰出现的位置是明显的。
请注意,选择上述标准化值0.1是为了产生约35 Hz的总尖峰速率,该值在正常活动范围内。如果模拟更真实数量的突触输入,比如说1000个,那么标准化值将被减少以产生大致相同数量的输出尖峰。因此,这里报道的整体突触活动(第7节)对于大量的突触来说基本上是不变的。

5.3 比较尖峰序列

为了比较输出尖峰序列,使用了由格斯特纳群定义的重合度[22][25]。

其中,Ndata是参考尖峰序列中的尖峰数(DLIF将是参考),Nmodel是要与参考进行比较的尖峰序列中的尖峰数,Ncoinc是具有精度δ的尖峰序列之间的重合数。〈Ncoinc 〉 = 2fδ Ndata是由均匀泊松过程以与模型尖峰序列相同的速率产生的尖峰出现的重合次数。最后一个因子,1/N,将Γ归一化到最大值1(N = 1-2fδ)。Γ= 1仅当两个尖峰序列完全重合时(在时间δ内)。δ = 2毫秒,如[22]所示。因为不应期,tref = 5毫秒,“符合”是不含糊的。如果巧合的数量与模型是具有相同尖峰数(即随机机会)的齐次泊松过程的情况相同,那么Γ= 0。请注意,Γ可以是负的,即符合性可能比随机机会预测的更差。

5.4 模型校准

比较神经元模型时需要考虑的一个重要问题是,模型的结构差异会导致模型参数的不同。因此,我们希望建立模型参数,以便模型之间的输入/输出行为尽可能相似,从而实现更有意义的效率和功能比较。
为了建立跨模型的参数,最复杂的神经元,DLIF,被用作参考。然后,给定参考及其参数,通过最大化它们的Γ度量来选择其他神经元的参数。
DLIF神经元的参数见表1。这些数字在真实神经元的范围内,请记住,在真实神经元中,参数范围相当宽。该表显示了原始参数值,以及经过移位和/或缩放后用于仿真模型的值,以提高实施效率(参见第3.2.1节)。

其他神经元的拟合过程很简单。其他神经元的参数拟合如下。

  1. DSRM0:调整时间常数,但保持与DLIF神经元相同的比率。所有其他参数与DLIF神经元相同。
    2)SLIF:DLIF参数用于确定可达到的最大EPSP值和IPSP值。然后,将这些值乘以拟合的比例参数,以确定膜电位的阶跃变化。膜衰减时间常数是第二个拟合参数。
  2. LLIF:膜电位的阶跃性增加被模拟为SLIF神经元。线性减量值VL是一个附加的拟合参数。
    此外,一级神经元固有地比二级神经元具有更低的潜伏期,因为它们的膜电位响应于输入尖峰而瞬间改变。这导致神经元输出尖峰的系统时间偏移。因此,为了获得最佳拟合,有必要时移(延迟)一级神经元的输出尖峰序列。表2给出了神经元的参数,包括时移。还给出了相应的Γ值。

6.行为比较

表2中给出的Γ度量提供了一种比较输出尖峰相似性的方法。DSRM0神经元产生与DLIF参考神经元最大的相似性,Γ= 1.0。缩放DSRM0神经元中突触和膜衰减的时间常数可以很大程度上补偿相对于DLIF神经元的结构简化。
一级神经元与DLIF参考神经元的相似性较小,但是它们的Γ值0.80和0.87仍然相对接近(例如,与[22]中的结果相比),并且,公平地说,这种度量本身并不特别重要。同一类型的真实神经元相互偏离的程度通常大于一级神经元偏离DLIF神经元的程度。
为了说明第4节中讨论的PSP前缘斜率的影响,以下列方式摘录和使用了基准尖峰序列。首先,在时间步长16500和16650之间,识别出一个高尖峰活动区域。然后,在该区域中,神经元被模拟为一系列运行,其中兴奋性尖峰序列的数量从40递增到80,而所有20个抑制性尖峰序列都是活跃的。因此,每次运行逐渐增加重叠的尖峰响应,但实际尖峰模式有一定的随机性。
图8显示了三个神经元的结果:DLIF、LLIF和PSRM0(见第8节)。为了减少混乱,没有显示另外两个神经元,但是正如所料,DSRM0类似于DLIF,SLIF类似于LLIF。

由于PSP前缘斜率造成的行为差异是明显的,但比图5中明确构建的示例更微妙。每组数据点基本上将相对延迟绘制为输入尖峰序列数量的函数。两阶段DLIF神经元显示出比一阶段LLIF神经元更强的分辨强度差异的能力。定量地说,DLIF神经元在31个不同的时间步长将输入强度分解为输出尖峰,而LLIF神经元在20个不同的时间步长具有输出尖峰。一个很小的区域被封闭在一个椭圆中,其中的差异是明显的。该区域显示的行为非常类似于图5中预测的行为。

7.效率

在构建大规模系统时,高能效的数字神经元至关重要。RTL实现中的主要操作是加法和乘法,因此我们使用一个简单的效率度量来计算加法等价操作的数量。

7.1将乘法简化为加法

乘法被转换为加法等价形式,在此过程中,通过乘法器重新编码,实现变得更加高效。DLIF和DSRM0神经元中的乘法运算具有恒定的操作数(例如,衰减值)。这些常数首先不是非常精确(它们是基于生物学的),并且,通过乘法器重新编码,它们可以用相对少量的比特来近似,从而将每次乘法减少到少量的加法(例如,两个或三个)。
例如,从表2中,对于DSRM0神经元,τM =.017675, ∆t = .1毫秒,所以衰变乘数是1-∆t/τM = 0.994342291。这在二进制中约为0.994628906 = 1-. 0000001011。实现乘法是四个操作数的三次加法(和/或减法),所有这些操作数都是换算膜电位的移位版本。
如果对一个衰减值进行截断和重新编码,隐含乘法对加法数的减少如图9所示。图中的每个符号对应一个衰减值(在x轴上),符号出现的行(y轴)是实现给定衰减值的乘法所需的加法数。

在第1行,这些值对应于膜电位从其自身减去一个移位版本。即第一列中的顶值是1-2^(-11)(所有分数都被截断为11位)。仅通过一次加法形成的这组衰减值显得过于粗糙。两次添加的集合通常就足够了(第2行),但仍有一些明显的差距。通过三次添加(第3行),似乎所有实际衰减值都可以足够精确地近似。例如,如果我们将DSRM0神经元中的衰减乘法减少到三个加法等效项,并将基准的输出尖峰序列与表2中给出的全精度常数进行比较,相似性度量Γ= 1.0。

7.2结果

衰减乘法被三次加法代替后,基准的加法等效动态操作计数如图10所示。最右边一列的神经元将在第8节讨论。假设零操作数导致相应的加法被关闭,并且不包括在计数中。请注意,对于DLIF神经元,还可以将常数VE和VI的乘法转换为三次加法。操作计数用图4示意图中的支撑编号标注。
{1}突触添加–由于第一阶段突触加法器中有额外的操作数,两个阶段的神经元在添加突触权重时会执行更多的操作。
{2}突触衰减–这些仅由两个阶段的神经元执行,这是比实现的任何其他部分执行更多操作的地方。
{3}、{4}计算电位变化和计算衰减值–DLIF神经元执行这两项操作,模拟尖峰响应之间的相互作用(参见第3.3节)。反向电压的两次乘法消耗大量运算,然而,如前所述,它们对尖峰行为的影响相对较小。
{5}求和膜输入–DLIF神经元和DSRM0神经元都必须对第一阶段的数据求和,然后才能将其传递到第二阶段。这不是在一级神经元中完成的。
{6}膜衰减–除了LLIF神经元之外,所有神经元都使用乘法衰减(三个加法等效项),而LLIF神经元对线性泄漏值进行一次减法运算。此外,LLIF膜电位更常为零,因此衰变操作更常被关闭。因此,LLIF神经元执行大约四分之一的膜衰变操作,作为两级神经元。

简单总结一下:LLIF神经元的运算量不到DLIF神经元的十分之一。DSRM0神经元比DLIF神经元需要更少的操作,但它仍然需要LLIF神经元几乎八倍的操作。与此同时,SLIF神经元所需的运算次数是LLIF神经元的两倍。
关于上述分析,有一个重要的警告:这些效率数字只是针对神经元和突触的。与核心神经元能量相比,在大型神经元网络中分配输出尖峰所需的能量将是显著的。

8.一种高效的两级神经元

根据总体设计目标和假设,出于计算原因,设计者可能需要两级神经元(第4节),然而,正如刚刚显示的,在效率方面,一级和两级神经元之间存在非常大的差距。在本节中,提出并评估了两种降低两级神经元效率的方法。当两个特征结合使用时,结果是一个新的、高效的两阶段神经元。

8.1联合突触衰减

DSRM0神经元是起点。因为对DSRM0的总操作数贡献最大的是突触衰变,所以它是简化的第一个目标。然后在下一小节,突触和膜衰变操作都简化了。
兴奋性和抑制性电导随不同的时间常数而衰减。如果两者以相同的时间常数衰减,大约一半的突触衰减操作可以被消除。因此,人们可以用τE来表示两者,并通过调整(增加)抑制突触的权重来补偿τI的减少。通过模拟,可以确定,如果抑制权重增加1.90倍,电导可以与输入/输出行为的微小变化相结合,这是直观的,因为抑制时间常数减少了2.0倍。当在DSRM0神经元中实现这种优化时,它将突触衰减和膜电位更新的操作减少了大约一半(图10 {2}和{5})。

8.2衰变的分段线性近似

在第7.1节中,衰减乘法被简化为三次(或更少)加法。在本节中,我们进一步将衰减操作简化为一次减法。我们不是像LLIF神经元那样在膜电位的整个范围内减去一个泄漏值,而是使用一系列泄漏值来形成指数衰减的分段线性近似。
如果衰变时间常数为τ,那么半衰期为τln2。在离散条件下,从2^(-n) 到2^(n-1) 的膜电位衰减需要τln2/∆t个时间间隔。因此,在2^(-n) 至2^(–n-1) 范围内,可以使用恒定减量2^(–n-1) *∆ t/τln2。例如,用τM = 20毫秒,∆t = .1毫秒来衰减膜电位,膜衰减操作数是DM = .00347。因此,对于膜电位2^(-n) > Vt≥2(–n-1),减量值为2(–n-1) * . 00347。在每个时间步长,该实现产生衰减减量值,作为常数DM的二进制移位。实现逻辑确定衰减值(例如,膜电位Vt)中前导值的位置。如果该位位置的权重为2^(–n-1),则减量值被右移n-1位位置。
在两阶段神经元中,我们可以在两个阶段应用这种分段线性近似:突触衰减逻辑和膜衰减逻辑。

8.3具有分段线性衰减的两级神经元

如果前面两个小节中的简化结合起来,结果是一个具有分段线性衰减的神经元(表示为PSRM0);参见图11。这是一个两阶段神经元,其潜伏期与强度的关系如图5a所示。

在对衰减常数进行参数拟合并将输出尖峰序列与DLIF神经元进行比较之后,对于尖峰序列基准,其Γ度量为0.82;就像LLIF和SLIF神经元一样。它的功能行为与DLIF神经元非常相似(图8)。最后,图10显示PSRM0神经元比LLIF神经元需要多2倍的加法等效运算。因此,我们得到了两级神经元的功能特性,其效率比其他两级神经元更接近LLIF神经元。
最后,注意移位操作的逻辑不计入操作估计;这将需要更详细的设计,以获得更好的能源估计。然而,移位常数至少是准静态的,因为当衰减值通过给定的范围时,移位值是不变的。

9. 结论

本文的重点是数字神经元,以支持大脑计算范式的发现和未来实现的架构。所以,从这个角度得出结论。
两级神经元提供具有倾斜前缘的PSP,而具有对膜电位的单步输入的一级神经元不提供。这导致了行为上的差异,根据放置神经元模型的系统和设计者的假设,这种差异可能重要,也可能不重要。另一方面,一级神经元的能量效率更高,在事件驱动的系统实现中可能具有优势。此外,如果添加背景噪声,并在多次试验中对尖峰行为进行平均,则行为差异小于无噪声情况。
鉴于大脑的计算范式尚不可知,计算机架构师/研究人员必须做出一个重要决定:要么PSP前沿斜率对于实现正在研究的计算范式很重要,要么不重要。如果是,那么应该使用两阶段神经元。如果没有,那么单阶段神经元显然是赢家。
在两个阶段的神经元中,DSRM0神经元的效率比DLIF神经元高约30%。而且,可以说,DLIF神经元中的额外操作只是生物实现的产物,对于捕捉大脑的计算范式是不必要的。计算神经科学家在使用SRM0模型时含蓄地提出了这一论点。
通过1)组合突触衰减(并通过调整权重进行补偿)和2)实现分段线性衰减,PSRM0神经元提供了倾斜的前沿PSP,并给出了比DSRM0实现更好的几个因素的效率。这使得它成为需要两级神经元行为的大规模系统的绝佳选择。
如果选择单级神经元,那么LLIF神经元的效率是SLIF神经元的两倍,而且似乎没有任何明显的计算缺点。因此,就纯粹的效率而言,LLIF神经元是赢家。此外,从功能的角度来看,多个LLIF神经元可以相互连接,以提供更复杂的尖峰时序关系,但效率变得更差[7]。
两级神经元的选择也为模拟与数字的争论火上浇油。使用两级神经元只会扩大儒贝尔等人强调的效率差距。然而,正如已经指出的,在作出任何关于效率的最终决定之前,应该考虑整个系统的效率,包括尖峰通过大的互连结构。
最后,支撑所有硬件神经元实现研究的一个假设是,单个神经元将构成未来大规模系统的基本构件。结果可能是,一旦范式被更好地理解,更高层次的抽象,比如皮层柱,可能是更好的基础(例如,见[11]),单个神经元不必被建模。如果是这种情况,那么功能/效率的权衡就会发生显著的变化。

10. 感谢

我感谢Mikko Lipasti、Atif Hashmi和Andy Nere为从事这一研究提供了动力。我也非常感谢道格·伯格(Doug Burger)和奥利维尔·特拉姆(Olivier Temam)在修改过程中的指导。我非常感谢匿名评审者的有益评论,我感谢其中一位评审者建议在第4节中加入背景噪音。

ISCA文献翻译:第三篇Efficient Digital Neurons for Large Scale Cortical Architectures相关推荐

  1. 计算机两万字符英语文献翻译,求一篇2万字符以上的工程类外文文献及翻译

    小_金猪. 2017.03.31 采纳率:27%    等级:12 已帮助:750人 毕业论文外文文献翻译要求 一.翻译的外文文献可以是一篇,也可以是两篇,但英文字符要求不少于 2 万 二. 翻译的外 ...

  2. 提气!阿里平头哥三篇论文入选 ISCA

    作者 | 马超 责编 | 胡巍巍 出品 | CSDN(CSDNnew) 近日计算机体系结构方面的顶级学术会议ISCA2020公布了论文入选结果(http://iscaconf.org/isca2020 ...

  3. idata免费下载三篇文献

    https://www.cn-ki.net/ 每天可以下载三篇文献.

  4. Overfeat,RCNN,Sppnet 2014年三篇经典文献及其创新思路总结

    文章目录 0,让人影响深刻的点(关键点) 1,网络结构,实现步骤概览 1,RCNN 网络结构 实现步骤 2,Overfeat 网络结构 3,SPP-Net 网络结构 2,各网络缺点 3,创新思路 3. ...

  5. 我的MVC之旅(3)--------MVC Music Store 第三篇 Views and ViewModels [翻译]

    前言 有网友说不要浪费时间了赶紧干点正事,也有人觉得还不错:我个人觉得看懂是一回事,但是能够写出来分享是另一回事,这样记忆深刻有助于加深自己的理解,而且可以帮助有些和我一样的初学者,遇到的问题,怎么解 ...

  6. 知云文献翻译打不开_科研星火 | 基础技能——翻译篇

    医学本科 SLOFFDE 探索学习 是不是对几十页文献的全篇翻译感到头疼呢?不要急,小编接下来带来干货满满的小技巧哦. 01 Doc.translato www.onlinedoctranslator ...

  7. castle典范英语 storm_新版典范英语 第三篇翻译

    典范英语 7 1 新版典范英语 7 (旧版 6 ) 3 第三篇 Princess Pip's Holiday 皮皮公主的假期 1 Ready to go 准备出发 Everyone in Prince ...

  8. php面试英文自我介绍范文带翻译,外企面试英语自我介绍优秀范文三篇

    篇一:外企面试英语自我介绍 Good morning, my name is xx, it is really a great honor to have this opportunity for a ...

  9. Image Retrieval: Ideas, influences, and trends of the new age 图像检索综述 文献翻译(一)

    Image Retrieval: Ideas, influences, and trends of the new age ACM literature 文献翻译 此处奉上原文链接:http://in ...

最新文章

  1. [Leedcode][JAVA][第15题][三数之和][数组][双指针]
  2. html 获取鼠标在canvas上的坐标,html5-canvas 检测鼠标在画布上的位置
  3. pycharm配置python环境变量_求教大家 pycharm 中,环境变量 path 的问题!
  4. redis数据库的安装配置
  5. 基于流程的多维度企业管理框架(第三稿)
  6. Intel® Math Kernel Library (Intel® MKL)
  7. 下载蓝盒插件_bilibili哔哩哔哩下载助手
  8. 开源| 直播推拉流2.0升级了什么
  9. 计算机毕业论文外文译文,计算机毕业论文外文文献译文
  10. es的bucket和metric
  11. 利用python进行识别相似图片(一)
  12. 手机内存跟电脑内存的区别
  13. mongodb-更新操作符
  14. 4G图传移动视频取证-可视安全生产监管-常见问题解答FAQ
  15. 【LIS】【打地鼠】
  16. 中国宠物医疗市场产业消费需求及盈利前景预测报告(2022-2027年)
  17. java面试题:2年工作经验java简历包装,面试为什么公司不通过
  18. 液晶显示器原理和应用
  19. 字体文件反反爬-- 起点中文网
  20. PCA主成分分析算法专题【Python机器学习系列(十五)】

热门文章

  1. 大数据求索(6): 使用Flume进行数据采集单机监控端口、监控文件、跨节点等多种方式
  2. 金仓KFS for Oracle RAC one node安装部署
  3. 基于安装django报错信息的处理方案
  4. springcloud-瞬间了解springcloud整体架构
  5. 奶粉事件-不合格企业及奶粉批次
  6. 使用obsidian数据同步至Git,从而解决obsidian多端同步收费的问题-windows
  7. 【Java编程系列】Minio实现文件上传下载
  8. php7.0 freetype_Mac php安装freetype
  9. Python简单实现ATM自动存取款机
  10. 无限互联iOS开发视频教程,Objective-c基础部份,官方高清HD迅雷下载