12.22-12.29学习周报
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 文章链接
- 摘要
- Abstract
- 一、SCA-SNN架构
- 1.基于上下文相似性
- 2.神经元辨别扩张
- 3.神经元选择重复使用
- 二、实验部分
- 1.数据集
- 2.与基于 SNN 的持续学习的比较
- 3.与基于DNN的持续学习比较
- 4.资源消耗
- 5.Ablation studies
- 6.基于相似性的神经元群体分配
- 总结
文章链接
文章链接
摘要
本博客介绍了论文《Similarity-based context aware continual learning for spiking neural
networks》中研究者针对现有的基于脉冲神经网络的持续学习算法对每个任务一视同仁,忽略了不同任务相似性关联对网络学习的指导作用,限制了知识利用效率的问题,提出了一种基于相似性的上下文感知脉冲神经网络(SCA-SNN)持续学习算法,以有效完成任务增量学习和类别增量学习。为了验证所提出算法的有效性,研究者不仅在 CIFAR100 和 Tiny-ImageNet 等通用数据集上进行了广泛的实验,还在更现实的非平滑跨任务学习场景中验证了 SCA-SNN 的性能。 实验结果表明,该算法对不同任务表现出稳定高效的学习能力,具有增强的性能鲁棒性、结构适应性和生物学合理性。 然而,SCA-SNN专注于完成不同的图像分类任务,尚不具备感知、决策、推理等各种认知任务的综合识别和持续学习能力。这些尚存的不足是未来能够继续往下深入研究的方向。
Abstract
This blog introduces the paper "Similarity-based context aware continual learning for spiking neural In view of the existing continuous learning algorithms based on spiking neural networks, which treat each task equally, ignore the guiding role of different task similarity associations on network learning, and limit the efficiency of knowledge utilization, researchers proposed a continuous learning algorithm based on similarity spiking neural network (SCA-SNN) to effectively complete task incremental learning and category incremental learning. In order to verify the effectiveness of the proposed algorithm, the researchers not only conducted extensive experiments on general datasets such as CIFAR100 and Tiny-ImageNet, but also verified the performance of SCA-SNN in more realistic non-smooth cross-task learning scenarios. Experimental results show that the algorithm shows stable and efficient learning ability for different tasks, and has enhanced performance robustness, structural adaptability and biological rationality. However, SCA-SNN focuses on completing different image classification tasks, and does not yet have the ability of comprehensive recognition and continuous learning for various cognitive tasks such as perception, decision-making, and reasoning. These remaining deficiencies are the direction that can be further studied in the future.
一、SCA-SNN架构
在论文中,研究者们受大脑上下文任务知识识别和灵活的神经回路分配和重用机制的启发,提出了基于相似性的上下文感知持续学习脉冲神经网络(SCA-SNN)。其基本原理是,新任务与前一个任务越相似,新的网络扩展就越少,对现有网络的重复使用就越多。
为了避免神经元的广泛重复使用造成的冗余,研究者从人脑神经元的发育可塑性中汲取灵感,遵循“使用它或失去它”的原则。 这意味着习惯于某些任务的神经元需要更强的重复刺激才能在新任务中重新激活,而那些与新任务无关的神经元将被断开。 研究者设计了一种基于梯度的方法来选择重复使用的神经元,确保只有对新任务做出有效贡献的神经元才会被重复使用。
上图就是SCA-SNN架构,SCA-SNN在原有SNN的基础上首先评估新任务和每个旧任务之间的相似性,然后有区别地扩展新神经元,并根据新任务相似程度选择性地重用学习的神经元。
1.基于上下文相似性
当新的任务T进入SCA-SNN网络时,SCA-SNN不会直接修改网络结构,而是优先评估新任务与旧任务的相似性。Tt表示t时刻的新任务,SCA-SNN首先要计算Tt与{T1,T2,…Tt-1}这些任务的相似度St,p(p=1,2,…,t-1),并根据相似度St,p来指导后面的神经元扩张和选择性重复使用。𝑆𝑡,𝑝 的值越小表示两个任务之间的相似度越高。
在持续学习的场景中,为了判断当前任务与前一个任务的相似度,研究者将每个任务类别𝑡的样本特征𝑀𝑡,𝑡的平均值保存为每个任务后的特征锚点,以供后续任务调用。特征锚点大小是每个任务的类别数与特征维度的乘积,不会造成额外的内存负担。
研究者将新任务样本输入到每个现有的旧任务神经元群体中,以提取特征 𝐹𝑡,𝑝, 𝑝 = 1,…, 𝑡 − 1 并计算每个类别 𝑐 ∈ 𝐶𝑡 的特征平均值 𝑀𝑡,𝑝。 为了保证SNN中的分散稳定性,引入系数𝛾 < 1。它仅保证分散大于0,并且不影响相似性的相对大小。根据独立采样KL散度计算方法,当前任务𝑡和任务𝑝的KL散度相似度计算为:
得到两个任务的KL散度以后,将KL 散点映射到 [0, 1] 范围内的相似度,就可以得到任务之间的相似度𝑆𝑡,𝑝 :
2.神经元辨别扩张
根据当前任务和先前任务之间基于相似性的上下文关联的差异,SCA-SNN 有区别地扩展加入网络的不同规模的神经元群体,以针对每个新任务学习新特征。
计算新任务的神经元扩展数量,该数量与 𝑆𝑡,𝑝 成正比。 当两个任务相似时,𝑆𝑡,𝑝 较小,网络扩展规模动态减小。
可以从上述的架构图看到,新任务的神经元群体层会与旧任务的神经元群体层进行全连接,旧任务的现有神经元无法添加输入突触并更改输入突触的权重,但可以添加新的可学习输出突触。
在论文中,研究者求出了新任务与所有旧任务的 𝑆𝑡,𝑝 ,将这些 𝑆𝑡,𝑝 取最小值便能找到与新任务关联最大的旧任务,在论文中关联幅度用A来表示:
𝐴 值越小表示关联性越强,旧任务中已经学习的许多特征与新任务相似并且可以重复使用。通过这种神经元群体的扩张机制,SCA-SNN就可以做到在减少新神经元扩张的同时又不影响学习能力。
为了保证扩展的神经元数量保持在合理的范围内,研究者设计了以下自适应计算方法来确定层𝑙中扩展的神经元数量:
M表示该层神经元的最大数量,最小值为0.
3.神经元选择重复使用
在大脑的发育习惯化机制中,习得性习惯化的神经元需要反复刺激才能重新激活,而不相关的神经元则被断开连接。相似度值决定了重用神经元的数量:相似度 𝑆𝑡,𝑝 越小,来自旧任务 𝑁 𝑒𝑙 𝑝 的有益神经元被重用的越多。 这样,当新任务与旧任务相似时,扩展更少的神经元,选择性地重用旧任务的更多神经元,提高新任务的学习能力,同时降低能耗。
研究者提出了一种基于梯度的神经元相关性评估,以确定先前任务中的哪些神经元对新任务有益。
如上述架构图所示,在新任务学习开始时,新扩展的神经元与旧任务的所有神经元完全连接。通过学习新任务的神经元权重,同时保持旧任务神经元权重不变并计算它们的梯度。较大的梯度表明突触权重需要进行重大改变才能对新任务有效,这表明这些突触与新任务无关,如果保持不变可能会阻碍学习。在 SCA-SNN 模型中,研究者通过对旧任务中神经元的输入突触梯度 𝐺𝑙 𝑝 求和来评估神经元级别的相关性。
由于大脑中的习惯化激活需要重复刺激,因此 SCA-SNN 中新任务对神经元的重新选择也需要多重判断。研究员采用神经元系数R^l p来判断。当旧任务神经元与新任务相关性的函数多次保持高值时,该神经元将被新任务网络重新选择。 反之,当神经元相关性函数多次较低时,该神经元将被判断为不相关神经元,被排除在新任务网络之外。
R^l p的公式如下:
在上述公式中,负指数𝑒−𝑒𝑝𝑜𝑐ℎ∕2随着迭代次数的增加而逐渐减小,最后趋于稳定。这促进了知识学习成熟过程中网络结构逐渐稳定,符合生物脑网络先快速衰减后逐渐稳定的发展过程。
若旧任务求出的R^l p小于0,则对应旧任务的神经元就会与新任务断开。
𝜌𝑝由当前神经元所属的新旧任务之间的相似度𝑆𝑡,𝑝 决定。 𝑆𝑡,𝑝 越大,𝜌𝑝越小,断开连接的神经元就越多。 𝜌𝑝 计算如下:
其中𝑏𝑖𝑎𝑠 与层𝑙 负相关。
二、实验部分
1.数据集
为了验证 SCA-SNN 模型的有效性,研究者不仅在广义 CIFAR100 和 ImageNet(Mini-ImageNet 和 Tiny-ImageNet)数据集上进行了广泛的实验,还在混合任务数据集中测试了所提出的基于相似性的上下文感知算法 FMNIST-MNIST 和 SVHN-CIFAR100。
2.与基于 SNN 的持续学习的比较
研究者比较了几种基于深度的SNN结构的持续学习算法,DSD-SNN、SOR-SNN、HNET等等。
可以从上图看到,SCA-SNN无论是通用数据集还是混合数据集都表现出卓越的性能。特别是在广义高分辨率MiniImageNet中,SCA-SNN模型在精度上取得了显着的提高。 我们的平均准确率是 75.7%,比准确率第二高的 SOR-SNN 高 处20.7%。
并且研究者还发现,与其他方法的准确率下降趋势相比,SCA-SNN的准确度能够稳定在75%左右,这表明适当的选择性重用不仅可以有效地利用过去学到的知识来帮助学习新任务,而且可以消除不相关知识对新任务的干扰。
在混合数据集中,SCA-SNN 的准确性在不同类型的任务中保持稳定。 然而,EWC、MAS、LSTM_NET 和 SOR-SNN 方法在混合数据集的交替学习过程中都表现出与任务相关的规律性波动。当任务类型发生变化时,HNET就完全失去了学习能力。
当第一个任务来自CIFAR100数据集时,SCA-SNN的平均准确率达到90.31%,这与任务交换之前的性能没有显着差异。 这归功于基于相似性的上下文感知算法,该算法有效地识别任务之间的相似性并执行有针对性的神经元扩展和重用,使网络能够有效地适应不同的任务。
3.与基于DNN的持续学习比较
为了进行广泛的比较和分析,研究者将SCA-SNN与成熟的基于 DNN 的持续学习方法在任务增量和类增量学习上进行比较。
SCA-SNN在 10 个step的 TIL 中实现了 85.61 ± 0.24% 的准确度,在 CIL 中实现了 57.06 ± 0.29% 的准确度。 此外,在具有更多任务的 20 step场景中,SCA-SNN 在 TIL 中实现了 86.45 ± 0.35%,在 CIL 中实现了 50.19 ± 0.45% 的卓越准确率。 这些结果优于 ERK 等结构扩展算法,在 10 步和 20 步场景下,TIL 分别提高了 8.98% 和 6.84%,并且优于 HAT CIL 分别增长 15.96% 和 24.19%。
Tiny-ImageNet数据集在10step场景下,SCA-SNN 的平均精度达到 71.9 ± 0.52%,与精度次之的 RDER算法相比,精度提高了 3.1%。 综上所述,虽然 SCA-SNN 算法是基于 SNN 实现的,但与基于 DNN 的算法相比,SCA-SNN同样良好的性能。
4.资源消耗
在论文中,研究者从连接数量、神经元数量、每秒浮点运算 (FLOP) 和计算能量方面比较了所提出方法的网络能耗。
连接数和神经元数是每个任务激活的权重数和神经元数的平均值。DNN的计算能量公式如下:
E(DNN)=FLOP(DNN)*EMAC
其中 𝐸𝑀 𝐴𝐶 = 4.6𝑝𝐽 是乘法累加 (MAC) 运算的能耗。
SNN的计算能量公式如下:
其中𝐸𝐴𝐶 = 0.9𝑝𝐽 是累加(AC)操作的能耗。
结果表明,完成所有任务的学习后,SCA-SNN的参数剪枝率为42.08%,测试中使用的平均连接数和神经元数分别为8.4×10^6和3111,明显低于其他方法 。 在这种情况下,所需的 FLOP 次数也较小。
因为在学习类似任务时,SCA-SNN 模型会重用更多现有神经元来减少新神经元的扩展。 当学习不同的任务时,现有的不相关神经元会被大量修剪。 因此,与正则化和重播方法相比,实际激活的连接和神经元的数量少于ResNet18的标准结构。
5.Ablation studies
论文中研究员验证了所提出的相似性评估方法的有效性以及所提出的SCA-SNN的参数鲁棒性,包括:相似性参数𝛾、扩展参数𝛼和重用参数𝛽。
实验结果如上图所示,对于相似性评估,研究者将所提出的基于 KL 的算法与其他常用的相似性距离评估方法进行比较,包括 Jensen-Shannon 散度、Jeffreys 散度、交叉熵和欧几里德距离。
使用所提出的基于KL的方法评估相似性的网络在准确性上略高于其他方法。 这证明了基于 KL 的相似性评估在支持判别性扩展和选择性重用机制以实现 SNN 中灵活高效的持续学习方面的优势。
此外,研究者验证了参数𝛾在所提出的基于KL的相似性中的鲁棒性,如图b所示。 结果表明,在不同的𝛾下,准确率几乎没有变化,这再次证明了𝛾在不影响性能的情况下保证了相似度的非负性。
对于神经元判别扩展参数𝛼对持续学习平均准确率的影响,𝛼越大,扩展神经元数量越多,任务间距离一定的情况下网络能耗越高。 如图c所示,SCA-SNN在𝛼=5时的平均准确率曲线略高于其他。 当𝛼小于5时,网络规模较小,导致准确率略有下降; 当𝛼大于5时,网络规模越大,导致在训练成本一定的情况下无法达到最优值。 尽管如此,随着 𝛼 的变化, SCA-SNN 的最终精度稳定在 85% 左右,这证明了我们的模型对扩展参数 𝛼 的鲁棒性。
对于选择性重用参数𝛽,𝛽越大,网络的剪枝率越小。 如图 d 所示,SCA-SNN 的性能随着 𝛽 的变化保持大致稳定。 当𝛽 = 1时,SCA-SNN达到85.92%的最高性能,此时网络的稀疏度为42.08%。
6.基于相似性的神经元群体分配
研究员还统计了相似度与选择性重用神经元数量之间的关系、任务之间的距离大小与任务相关神经元剪枝率之间的关系。
在图 b中,可以看出,在任务 6、7、9 和 10 的 ResNet18 SNN 路径中,较大的距离表明任务之间的相似性较低,并导致属于旧任务的神经元群体的剪枝率较高。 例如,在学习新任务7时,任务7和任务3之间的距离被评估为0.12,任务7网络仅剪枝了从任务3延伸的18.57%的神经元。任务7和任务6之间的距离为 评估为更大的0.74。 因此,任务 7 路径修剪了属于任务 6 的 45.46% 的神经元。
总结
1.在生物大脑中,神经系统在学习相似的任务时会激活相似的神经元群体,以有效协调多个认知任务。在 SCA-SNN 中,新任务会与之前的每个旧任务进行不同的相似性评估。 当新任务𝑇𝑖与旧任务𝑇𝑝非常相似时,来自旧任务𝑁𝑒𝑙𝑝的更多神经元会被新任务注意到并重新激活。 相反,当新任务与旧任务弱相似时,旧任务的更多神经元与新任务断开连接。当学习一个与前一个任务 𝑡 − 1 类似的新任务 𝑡 时,两者激活的神经元更加相似; 当学习与前一个任务无关的新任务时,两者激活的神经元群体的重叠较少。
2.与结构扩展算法相比,SCA-SNN基于相似性的判别扩展和选择性重用增加了重用神经元的稀疏性,同时减少了新扩展的神经元的数量。
3.SCA-SNN 模型可以通过基于相似性的判别式扩展和选择性重用,自适应地协调相似的神经元群体来完成相似的任务,从而与多任务保持一致 生物大脑的持续学习机制,提高学习效率。