[论文解读] Sparse Spiking Gradient Descent
本文提出了一种新型的反向传播算法——稀疏脉冲梯度下降(Sparse Spiking Gradient Descent),用于脉冲神经网络(SNNs),通过利用脉冲固有的时空稀疏性来加速训练并减少内存使用。通过重新定义代理梯度,使其集中于活跃神经元,该方法在Fashion-MNIST、神经形态-MNIST和脉冲海德堡数字等数据集上实现了高达150倍的反向传播加速和85%的内存减少,同时保持了最先进水平的准确率。
There is an increasing interest in emulating Spiking Neural Networks (SNNs) on neuromorphic computing devices due to their low energy consumption. Recent advances have allowed training SNNs to a point where they start to compete with traditional Artificial Neural Networks (ANNs) in terms of accuracy, while at the same time being energy efficient when run on neuromorphic hardware. However, the process of training SNNs is still based on dense tensor operations originally developed for ANNs which do not leverage the spatiotemporally sparse nature of SNNs. We present here the first sparse SNN backpropagation algorithm which achieves the same or better accuracy as current state of the art methods while being significantly faster and more memory efficient. We show the effectiveness of our method on real datasets of varying complexity (Fashion-MNIST, Neuromophic-MNIST and Spiking Heidelberg Digits) achieving a speedup in the backward pass of up to 150x, and 85% more memory efficient, without losing accuracy.
研究动机与目标
- 为解决训练SNN时密集张量运算的低效问题,这些运算未能利用脉冲活动中固有的时空稀疏性。
- 减少SNN反向传播的计算和内存开销,因为当前方法限制了在神经形态硬件上进行端到端训练。
- 开发一种稀疏反向传播方法,在显著提升训练速度和效率的同时保持高准确率。
- 证明通过新型代理梯度公式化,稀疏梯度计算在SNN中是可行且有益的。
- 通过展示SNN训练中可测量的性能提升,推动在深度学习框架中更广泛采用稀疏算子。
提出的方法
- 该方法重新定义代理梯度函数,使其在接近脉冲阈值时更大,从而将梯度更新集中于活跃神经元,自然诱导反向传播中的稀疏性。
- 从修改后的代理梯度推导出一种三因素赫布式学习规则,实现仅在发放脉冲的神经元上高效计算梯度。
- 通过仅聚焦于活跃神经元及其连接权重,该算法在反向传播中跳过98%的梯度运算。
- 使用稀疏计算图,动态排除不活跃神经元和零梯度贡献,从而降低FLOPs和内存使用量。
- 通过为全连接SNN层定制的稀疏CUDA内核实现该方法,优化以处理事件驱动的脉冲活动。
- 该方法与现有SNN训练流水线兼容,并可扩展至卷积和剪枝SNN架构。
实验结果
研究问题
- RQ1能否利用脉冲活动中的稀疏性,在不牺牲准确率的前提下加速SNN中的反向传播?
- RQ2通过仅在SNN中活跃神经元上限制梯度计算,能实现多大程度的速度提升和内存减少?
- RQ3经过修改的代理梯度函数是否能自然诱导出一种符合生物合理性和计算效率的稀疏学习规则?
- RQ4在标准硬件(如GPU)上,使用自定义稀疏内核,SNN中的稀疏反向传播是否可行且高效?
- RQ5与密集反向传播相比,该方法在训练效率上是否表现更优,同时在真实世界数据集上保持最先进水平的准确率?
主要发现
- 所提出的稀疏反向传播方法在真实数据集上相比密集实现,反向传播速度最高提升了150倍。
- 由于跳过了98%的不活跃神经元和边的梯度运算,内存使用量最高减少了85%。
- 该方法在Fashion-MNIST、神经形态-MNIST和脉冲海德堡数字数据集上保持或提升了准确率,达到或超过最先进水平。
- 通过重新定义代理梯度以优先考虑活跃神经元,无需修改网络架构即可实现速度提升。
- 该方法与现有SNN训练框架兼容,并可扩展至卷积和剪枝SNN。
- 本研究证明,稀疏张量运算可显著加速SNN训练,挑战了其在深度学习中无益的假设。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。