Training Spiking Neural Networks with Local Tandem Learning

时间:2023-02-22 17:05:21

郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!

Training Spiking Neural Networks with Local Tandem Learning

36th Conference on Neural Information Processing Systems (NeurIPS 2022)

 

Abstract

  脉冲神经网络(SNN)被证明在生物学上比它们的前辈更合理,更节能。然而,对于深度SNN,特别是对于在模拟计算基底上的部署,缺乏有效且通用的训练方法。在本文中,我们提出了一种广义学习规则,称为局部串联学习(Local Tandem Learning,LTL)。LTL规则遵循教师-学生学习方法,通过模拟预先训练的ANN的中间特征表征。通过对网络层的学习进行解耦并利用高度信息的监督信号,我们在CIFAR-10数据集上展示了五个训练阶段内的快速网络收敛,同时具有低计算复杂性。我们的实验结果还表明,这样训练的SNN可以在CIFAR-10、CIFAR-100和Tiny ImageNet数据集上获得与其教师ANN相当的精度。此外,所提出的LTL规则是硬件友好的。它可以很容易地在芯片上实现,以执行快速参数校准,并针对臭名昭著的设备非理想性问题提供鲁棒性。因此,它为在超低功率混合信号神经形态计算芯片上训练和部署SNN提供了无数机会。

 

1 Introduction

  在过去十年中,人工神经网络(ANN)飞跃性地提高了机器的感知和认知能力,并成为许多模式识别任务的事实标准,包括计算机视觉[30、35、52、53、62]、语音处理[39、60]、语言理解[3]和机器人[51]。尽管ANN具有优异的性能,但由于高内存和计算要求,在无处不在的移动和边缘计算设备上部署ANN在计算上非常昂贵。

  脉冲神经网络(SNN)是第三代人工神经网络,由于其更大的生物学合理性和实现生物神经网络中观察到的超低功耗计算的潜力,已获得越来越多的研究关注。利用稀疏、脉冲驱动的计算和细粒度并行性,支持SNN高效推理的TrueNorth[2]、Loihi[11]和Tijic[42]等全数字神经形态计算(NC)芯片确实证明了比基于GPU的AI解决方案提高了数量级的功效。此外,新兴的现场混合信号NC芯片[47,54],通过新兴的非易失性技术实现,可以比上述数字芯片进一步提高硬件效率。

  尽管神经形态硬件开发取得了显著进展,但如何高效地训练核心计算模型——尖峰神经网络仍然是一个具有挑战性的研究课题。因此,它阻碍了高效神经形态训练芯片的开发以及主流人工智能应用中神经形态解决方案的广泛采用。现有的深度SNN训练算法可分为两类:ANN-SNN转换和基于梯度的直接训练。

  对于ANN到SNN的转换方法,他们建议重用来自更容易训练的ANN的网络权重。这可以被视为教师-学生(T-S)学习的具体示例,其以网络权重的形式将知识从教师ANN传递到学生SNN。通过正确确定SNN的神经元放电阈值和初始膜电位,最近的研究表明,ANN的激活值可以与尖峰神经元的放电速率很好地接近,在许多具有挑战性的AI基准上实现了近乎无损的网络转换[4,5,7,12,14,21,22,34,46,49,63]。然而,这些网络转换方法仅基于无泄漏积分和激发(IF)神经元模型开发,并且通常需要大的时间窗以达到可靠的激发率近似值。因此,将这些转换的SNN部署到现有的神经形态芯片上并不简单和有效。

  在另一种研究中,基于梯度的直接训练方法将每个尖峰神经元明确建模为自回归神经网络,并利用经典的时间反向传播(BPTT)算法来优化网络参数。在误差反向传播期间,不可微尖峰激活函数通常被连续替代梯度(SG)函数绕过[8,15,38,45,50,58,59,61]。尽管它们与基于事件的输入和不同的尖峰神经元模型兼容,但实际上它们的计算和记忆效率很低。此外,这些SG函数引入的梯度近似误差倾向于在层上累积,在面对深度网络结构和短时间窗口时导致性能显著下降[57]。

  通常,SNN学习算法可分为芯片外学习[16,64]和芯片内学习[9,41,43]。上面讨论的几乎所有直接SNN训练方法都属于芯片外学习类别。由于缺乏有效的方法来利用扣球活动中的高度稀疏性,并且需要存储用于信用分配的非本地信息,这些芯片外方法显示出非常低的训练效率。此外,由于众所周知的设备非理想性问题[6],实际的网络动态将偏离芯片外模拟的网络动态,导致芯片外训练的SNN在部署到模拟计算基板上时精度显著下降[1,24,37,44]。为了解决这些问题,最近的工作提出了局部Hebbian学习[11,28,41]和基于梯度的学习近似[10,19,32,40]形式的片上学习算法,而这些算法的有效性仅在简单的基准上得到了证明,例如MNIST和N-MNIST数据集。

  为了解决SNN训练和硬件部署中的上述问题,我们在本文中提出了一种广义SNN学习规则,我们称之为本地串联学习(LTL)规则。LTL规则充分利用了ANN-SNN转换和基于梯度的训练方法。一方面,它很好地利用ANN的高效中间特征表示来监督SNN的训练。通过这样做,我们表明它可以在CIFAR-10数据集上的五个训练阶段内以低计算复杂性实现快速网络收敛。另一方面,LTL规则采用基于梯度的方法进行知识转移,可以支持不同的神经元模型并实现快速模式识别。通过在层内局部传播梯度信息,它还可以减轻SG方法的复合梯度近似误差,并在CIFAR-10、CIFAR-100和Tiny ImageNet数据集上实现近乎无损的知识传输。此外,LTL规则被设计为硬件友好的,它可以仅使用本地信息执行高效的片上学习。在这种片上设置下,我们证明了LTL规则能够解决模拟计算衬底的臭名昭著的设备非理想性问题,包括设备失配、量化噪声、热噪声和神经元沉默。

 

2 Methods