阅读时间:2023-12-22
1 介绍
[Neurogenesis dynamics-inspired spiking neural network training acceleration.pdf]
年份:2023
作者:黄绍仪,康涅狄格大学;Haowen Fang,雪城大学;Kaleel Mahmood康涅狄格大学驻校助理教授
会议: DAC(一区)
引用量:6
Huang S, Fang H, Mahmood K, et al. Neurogenesis dynamics-inspired spiking neural network training acceleration[C]//2023 60th ACM/IEEE Design Automation Conference (DAC). IEEE, 2023: 1-6.
本文提出了一种受神经发生动态启发的脉冲神经网络(SNN)训练加速框架,称为NDSNN,NDSNN框架通过动态稀疏性从头开始训练模型,而不牺牲模型保真度,是一种新的减少非零权重数量的丢弃和生长策略,动态地减少SNN稀疏训练中的神经元连接数量,实现保证准确率的同时,实现较大的稀疏性,减少训练内存占用并提高训练效率。实验结果表明,与其它最先进方法(例如彩票假设LTH、SET-SNN、RigL-SNN)相比,NDSNN在Tiny-ImageNet上使用ResNet-19(稀疏度为99%)实现了高达20.52%的准确率提升。此外,NDSNN的训练成本仅为LTH训练成本的40.89%(ResNet-19)和31.35%(VGG-16)。
2 创新点
- 受神经发生动态启发的训练框架:NDSNN框架是受人类海马体中神经元退化和重新分化过程(神经发生动态)启发而设计的。这种生物学上的类比被用于设计SNN的稀疏训练策略。
- 动态稀疏性训练:NDSNN通过动态调整权重的稀疏性,从头开始训练模型,而不是像传统方法那样先训练一个密集模型然后进行剪枝。这种方法可以在训练过程中减少内存占用和计算需求。
- 新的丢弃和生长策略:NDSNN设计了一种新的drop-and-grow策略,该策略在训练过程中逐渐减少非零权重的数量,以维持极高的稀疏性和准确性。这种策略模仿了神经元的死亡(drop)和新生(grow)过程。
- 高效率和高准确性:实验结果表明,NDSNN在保持高准确性的同时,相比于其他最先进方法(SOTA),在训练成本上实现了显著降低。例如,在Tiny-ImageNet数据集上使用ResNet-19模型时,NDSNN在99%的稀疏度下实现了比其他SOTA方法高达20.52%的准确率提升。
- 跨数据集和模型的评估:NDSNN在多个数据集(CIFAR-10, CIFAR-100, Tiny-ImageNet)和不同的神经网络架构(VGG16和ResNet-19)上进行了评估,证明了其方法的通用性和有效性。
- 内存占用和训练成本分析:论文不仅关注模型的准确性,还对NDSNN的内存占用和训练成本进行了详细的分析,证明了其在实际应用中的潜力,尤其是在资源受限的边缘设备上。
- 计算效率的量化评估:通过与密集模型和LTH方法的比较,NDSNN显示出较低的相对计算成本,这表明了其在训练过程中的效率。
3 相关研究
(1)相关论文
使用稀疏性来压缩SNN模型大小和加速推理
- 训练-剪枝-再训练方法(例如,交替方向乘子法(ADMM)剪枝[5, 7, 8, 9])
- Deng L, Wu Y, Hu Y, et al. Comprehensive snn compression using admm optimization and activity regularization[J]. IEEE transactions on neural networks and learning systems, 2021, 34(6): 2791-2805.
- Peng H, Huang S, Geng T, et al. Accelerating transformer-based deep learning models on fpgas using column balanced block pruning[C]//2021 22nd International Symposium on Quality Electronic Design (ISQED). IEEE, 2021: 142-148.
- Chen S, Huang S, Pandey S, et al. Et: re-thinking self-attention for transformer models on gpus[C]//Proceedings of the international conference for high performance computing, networking, storage and analysis. 2021: 1-18.
- Luo Y, Behnam P, Thorat K, et al. Codg-reram: An algorithm-hardware co-design to accelerate semi-structured gnns on reram[C]//2022 IEEE 40th International Conference on Computer Design (ICCD). IEEE, 2022: 280-289.
- 迭代剪枝(例如,彩票假设(LTH)[6, 10])。
- Kim Y, Li Y, Park H, et al. Exploring lottery ticket hypothesis in spiking neural networks[C]//European Conference on Computer Vision. Cham: Springer Nature Switzerland, 2022: 102-120.’
- Frankle J, Carbin M. The lottery ticket hypothesis: Finding sparse, trainable neural networks[J]. arXiv preprint arXiv:1803.03635, 2018.
(2)“稀疏性”指的是神经网络中非零权重与总权重的比例,在神经网络中,增加稀疏性通常意味着减少网络中的参数数量,这可以降低模型的复杂度,提高计算效率,减少内存占用,并可能提高模型的泛化能力。
4 算法
- 初始化:设置初始稀疏度 θ i \theta_i θi和目标稀疏度 θ f \theta_f θf,选择训练频率 Δ T \Delta T ΔT,初始化网络权重W。
- 稀疏度分布:使用等权随机关键(Equal Row Kulback-Leibler, ERK)方法来确定每层网络在训练开始和结束时的稀疏度分布 Θ i \Theta_i Θi和 Θ f \Theta_f Θf。
- 训练循环:对每个训练迭代t 执行以下操作:
- 如果当前迭代t 满足剪枝条件(即 t m o d Δ T = 0 t\mod \Delta T = 0 tmodΔT\=0 且 t < T e n d t < T_{end} t<Tend),则进入剪枝和生长阶段;否则,进行正常的权重更新。
- 剪枝(Drop):
- 计算每层需要剪掉的权重数量 D l , t D_{l, t} Dl,t。
- 选择绝对值最小的正权重和最大的负权重进行剪枝,即将这些权重设置为零。
- 生长(Grow):
- 在剪枝后,计算每层需要恢复的权重数量 G l , t G_{l, t} Gl,t。
- 选择在稀疏掩码中为零的位置,根据梯度的大小更新为非零值,以此“生长”新的连接。
- 权重更新:
- 对于非零权重,使用替代梯度方法和反向传播通过时间来计算梯度,并更新权重。
- 死亡比例更新:使用余弦退火学习率调度器来更新每层的死亡比例 d t d_t dt。
- 稀疏掩码更新:根据当前的稀疏度和目标稀疏度动态更新稀疏掩码。
- 终止条件:当达到总训练迭代次数时,结束训练。
- 输出:最终得到一个具有目标稀疏度分布 Θ f \Theta_f Θf 的稀疏网络。
5 实验分析
(1)稀疏化方法
(2)图示神经生成生物机制及仿真过程
图2(a)ABC展示了在神经系统中神经细胞由于炎症原因,神经细胞凋亡和神经系统的重新组合。
图2(b) 展示了神经网络中的丢弃(drop)和生长(grow)过程,模仿了以上中描述的神经发生动态过程。
- 丢弃过程指的是在神经网络中将一些权重(连接)设置为零,类似于神经元的退化或死亡。这通常发生在权重的绝对值较小的情况下,意味着这些连接对于网络的功能贡献不大。
- 生长过程指的是在网络中重新引入或更新一些权重(连接),类似于新神经元的生成或重新分化。这通常发生在权重对于网络性能有显著影响的情况下。
实验结论:表明通过这种动态调整权重稀疏性的方法,网络可以在保持性能的同时减少参数数量,从而提高计算效率和降低模型复杂度。
(3)NDSNN)训练过程中的丢弃和生长机制
- 丢弃权重(Drop):用红色箭头表示。在NDSNN的训练过程中,某些权重会被设置为零,即从网络中“丢弃”。这通常发生在训练的某些阶段,目的是为了减少网络的复杂性,提高稀疏性,从而降低模型的内存占用和计算成本。丢弃的权重可能是那些对网络性能贡献较小的权重。
- 生长权重(Grow):用绿色箭头表示。在丢弃了一些权重之后,网络会在其他位置“生长”出新的权重,即更新原本为零的权重为非零值。这一步骤有助于网络在减少参数的同时,保持或甚至提高其学习能力和性能。
(4)不同方法稀疏性与准确率的比较
随着稀疏比率的增加,所有方法的准确率普遍呈下降趋势。NDSNN在高稀疏比率的情况下,大多数都达到了最高的准确率。在99%的稀疏比率下,NDSNN在某些情况下仍然能够保持相对较高的准确率,这显示了其在极端稀疏条件下的强大性能。
(5)NDSNN与LTH-SNN在不同稀疏比率下的准确率比较
- (a) VGG-16架构在CIFAR-10数据集上
- (b) VGG-16架构在CIFAR-100数据集上
- © ResNet-19架构在CIFAR-10数据集上
- (d) ResNet-19架构在CIFAR-100数据集上
NDSNN的准确率普遍高于LTH-SNN,特别是在高稀疏比率的情况下。随着稀疏比率的增加,两种方法的准确率都有所下降,但NDSNN的下降幅度较小,显示出更好的性能维持能力。在VGG-16和ResNet-19这两种不同架构上,NDSNN都优于LTH-SNN,这表明NDSNN的优势不依赖于特定的网络架构。在CIFAR-10和CIFAR-100数据集的复杂性不同的数据集上,NDSNN在两个数据集上都显示出了较好的性能。
(5)训练成本对比
训练成本在这里可能指的是为了达到一定的训练效果所需的计算资源,包括但不限于处理时间、内存使用、所需的浮点运算次数等。一个低训练成本意味着模型训练过程更加高效。与密集模型和LTH方法相比,NDSNN在训练成本上显著降低。这表明NDSNN在训练过程中需要较少的计算资源。
6 思考
(1)NDSNN与其他神经网络剪枝的方法有什么区别和优点?
- 生物学启发:NDSNN算法受神经发生动态的启发,模仿了生物神经系统中神经元的死亡(剪枝)和新生(生长)过程。这种生物学类比为设计剪枝策略提供了新的思路。
- 动态稀疏性:NDSNN从训练一开始就引入稀疏性,并通过训练过程中的周期性剪枝和生长操作动态调整稀疏度,直至达到目标稀疏度。这与许多传统剪枝方法(如后训练剪枝)不同,后者通常在训练完成后才开始剪枝。
- 丢弃和生长策略:NDSNN采用一种新的丢弃和生长策略,通过减少非零权重的数量来维持极高的稀疏性和准确性。这种策略有助于在训练过程中逐步优化网络结构。
- 训练效率:NDSNN算法在训练过程中显著降低了内存占用和计算成本,这在资源受限的边缘设备上尤为重要。
- 准确性保持:尽管NDSNN通过剪枝减少了网络的参数数量,但实验结果表明,它能够在多种数据集和网络架构上保持或甚至提高模型的准确性。
- 计算成本降低:与其他SOTA方法相比,NDSNN在保持高准确性的同时,显著降低了训练成本,这在大规模训练和部署深度学习模型时尤为重要。
- 通用性:NDSNN算法不仅适用于特定的网络架构或数据集,而是具有较好的通用性,能够在不同的网络和数据集上实现高效的稀疏训练。
- 内存占用优化:NDSNN通过高稀疏性显著减少了模型在训练和推理阶段的内存占用,这对于内存受限的设备尤其有利。
- 适应性:NDSNN算法能够适应不同的训练条件,例如在较小的时间步长下仍能保持高准确率,显示出良好的适应性和鲁棒性。
(2)本文其实只仿真了神经细胞的凋亡过程和重新连接的过程。神经生成的生物特征有增值、分化、迁移、成熟、整合、可塑性、凋亡等。
- 增殖(Proliferation):神经干细胞或神经前体细胞通过有丝分裂增加数量。
- 分化(Differentiation):神经前体细胞发展成特定的神经元类型。
- 迁移(Migration):新生成的神经元迁移到大脑的特定区域。
- 成熟(Maturation):新神经元发展出成熟的形态和功能特征,包括树突和轴突的生长,以及突触的形成。
- 整合(Integration):新生成的神经元与现有的神经网络建立连接,成为功能网络的一部分。
- 可塑性(Plasticity):新神经元能够根据经验和学习改变其结构和功能,这是学习和记忆形成的基础。
- 凋亡(Apoptosis):在某些情况下,新生成的神经元可能因为未能成功整合或由于其他因素而经历程序性细胞死亡。
目前的神经启发的论文有如下,对应不同的神经生成生物特征。
- 增殖
- Garg, S., Rish, I., Cecchi, G.A., & Lozano, A.C. (2017). Neurogenesis-Inspired Dictionary Learning: Online Model Adaption in a Changing World. International Joint Conference on Artificial Intelligence.
- Draelos T J, Miner N E, Lamb C C, et al. Neurogenesis deep learning: Extending deep networks to accommodate new classes[C]//2017 international joint conference on neural networks (IJCNN). IEEE, 2017: 526-533.
- 凋亡
- Tran L M, Santoro A, Liu L, et al. Adult neurogenesis acts as a neural regularizer[J]. Proceedings of the National Academy of Sciences, 2022, 119(45): e2206704119.
- Huang S, Fang H, Mahmood K, et al. Neurogenesis dynamics-inspired spiking neural network training acceleration[C]//2023 60th ACM/IEEE Design Automation Conference (DAC). IEEE, 2023: 1-6.
- 分化/成熟
- Gurbuz M B, Moorman J M, Dovrolis C. NICE: Neurogenesis Inspired Contextual Encoding for Replay-free Class Incremental Learning[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2024: 23659-23669.