【AAAI2025】计算机视觉|即插即用|FSTA:炸裂!这个即插即用模块,让你的SNN性能起飞!
论文地址:https://arxiv.org/pdf/2501.14744
代码地址:https://github.com/yukairong/FSTA-SNN
关注UP CV缝合怪,分享最计算机视觉新即插即用模块,并提供配套的论文资料与代码。
https://space.bilibili.com/473764881
摘要
脉冲神经网络 (SNN) 由于其固有的能源效率,正在成为人工神经网络 (ANN) 的一个有前景的替代方案。由于 SNN 内部脉冲生成的固有稀疏性,对中间输出脉冲的深入分析和优化往往被忽略。这种疏忽极大地限制了 SNN 固有的能源效率,并削弱了其在时空特征提取方面的优势,导致精度不足和不必要的能源消耗。本研究从时间和空间角度分析了 SNN 固有的脉冲特征。在空间分析方面,本研究发现浅层倾向于关注学习垂直变化,而深层逐渐学习特征的水平变化。关于时间分析,本研究观察到不同时间步长的特征学习没有显著差异。这表明增加时间步长对特征学习的影响有限。基于这些分析得出的见解,本研究提出了一种基于频率的时空注意力 (FSTA) 模块来增强 SNN 中的特征学习。该模块旨在通过抑制冗余脉冲特征来提高特征学习能力。实验结果表明,FSTA 模块的引入显着降低了 SNN 的脉冲发射率,在多个数据集上展现出优于现有基准的性能。
引言
脉冲神经网络 (SNN) 因其固有的能源效率而成为人工神经网络 (ANN) 的一个很有前景的替代方案。 然而,SNN 中脉冲生成的固有稀疏性导致对其中间输出脉冲的深入分析和优化常常被忽视。这种疏忽极大地限制了 SNN 固有的能源效率,并削弱了其在时空特征提取方面的优势,导致准确性不足和不必要的能量消耗。
本研究从时间和空间角度分析了 SNN 固有的脉冲特性。在空间分析方面,本研究发现浅层倾向于关注学习垂直变化,而深层逐渐学习特征的水平变化。 关于时间分析,本研究观察到不同时间步长的特征学习没有显著差异。 这表明增加时间步长对特征学习的效果有限。
基于这些分析的见解,目前的 SNN 研究主要集中在轻量级、脉冲计数或基于注意力的策略。例如,提出的算法结合了惩罚函数来利用脉冲感知的稀疏正则化和压缩,采用剪枝和蒸馏等技术来减少脉冲出现,或整合时间、空间或通道注意力等注意力机制来抑制冗余脉冲。尽管这些方法有可能减少脉冲,但它们也存在一些缺点,例如准确性下降、增强有限或引入额外的复杂性,而没有对学习偏好进行全面的网络级评估。
本研究从频率角度分析了 SNN 中脉冲放电的学习偏好,为脉冲冗余提供了一种新的理解。 为了验证 SNN 中学习的普遍性,本研究对不同数据集和模型架构中不同深度中间层的脉冲输出进行了傅里叶变换。频谱分析揭示了 ResNet 和 VGG 结构在静态和动态数据集中的频率分布一致性。 随着时间的推移,同一层中的频率分布表现出显著的重叠,只有幅度响应的微小变化,这表明可能存在参数共享以提高空间效率。观察网络深度,浅层集中在中心轴上,而深层逐渐沿着垂直轴扩展。这种现象表明,在浅层中,SNN 优先为垂直差异特征放电脉冲,在深层中逐渐转向水平差异特征。
基于这些发现,本研究提出了一个基于频率的时空注意力 (FSTA) 模块,以增强 SNN 中的特征学习。该模块旨在通过抑制冗余脉冲特征来提高特征学习能力。
论文创新点
✨ 本研究提出了一个基于频率的时空注意力模块(FSTA),用于提升脉冲神经网络(SNN)的特征学习能力。 ✨ 本研究的创新点主要体现在以下几个方面:
-
🔍 基于频率的SNN学习偏好分析: 🔍
- 本研究首次从频率角度分析了SNN的学习偏好,并揭示了SNN中冗余脉冲的产生机制。
- 通过对不同网络结构、数据集和网络层级的脉冲输出进行频谱分析,本研究发现SNN的浅层倾向于学习垂直方向的特征差异,而深层则逐渐学习水平方向的特征差异。
- 同时,本研究还发现,不同时间步的频率分布基本一致,仅幅值略有变化,这表明增加时间步对特征学习的提升有限。
- 💡 这一发现为SNN的稀疏化和能效优化提供了重要的理论基础。
-
🌈 DCT全频谱空间注意力子模块: 🌈
- 不同于传统的空间注意力模块主要关注全局平均池化(GAP)压缩后的特征,本研究指出GAP实际上等价于二维离散余弦变换(DCT)的最低频分量。
- 因此,传统的空间注意力模块的信息提取范围有限。
- 为了解决这个问题,本研究提出了基于DCT的全频谱空间注意力子模块,利用DCT的全部频带基函数提取更全面的频率特征,从而减少冗余脉冲,提高特征表达能力。
- 为了降低计算复杂度,本研究将DCT的权重预先计算并存储为固定常数,从而避免了重复的余弦计算。
-
⏳ 时间注意力子模块: ⏳
- 针对不同时间步之间频率分布相似但幅值存在差异的特点,本研究设计了时间注意力子模块,用于调节不同时间步的权重。
- 该子模块通过对输入特征图进行平均池化和最大池化操作,并引入可学习参数来平衡全局和局部信息,从而有效地捕捉时间维度上的特征变化,并对不同时间步的特征进行加权增强。
-
🔌 即插即用的模块设计: 🔌
- FSTA模块采用即插即用的设计,可以方便地集成到现有的SNN架构中。
- 该模块通过串行组合时间注意力子模块和空间注意力子模块,在有效提升性能的同时,最大限度地降低了计算开销和能耗。
-
⚡ 显著降低脉冲发放率: ⚡
- 实验结果表明,FSTA模块可以显著降低SNN的脉冲发放率,平均降幅达到33.99%。
- 这表明FSTA模块能够有效抑制冗余脉冲,提高网络的能量效率,并在多个数据集上取得了优于现有SOTA方法的性能。
论文实验