没有合适的资源?快使用搜索试试~ 我知道了~
qingyanmeng@link.cuhk.edu.cn, {mingqing xiao, yanshen, yisen.wang, zlin}@pku.edu.cn,124440通过脉冲表示上的微分训练高性能低延迟的脉冲神经网络0Qingyan Meng 1 , 2 , Mingqing Xiao 3 , Shen Yan 4 , Yisen Wang 3 , 5 , Zhouchen Lin 3 , 5 , 6 , * , Zhi-Quan Luo 1 , 201 香港中文大学深圳研究院 2 深圳市大数据研究院 3机器感知(教育部重点实验室),北京大学人工智能学院 4 北京大学数据科学中心 5北京大学人工智能研究院 6 鹏城实验室0luozq@cuhk.edu.cn0摘要0脉冲神经网络(SNN)是一种在神经形态硬件上实现时具有很高能效的人工智能模型。然而,由于其不可微分性,高效地训练SNNs是一项挑战。大多数现有的方法要么遭受高延迟(即长的模拟时间步长),要么无法达到与人工神经网络(ANNs)相当的高性能。在本文中,我们提出了脉冲表示上的微分(DSR)方法,该方法可以实现与ANNs相竞争的高性能,同时具有低延迟。首先,我们使用(加权)发射率编码将脉冲列编码为脉冲表示。基于脉冲表示,我们系统地推导出常见神经模型的脉冲动力学可以表示为一些次可微分的映射。基于这个观点,我们提出的DSR方法通过映射的梯度来训练SNNs,并避免了SNN训练中常见的不可微分性问题。然后,我们分析了使用SNN的前向计算来表示特定映射时的误差。为了减少这种误差,我们建议在每一层中训练脉冲阈值,并引入一个新的超参数用于神经模型。通过这些组件,DSR方法可以在静态和神经形态数据集上实现具有低延迟的最先进的SNN性能,包括CIFAR-10,CIFAR-100,ImageNet和DVS-CIFAR10。01. 引言0受生物神经元以脉冲进行通信的启发,脉冲神经网络(SNNs)近年来受到了极大的关注。这种潜力取决于它们在神经形态硬件上的能量效率[7, 31,35],而深度人工神经网络(ANNs)则需要大量的0* 通讯作者。0功耗。0然而,SNNs的训练是一个重大挑战[43],因为SNNs中的信息是通过不可微分的脉冲列进行传输的。具体而言,SNN计算中的不可微分性阻碍了基于梯度的反向传播方法的有效使用。为了解决这个问题,提出了替代梯度(SG)方法[15,33, 40, 46, 53]和ANN到SNN转换方法[4, 10, 38, 39,50],并取得了最佳性能。在SG方法中,将SNN视为循环神经网络(RNN),并通过时间反向传播(BPTT)框架进行训练。在反向传播过程中,通过一些替代梯度来近似非可微分的脉冲函数的梯度。尽管SG方法可以以低延迟(即短的模拟时间步长)训练SNNs,但它无法达到与领先的ANNs相当的高性能。此外,采用的BPTT框架需要在层与层之间的空间域和时间域中反向传播梯度,导致SG方法的训练时间长,内存成本高。高训练成本进一步限制了大规模网络架构的使用。另一方面,ANN到SNN转换方法直接从相应的ANN确定SNN的网络权重,依赖于SNN的发射率与ANN的激活之间的关系。转换方法使得获得的SNN能够与其ANN对应物一样胜任。然而,通常需要不可接受的高延迟,因为只有大量的时间步才能使发射率接近ANN的高精度激活值[21,38]。总的来说,通过这两种广泛使用的方法获得的SNNs要么无法与其ANN对应物相竞争,要么遭受高延迟的问题。0在本文中,我们通过引入不同的SGDSR方法来克服低性能和高延迟问题。124450表1.ANN到SNN转换、替代梯度(SG)和DSR方法在延迟、低延迟性能和神经形态数据适用性方面的比较。0转换SG DSR0延迟 高 低 低 性能 w/ 低 中 高 低 延迟 神经形态不适用 适用 适用 数据 不适用 不适用 不适用0脉冲表示(DSR)方法来训练SNN。首先,我们将脉冲神经元的(加权)发放率视为脉冲表示。基于这种表示,我们展示了具有常见脉冲神经元的SNN的前向计算可以表示为一些次可微映射。然后,我们推导出反向传播算法,同时将脉冲表示视为信息载体。通过这种方式,我们的方法将时间信息编码到脉冲表示中,并通过其次可微映射进行反向传播,避免在每个时间步骤计算梯度。为了有效地训练具有低延迟的SNN,我们进一步研究了由于SNN到映射逼近而导致的表示误差,并提出训练脉冲阈值并引入新的超参数来减少误差。通过这些方法,我们可以训练出高性能低延迟的SNN。并且在表1中说明了DSR方法与其他方法之间的性质比较。形式上,我们的主要贡献总结如下:01.我们系统地研究了常见脉冲神经模型的脉冲表示,并提出了DSR方法,该方法使用表示通过反向传播来训练SNN。所提出的方法避免了SNN训练中的非可微性问题,并且不需要通过时间域进行昂贵的误差反向传播。02.我们提出训练脉冲阈值并引入新的超参数来减少脉冲神经模型的表示误差。这两种技术极大地帮助DSR方法以高性能和低延迟训练SNN。03. 我们的模型在CIFAR-10 [26]、CIFAR-100[26]、ImageNet [8]和DVS-CIFAR10[29]数据集上实现了具有低延迟的竞争性或最新技术(SOTA)SNN性能。此外,实验还证明了DSR方法在超低延迟或深度网络结构下的有效性。02. 相关工作0许多工作在训练SNN时寻求生物可行性[5, 24,28],使用Hebbian学习规则的推导[20]。然而,这种方法无法达到竞争性的性能,并且无法适用于复杂的数据。0除了脑启发方法之外,SNN学习方法主要可以分为两类:ANN到SNN的转换[10-12, 17, 18, 23, 25, 38, 39,50]和直接训练[1, 2, 13-15, 22, 32, 33, 40, 46, 47, 49,51-53]。我们讨论了转换和直接训练方法,然后分析了它们所使用的信息表示。0ANN到SNN转换此转换方法的可行性依赖于SNN的发放率可以通过具有相应架构和权重的ANN的激活来估计[38]。通过这种方法,目标SNN的参数直接由源ANN确定。目标SNN的性能应该不比源ANN差太多。已经提出了许多有效的技术来减小性能差距,例如权重归一化[39]、时间开关编码[17]、速率规范层[12]和偏置移位[10]。最近,转换方法已经实现了高性能的ANN到SNN转换[10, 30,50],甚至在ImageNet上也是如此。然而,好的性能是以高延迟为代价的,因为只有高延迟才能使发放率接近高精度激活。当使用转换方法时,这一事实损害了SNN的能量效率。此外,转换方法不适用于神经形态数据。在本文中,我们借鉴了ANN-SNN映射的思想,为训练SNN设计了反向传播算法。然而,与通常的ANN到SNN转换方法不同,所提出的DSR方法可以在静态数据和神经形态数据上以低延迟获得高性能。0直接训练受到基于梯度下降算法训练人工神经网络(ANN)的巨大成功的启发,一些工作将SNN视为RNN,并直接使用BPTT方法对其进行训练。该方案通常利用替代梯度来处理不连续的尖峰函数[2,33,46,53],或者计算损失相对于尖峰时间的梯度[32,48,54]。其中,替代梯度方法在较低的延迟下实现了更好的性能[15,53]。然而,这些方法需要通过时间步长反向传播误差信号,因此在训练过程中计算成本很高[9]。此外,计算梯度的不准确近似或“死神经元”问题[40]限制了训练效果和大规模网络架构的使用。所提出的方法使用尖峰表示来计算损失的梯度,并且不需要通过时间步长进行误差反向传播。因此,所提出的方法避免了直接训练的常见问题。一些工作[44,45]也使用了类似的前向和后向传递解耦的思想来训练前馈SNNs;然而,他们既没有系统地分析表示方案,也没有分析表示误差,即使在高延迟下,他们也无法达到与我们相当的准确性。= I(t),V < Vth, (1)= −(V (t) − Vrest) + I(t), V < Vth, (2)LIF: f(V, I) = e− ∆tτ V +1 − e−(8)124460SNN中的信息表示在SNN中,信息通过一些尖峰列的表示来传递[34]。主要有两种表示方案:时间编码和速率编码。这两种方案分别将精确的发射时间和发射速率视为信息载体。时间编码被一些直接训练方法采用,这些方法计算相对于尖峰时间的梯度[32,48,54],或者少数ANN到SNN方法[17,42]。使用时间编码,由于稀疏尖峰,这些方法通常在神经形态芯片上具有低能耗。然而,这些方法要么需要不适合芯片的神经元设置[17,42,54],要么只在简单数据集上表现良好。速率编码被大多数ANN到SNN方法[10-12,18,25,38,39,50]和许多直接训练方法[45,49]采用。基于速率编码的方法通常比基于时间编码的方法具有更好的性能。此外,最近的进展显示了基于速率编码方案在低延迟或稀疏发射方面的潜力[49],使其有可能达到与时间编码方案相同甚至更好的能效水平。在本文中,我们采用速率编码方案来训练SNN。03. 提出的尖峰表示(DSR)方法03.1. 尖峰神经模型0尖峰神经元模仿生物神经元之间通过尖峰列进行通信。在本文中,我们采用了广泛使用的积分-火灾(IF)模型和漏积分-火灾(LIF)模型[3],这两种模型都是简化模型,用于描述尖峰生成过程。每个IF神经元或LIF神经元将接收到的尖峰“积分”为其膜电位V(t),膜电位的动态可以形式上描述为0IF:d V ( t )0LIF:τ d V ( t )0其中V rest是静息电位,τ是时间常数,Vth是尖峰阈值,I是与接收到的尖峰相关的输入电流。一旦膜电位V在时间t f 超过预定的阈值V th,神经元将发射一个尖峰并将其膜电位重置为静息电位Vrest 。输出尖峰列可以使用Dirac delta函数表示s ( t ) = �0t f δ ( t − t f )。实际上,动力学的离散化是必需的。离散化模型描述如下:� � �0� 0U [ n ] = f ( V [ n − 1] , I [ n ]),(3a)0s [ n ] = H ( U [ n ] − V th ),(3b)0V [ n ] = U [ n ] − V th s [ n ],(3c)0其中U [ n ]是重置前的膜电位,s [ n ] ∈ { 0 , 1}是输出脉冲,n = 1 , 2 , ∙ ∙ ∙ , N是时间步索引。0时间步索引,N是延迟,H(x)是Heaviside阶跃函数,f是膜电位更新函数。在离散化中,为了简化起见,V [0]和Vrest都设置为0,因此V th > 0。IF和LIF模型的函数f( ∙ , ∙)可以描述为:0IF: f ( V, I ) = V + I,(4)0τ � I,(5)0其中∆ t < τ是LIF模型的离散步长。在实践中,我们将∆t设置为远小于τ的正数。与其他文献[10, 16,46]不同,我们明确引入超参数∆t以确保τ具有较大的可行区域,因为LIF模型的离散化仅在离散步长τ > ∆ t时有效[16]。例如,我们的设置允许τ =1,而其他一些工作则禁止它,因为它们设置∆ t =1。我们使用“减法减少”方法[45,49]来重置公式(3c)中的膜电位。结合公式(3a)和(3c),我们得到膜电位的更简洁的更新规则:0V [ n ] = f ( V [ n − 1] , I [ n ]) − V th s [ n ],(6)0公式(6)用于定义SNN的前向传播。03.2. 前向传播0在本文中,我们考虑具有IF或LIF模型的L层前馈SNN。根据公式(4)和(6),具有IF模型的SNN的脉冲动力学可以描述为:0V i [ n ] = V i [ n − 1] + V i − 1 th W i s i − 1 [ n ] − V i0其中i = 1, 2, ∙ ∙ ∙ , L是层索引,s 0是网络的输入数据,s i 是第i层的输出脉冲序列0i = 1, 2, ∙ ∙ ∙ , L的层,W i是从第(i-1)层到第i层的可训练突触权重。根据公式(3b)生成脉冲,V i − 1 th W i s i − 1 [ n ]被视为第i层的输入电流。此外,一个特定层中所有IF神经元的脉冲阈值相同。同样,根据公式(5)和(6),具有LIF模型的SNN的脉冲动力学可以表示为:0V i [ n ] = exp( −t0τ i ) V i [ n −1]0+ (1 − exp( −t0τ i ))∆ tV i − 1 th W i s i − 1 [ n ] − V ith s i [ n ],0其中∆ t设置为远小于τ i的正数,它似乎简化了第3.3节中关于脉冲表示方案的分析。在公式(7)和(8)中,我们只考虑全连接层。然而,其他神经网络组件如卷积、跳跃连接和平均池化也可以采用。SNN的输入s0可以是神经形态数据或静态数据(例如图像)。神经形态数据是������������������������1������������������������������������(10)λN−nI[n] −∆tNn=1 λN−nˆI[N].However, taking ˆa[N] ∈ [0, Vth∆t ] into considera-tion and assuming Vth is small, we can ignore the termlimN→∞ ˆa[N] ≈ clamplimN→∞τ, 0,th∆t,(14)1244701个����带参数��1的脉冲层0非可微!0� � � �0具有�� ����带参数����的脉冲层0非可微!0前向传播0SR0反向传播0* SR:脉冲表示。0子可微!命题。01或20命题。01或20SR0SR0SR0子可微!0图1.提出的DSR方法的流程。左侧显示了SNN的前向计算。右侧显示了通过子可微映射g W i 的误差反向传播。0对于静态数据,它们自然适应于SNNs,我们在每个时间步骤中将它们重复应用于第一层[ 38 , 49 , 53]。使用这种方法,第一层可以被视为脉冲列数据生成器。我们使用脉冲列 s L作为SNN的输出数据,其设置比禁止最后一层发放并使用膜电位作为网络输出的设置更符合生物学的合理性[ 27 , 44]。03.3. 脉冲表示0在本小节中,我们展示了具有IF或LIF神经元的SNN的每一层的前向计算可以表示为使用脉冲表示作为信息载体的子可微分映射。而脉冲表示是通过(加权)发放率编码获得的。具体来说,用 s i 表示第 i 层的输出脉冲列0层之间,SNN和映射之间的关系可以表示为0Rep( s i ) ≈ g W i (Rep( s i − 1 )) , i = 1 , 2 , ∙ ∙ ∙ , L,0其中 Rep( s i ) 是 s i 的脉冲表示, W i 是第 i层的SNN参数, g W i 也是由 W i参数化的子可微分映射。然后,SNN参数 W i 可以通过 gW i的梯度来学习。SNN到映射表示的示意图如图1所示。我们首先使用加权发放率编码来推导LIF模型的脉冲表示 Rep( si ) 和子可微分映射 g W i的公式。然后我们简要介绍IF模型的公式,它们是0这些公式是LIF模型的简单扩展。基于脉冲表示方案训练SNNs的方法在第3.4节中描述。03.3.1 LIF模型的脉冲表示0我们首先考虑由公式(3a)到(3c)和(5)定义的LIF模型。为了简化符号,定义 λ =exp( − ∆ t0将 � N n =1 λ N − n I [ n ] � N n =1 λ N − n 作为时间步骤N 之前的加权平均输入电流,并定义 ˆ a [ N ] = V th � N n=1 λ N − n s [ n ] � N n =1 λ N − n ∆ t作为缩放的加权发放0在这里,我们将 ˆ a [ N ] 视为LIF模型中脉冲列 { s [ n ] }N n =1的脉冲表示。关键思想是使用(子)可微分映射直接确定 ˆ I[ N ] 和 ˆ a [ N ]之间的关系。具体而言,将公式(5)和(6)结合起来,并将组合方程乘以 λ N − n ,我们有0λ N − n V [ n ] = λ N − n +1 V [ n− 1]0+ (1 − λ ) λ N − n I [ n ] − λ N − n V ths [ n ] .0将公式(10)从 n = 1 累加到 N ,我们可以得到0V [ N ] = (1 − λ )0N �0n =1 λ N − n V th s [ n ] .(11)0将公式(11)除以 ∆ t � N n =1 λ N − n,然后重新排列项,我们有0ˆ a [ N ] = (1 [ N ]0∆ t − V [ 0∆ t � N n =1 λ N − n .(12)0τ ,因为 lim ∆ t → 0 1 − λ ∆ t = 10τ,我们设置∆ t � τ。然后我们有0ˆ a [ N ] I [ N ]0τ − V 0∆ t � N n =1 λ N − n . (13)0公式(13)是确定从ˆ I [ N ]到 ˆ a [ N]的映射的基本公式。请注意,在公式(13)中,术语V [ N ]0将公式(13)中的∆ t � N n =1 λ N −n考虑进去,并进一步近似为 ˆ a [ N ]0其中 clamp( x, a, b ) � max( a, min( x, b )) 。方程 ( 14 )的详细推导和温和假设在补充材料中展示。将方程 ( 14 )应用于具有多个LIF神经元的前馈SNNs,我们有命题 1,用于训练SNNs。zi = clamp� 1τ i Wizi−1, 0, V ith∆tIn this subsection, we use the spike representation for theIF and the LIF models to drive the backpropagation trainingalgorithm for SNNs, based on Propositions 1 and 2. Andthe illustration can be found in Fig. 1.Define the spike representation operator r(·) withspike train s=(s[1], · · · , s[N]) as input, such that1N∂ℓ∂Wi = ∂ℓ∂oi∂oi∂Wi ,∂ℓ∂oi =∂ℓ∂oi+1∂oi+1∂oi ,(16)where ∂where bi = V ith for the IF model, and bi = V ith for the LIF124480命题 1. 考虑由LIF神经元定义的SNN0由方程 ( 8 ) 定义。定义 ˆ a 0 [ N ] =0� N n =1 λ N − n i s0ˆ a i [ N ] = V i th � N n =1 λ N − n i s i [ n ] � N n =1 λ N− n i ∆ t ,对于所有 i = 1 , 2 , ∙ ∙ ∙ , L ,其中 λ i =0τ i ) 。进一步定义次可微映射0� , i = 1 , 2 , ∙ ∙ ∙, L.0如果 lim N →∞ ˆ a i [ N ] = z i 对于 i = 0 , 1 , ∙ ∙ ∙ , L0当 N → ∞ 时,近似 z i +1 。03.3.2 IF模型的脉冲表示0然后我们考虑由方程 ( 3a ) 到 ( 3c ) 和 ( 4 )定义的IF模型。定义 ¯ I [ N ] = 1 N � N n =1 I [ n ]作为时间步长 N 之前的平均输入电流,并定义 a [ N ] = 1 N �N n =1 V th s [ n ] 作为缩放的发放率。我们将 a [ N ]视为IF模型中脉冲列 { s [ n ] } N n =1的脉冲表示。我们可以使用类似于第 3.3.1 节中的论证来确定 ˆI [ N ] 和 ˆ a [ N ] 之间的关系,如下所示:0lim N →∞ a [ N ] = clamp � lim N →∞ ¯ I [ N ] , 0 ,V th � 。 (15)0方程 ( 15 ) 的详细假设和推导在补充材料中展示。利用方程( 15 ) ,我们可以得到命题 2,用于训练具有IF模型的前馈SNNs。0命题 2. 考虑由方程 ( 7 ) 定义的IF神经元的SNN。定义 a 0[ N ] = 1 N � N n =1 s 0 [ n ] 和 a i [ N ] = 1 N � N n =1V L th s i [ n ] ,对于所有 i = 1 , 2 , ∙ ∙ ∙ , L。进一步定义次可微映射:0z i = clamp � W i z i − 1 , 0 , V i th � , i = 1 ,2 , ∙ ∙ ∙ , L.0如果 lim N →∞ a 0 [ N ] = z 0 ,那么 lim03.4. 脉冲表示的微分0V th � N n =1 λ N − n s [ n ] � N n =1 λ N − n ∆ t0τ ) 。利用脉冲表示,我们将SNN的最终输出定义为 o L =r( s L ) ,其中 s L 是来自最后一层的输出脉冲列, r( ∙ )是逐元素定义的。我们使用交叉熵作为损失函数 ℓ。提出的DSR方法基于每层脉冲列的脉冲表示反向传播误差信号的梯度,其中 o i = r( s i ) ,其中 i = 1 , 2 , ∙ ∙ ∙ , L是层次0∂ W i 可以计算为0∂ o i 和 ∂ o i ∂ W i 可以通过命题 1 计算得到0和2。具体来说,从第3.3节可以得到0oi= r(si)≈clamp(Wir(si−1),0,bi),i=1,2,∙∙∙,L,(17)0基于公式(17),我们计算出对oi和oi∂Wi的偏导数。所提出的DSR方法的伪代码可以在补充材料中找到。通过所提出的DSR方法,我们避免了SNN训练中的两个常见问题。首先,该方法不需要通过时间域进行反向传播,提高了训练效率,特别是当时间步长不是非常小的时候。其次,该方法不需要处理尖峰函数的不可微性,因为信号是通过次可微映射进行反向传播的。尽管由于有限的时间步长存在表示误差,但我们可以通过第4节中描述的方法来减小它。04. 减小表示误差0命题1和2表明(加权)射频可以逐渐估计或收敛到次可微映射的输出。第3.4节表明我们可以通过使用尖峰表示进行反向传播来训练SNN。然而,在实践中,为了节能,我们希望仅使用少量的时间步长来模拟SNN。低延迟会进一步引入表示误差,从而阻碍有效的训练。在本小节中,我们研究表示误差并提出训练尖峰阈值和引入新的神经模型超参数来减小误差。表示误差er可以分解为eq+ed,其中eq是“量化误差”,ed是“偏差误差”。假设在所有时间步长上输入电流相同时,量化误差eq存在于射频精度不完美的情况下。例如,它只能采用n的形式的值0对于IF神经元的N个时间步长n∈N和N的数量,由于不同时间步长的输入电流的不一致性,存在偏差误差eq。例如,当平均输入电流为0时,输出射频应该为0;然而,如果在前几个时间步长内输入电流为正值,输出射频可能显著大于0。从统计角度来看,假设不同时间步长的输入电流是独立同分布的,对于ed的期望值为0。因此,当使用随机优化算法时,“偏差误差”ed不会对训练产生太大影响。-0.200.20.40.60.811.2I$00.20.40.60.811.2IF neuronIF neuron w/ a new hyperparameterClamp functionQuantization Errors[n] = H(U[n] − αVth)(20)a[N] = VthN · clamp��NI∗θ�, 0, N�,(21)124490a[N]0图2.IF神经元的射频近似于给定不变输入电流的夹紧函数。引入新的尖峰神经元超参数的射频生成由方程(3b)和(20)分别控制。在这里,我们设置阈值θ=1和延迟N=5。0接下来,我们研究IF模型中的eq并提出减小它的方法。类似的论证可以推导出LIF模型。当给定所有时间步长上的不变输入电流I�时,缩放的平均射频a[N]=10N�Nn=1Vths[n]可以确定为0a[N]=Vth0N∙clamp��NI�0θ0�,0,N�,(18)0如图2中的红色曲线所示,其中�∙�是向下取整运算符。受到公式(18)的启发,我们提出了两种减小量化误差的方法。0从图2和公式(18)中,我们观察到使用较小的尖峰阈值可以减小量化误差。然而,这也会削弱SNN的近似能力,因为缩放(加权)的射频将处于一个较小的范围内。受用于训练量化神经网络的激活剪裁方法的启发[6],在本文中,我们将每层的尖峰阈值视为需要训练的参数,并在损失函数中包含阈值的L2正则化项,以平衡量化误差和近似能力之间的权衡。为了使用反向传播训练尖峰阈值,我们根据第3.3节中介绍的尖峰表示计算相对于它们的梯度。例如,使用公式(15),对于一个具有平均输入电流I�和稳定缩放射频a�的IF神经元,我们有0∂V th = � 1 , 如果 I � > V th , 0 , 否则 . (19)0然后,我们可以通过链式法则计算损失函数对阈值的梯度。类似的计算适用于LIF神经元。在实践中,由于我们使用小批量优化方法来训练SNN,每个阈值的梯度与批量大小成正比。因此,我们根据不同的批量大小和脉冲神经模型来缩放梯度。0为了控制神经元的发放以减小量化误差,我们可以为脉冲神经元引入一个新的超参数。形式上,我们将公式(3b)改为0引入新的发放机制,其中 α ∈ [0 , 1]是一个超参数。对于具有新发放机制和 α = 0 . 5的IF模型,使用与公式(18)中相同的符号,缩放的发放率变为0如图2中的绿色曲线所示,其中[∙]是取整运算符。从图2中可以看出,使用这种机制时,最大的绝对量化误差减少了一半。此外,由于 α = 0 . 5使得平均绝对量化误差最小化,所以 α = 0 . 5是IF模型的最佳选择。另一方面,对于LIF模型,当设置不同的延迟 N 时,α的最佳选择也会改变,因此我们在实验中选择不同的 α来使平均绝对量化误差最小化。05. 实验0我们首先评估了提出的DSR方法,并将其与其他视觉目标识别基准测试中的方法进行比较,包括CIFAR-10、CIFAR-100、ImageNet和DVS-CIFAR10。然后,我们演示了当时间步数越来越小或网络越来越深时,我们的方法的有效性。我们还测试了减少表示误差的方法的有效性。有关实验详细信息,请参阅补充材料。我们的代码可在https://github.com/qymeng94/DSR上获得。05.1. 与现有技术的比较0CIFAR-10、CIFAR-100、ImageNet和DVS-CIFAR10的比较结果如表2所示。对于CIFAR-10和CIFAR-100数据集,我们使用预激活ResNet-18 [ 19]作为网络架构。表2显示,基于3次实验运行,使用20个时间步骤的IF模型和LIF模型,提出的DSR方法在CIFAR-10和CIFAR-100上的性能优于所有其他方法。特别是在与其他方法相比较时,我们的方法在CIFAR-100上的准确率比其他方法高出5%-10%。此外,所得到的SNN与具有相同网络架构的ANN相比,具有类似甚至更好的性能。尽管一些直接训练方法使用的时间步长比我们的小,但当时间步数 N =15、10和5时,我们的方法在性能上也优于其他方法,如图3a所示。对于ImageNet数据集,我们还使用了预激活ResNet-18网络架构。为了加速训练,我们CIFAR-10ANN 1PreAct-ResNet-18//95.41%ANN-to-SNN [10]ResNet-20IF12893.56%ANN-to-SNN [18]VGG-16IF204893.63%124500表2.在CIFAR-10、CIFAR-100、ImageNet和DVS-CIFAR10上的性能。对于前三个数据集,我们将方法分为4类:ANN、ANN-to-SNN方法、直接训练方法和我们提出的方法。不同类型的方法之间用水平线分隔。我们用粗体表示LIF模型的最佳结果,并用下划线表示IF模型的最佳结果。0方法 网络 神经模型 时间步数 准确率0ANN-to-SNN [50] VGG-like IF 600 94.20%0Tandem Learning [45] CIFARNet IF 8 90.98%0ASF-BP [44] VGG-7 IF 400 91.35%0STBP [46] CIFARNet LIF 12 90.53%0IDE [49] CIFARNet-F LIF 100 92.52% ± 0.17%0STBP-tdBN [53] ResNet-19 LIF 6 93.16%0TSSL-BP [52] CIFARNet LIF w/ synaptic model 5 91.41%0DSR(我们的方法)PreAct-ResNet-18 IF 20 95.24% ± 0.17%0PreAct-ResNet-18 LIF 20 95.40% ± 0.15%0CIFAR-1000ANN 1 PreAct-ResNet-18 / / 78.12%0ANN-to-SNN [10] ResNet-20 IF 400-600 69.82%0ANN-to-SNN [18] VGG-16 IF 768 70.09%0ANN-to-SNN [50] VGG-like IF 300 71.84%0Hybrid Training [37] VGG-11 LIF 125 67.84%0DIET-SNN [36] VGG-16 LIF 5 69.67%0IDE [49] CIFARNet-F LIF 100 73.07% ± 0.21%0DSR(我们的方法)PreAct-ResNet-18 IF 20 78.20% ± 0.13%0PreAct-ResNet-18 LIF 20 78.50% ± 0.12%0ImageNet0ANN 1 PreAct-ResNet-18 / / 70.79%0ANN-to-SNN [39] ResNet-34 IF 2000 65.47%0ANN-to-SNN [18] ResNet-34 IF 4096 69.89%0Hybrid training [37] ResNet-34 LIF 250 61.48%0STBP-tdBN [53] ResNet-34 LIF 6 63.72%0SEW ResNet [15] SEW ResNet-34 LIF 4 67.04%0SEW ResNet [15] SEW ResNet-18 LIF 4 63.18%0DSR(我们的方法)PreAct-ResNet-18 IF 50 67.74%0DVS-CIFAR100ASF-BP [44] VGG-7 IF 50 62.50%0Tandem Learning [45] 7层CNN IF 20 65.59%0STBP [47] 7层CNN LIF 40 60.50%0STBP-tdBN [53] ResNet-19 LIF 10 67.80%0Fang等人[16] 7层CNN LIF 20 74.80%0DSR(我们的方法)VGG-11 IF 20 75.03% ± 0.39%0VGG-11 LIF 20 77.27% ± 0.24%01 ANN的自我实现结果。0采用混合训练技术[36,37]。考虑到数据复杂性和1000个类别,我们使用适量的时间步数来实现令人满意的结果。我们的提议方法即使使用更大的网络架构也能胜过直接训练方法。尽管一些ANN-to-SNN方法具有更高的准确性,但它们使用的时间步数比我们的多得多。0对于神经形态的DVS-CIFAR10,我们采用VGG-11架构[41],进行了3次实验运行。0每个神经模型的实验结果可以在表2中找到。可以发现,所提出的方法在使用IF和LIF模型时,以低延迟超越了其他SOTA方法。05.2.模型验证和消融研究0提议方法在低延迟下的有效性我们验证了所提出的方法即使在超低延迟下也能实现竞争性能,如图3a所示。每个模型都是从头开始训练的。从20到5个时间步,我们的模型只会遭受不到1%的准确率下降。5个时间步的结果也优于表2中显示的其他SOTA方法。更多的训练细节可以在补充材料中找到。2015105Time Steps92.593.594.595.596.5Accuracy (%)95.2495.494.8595.3994.6994.4794.4894.42IFLIF20324456110Network Depth92.092.593.093.594.094.595.0Accuracy (%)92.6792.8293.7393.7493.7493.9994.1594.0394.694.61IFLIF5 time steps, our models only suffer from less than 1% ac-curacy drop. The results for 5 time steps also outperformother SOTA shown in Tab. 2. More training details can befound in the Supplementary Materials.DSR, init. Vth = 695.24% ± 0.17%DSR w/o F, init. Vth = 692.88% ± 0.25%DSR w/o T, Vth = 690.45% ± 1.84%DSR w/o T, Vth = 290.47% ± 0.12%DSR w/o F&T, Vth = 692.59% ± 0.81%124510图3.(a)DSR方法在CIFAR-10上以低延迟实现的准确率。使用PreAct-ResNet-18网络架构。结果基于3次实验运行。(b)DSR方法在CIFAR-10上以不同的网络架构实现的准确率。时间步数为20。使用窄网络架构。0提议方法在深度神经网络结构中的有效性许多SNN学习方法无法适应深度网络架构,限制了SNN的潜力。原因是通过层级,梯度近似或ANN到SNN的转换的误差会累积,或者这些方法在大规模网络结构中的计算成本很高。在这部分中,我们使用不同深度的预激活ResNet在CIFAR-10上测试了提议的方法,即20、32、44、56、110层。请注意,通道大小小于PreAct-ResNet-18,因为通道大小较大的深度网络(如PreAct-ResNet-18)的性能并不会更好,而且即使对于ANNs来说,它们更难训练。有关网络架构的更多详细信息可以在补充材料中找到。结果如图3b所示。图表显示我们的方法在深度网络(>100层)上是有效的,并且在更深的网络结构下表现更好。这表明我们的方法在使用非常深的网络时具有更高级性能的巨大潜力。0减少表示误差方法的消融研究我们对减少表示误差的方法进行了消融研究,即训练阈值和引入神经模型的新超参数。我们使用PreAct-ResNet-18结构和20个时间步长在CIFAR-10上训练模型,并将结果显示在表3中。实验表明,表示误差显著阻碍了训练,并且还证明了减少表示误差的两种方法的优越性。需要注意的是,阈值训练方法还有助于稳定训练,因为如果没有这种方法,结果在阈值较大时变得不稳定(例如,当
下载后可阅读完整内容,剩余1页未读,立即下载
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)