跳转至

Rethinking Spiking Self-Attention Mechanism: Implementing a-XNOR Similarity Calculation in Spiking Transformers

会议: CVPR 2025
arXiv: 无
代码: 无
领域: NLP理解 / 模型架构
关键词: 脉冲神经网络, 脉冲Transformer, 自注意力机制, XNOR相似度, 能效计算

一句话总结

本文深入分析了点积在脉冲查询-键对中因大量"非脉冲事件"导致相似度度量失效的根本原因,提出专为脉冲序列设计的a-XNOR相似度度量,将非脉冲对的相关性重定义为特定值a,在多种脉冲Transformer架构和数据集上显著提升性能。

研究背景与动机

领域现状:Transformer因其全局感受野和并行化能力在各类任务中大幅提升了性能上限。研究者开始将Transformer集成到脉冲神经网络(Spiking Neural Networks, SNN)中,试图结合Transformer的强表达能力和SNN的超低功耗优势。脉冲Transformer已在图像分类、目标检测等任务上展现潜力。

现有痛点:现有脉冲Transformer与其对应的人工神经网络(ANN)版本之间仍存在显著的性能差距。在传统Transformer中,自注意力通过softmax归一化的点积来度量查询和键之间的相似度。然而在SNN中,查询和键都是二值脉冲序列(只有0和1),直接使用点积存在根本问题。

核心矛盾:脉冲序列高度稀疏(大部分时间步为0,即"非脉冲"状态),两个脉冲序列之间的点积主要由大量的(0,0)对决定。在标准点积中,0×0=0,这意味着两个序列"同时不发脉冲"的信息被完全忽略。但实际上,"同时不发脉冲"也携带了关于两个序列相似性的信息(类似于二元分类中的真负例),点积无法捕捉这一信息导致相似度度量严重失真。

本文目标 (1) 明确分析点积在脉冲自注意力中失效的数学原因。(2) 设计一种新的相似度度量方法来替代点积,使其能正确处理脉冲序列的稀疏二值特性。

切入角度:作者从XNOR逻辑运算出发设计新的相似度度量。XNOR运算在两个bit相同时输出1,不同时输出0,天然适合衡量二值脉冲对的匹配程度。在此基础上引入可学习参数a来区分"同时有脉冲"和"同时无脉冲"两种匹配情况的重要性。

核心 idea:用a-XNOR替代点积来计算脉冲Q和K的相似度,将非脉冲对(0,0)的贡献重定义为参数a而非0,解决点积在稀疏脉冲序列上的失效问题。

方法详解

整体框架

在标准脉冲Transformer的自注意力层中,将原本的点积相似度计算替换为a-XNOR相似度计算。方法是即插即用的(plug-and-play),可以直接应用到各种已有的脉冲Transformer架构中而不改变其整体结构。输入脉冲序列 → 线性变换得到脉冲Q、K、V → 用a-XNOR代替点积计算Q和K的相似度 → 与V加权求和 → 输出。

关键设计

  1. 点积失效的根因分析:

    • 功能:提供理论基础,说明为什么需要新的相似度度量
    • 核心思路:对于两个二值脉冲向量 \(\mathbf{q}, \mathbf{k} \in \{0,1\}^d\),点积 \(\mathbf{q} \cdot \mathbf{k} = \sum_{i=1}^d q_i \cdot k_i\)。由于脉冲稀疏性,大部分维度 \(q_i=0\)\(k_i=0\),仅有极少数维度两者同时为1。因此点积值很小、区分度低、信息量不足。更关键的是,(0,0)对在实际中占绝大多数,但它们对点积的贡献为0——这忽略了"两个神经元同时沉默"所编码的相关性信息
    • 设计动机:从数学上严格论证了为什么标准点积不适合脉冲序列
  2. a-XNOR相似度度量:

    • 功能:替代点积,为脉冲序列提供更有效的相似度计算
    • 核心思路:基于XNOR逻辑运算构建相似度。标准XNOR在两个bit相同时输出1((1,1)→1, (0,0)→1),不同时输出0。在此基础上引入参数a来区分两种"相同"情况:当两个位置都有脉冲(1,1)时贡献为1(共同激活是强相关信号);当两个位置都无脉冲(0,0)时贡献为a(a是可学习参数,\(0 < a < 1\))。相似度公式为 \(\text{sim}(\mathbf{q}, \mathbf{k}) = \sum_{i} [q_i \cdot k_i + a \cdot (1-q_i)(1-k_i)]\)。a的引入有两层含义:(1) 承认(0,0)对也携带相关性信息(a>0);(2) 区分(1,1)和(0,0)的重要性(a<1),因为在稀疏脉冲中脉冲出现比不出现携带更多信息
    • 设计动机:XNOR天然衡量匹配程度,引入a参数使得"同时沉默"和"同时激活"有不同的权重,符合信息论中"稀有事件更具信息量"的原则
  3. 即插即用的集成方式:

    • 功能:使方法具有广泛的适用性
    • 核心思路:a-XNOR相似度直接替换各种脉冲Transformer架构中的点积计算,不需要修改网络结构、训练策略或其他超参数。参数a可设为全局常数或逐层/逐头可学习参数。在硬件实现上,XNOR运算可以用高效的位操作实现,在神经形态芯片上更加友好
    • 设计动机:方法的通用性是其实用价值的关键

损失函数 / 训练策略

使用与各基线脉冲Transformer相同的训练配置(交叉熵损失、相同的优化器和超参数),仅替换注意力层中的相似度计算方式。参数a通过反向传播自动优化。训练过程中采用替代梯度(surrogate gradient)方法处理脉冲函数的不可微问题。

实验关键数据

主实验

在静态和神经形态数据集上跨多种脉冲Transformer架构测试:

架构 数据集 原始精度 +a-XNOR 提升
Spikformer CIFAR-100 基线 显著提升 +显著
Spike-driven Trans. CIFAR-100 基线 提升 +明显
Spikformer ImageNet 基线 提升 +可观
多种架构 DVS128-Gesture 基线 一致提升 +稳定

消融实验

a值设置 效果
a=0 (退化为标准点积) 基线性能
a=固定小值 明显提升
a=可学习参数 最优
a=1 (等权对待1-1和0-0) 低于a<1

关键发现

  • a-XNOR在所有测试架构上都带来了一致正向提升,证明了问题的普遍性和解决方案的通用性
  • 最优a值通常在0到1之间,验证了"脉冲携带更多信息"的假设
  • 可学习的a倾向于收敛到较小的正值
  • 在稀疏度更高的层中,a-XNOR的提升更大

亮点与洞察

  • 问题分析深刻:从数学上严格分析了点积在脉冲序列上失效的原因,使动机非常有说服力
  • 解决方案优雅:a-XNOR概念简洁、直觉清晰、实现简单,却解决了一个根本性的问题
  • 信息论视角:将(0,0)和(1,1)赋予不同权重呼应了"稀有事件更具信息量"的原则
  • 即插即用特性极具实用价值:可以直接提升现有各种脉冲Transformer的性能
  • 硬件友好:XNOR运算可用位操作高效实现,适合神经形态芯片部署

局限与展望

  • 参数a是标量,对所有维度一视同仁,可探索逐维度或逐通道a值
  • V的脉冲特性未被专门处理
  • 主要在分类任务上验证,可扩展到检测、分割等密集任务
  • 理论分析可更定量化,如给出a最优值与脉冲发放率之间的解析关系

相关工作与启发

  • Spikformer:首个将Vision Transformer引入SNN的工作
  • Spike-driven Transformer:提出脉冲驱动的自注意力
  • 启发:从底层运算角度反思和改进的思路可推广到SNN的其他组件

评分

  • 新颖性: ⭐⭐⭐⭐(对脉冲注意力中点积失效的分析和a-XNOR的提出都很有洞见)
  • 实验充分度: ⭐⭐⭐⭐(多种架构、多种数据集的全面验证)
  • 写作质量: ⭐⭐⭐⭐(问题分析清晰、逻辑严谨)
  • 价值: ⭐⭐⭐⭐(对脉冲Transformer领域有重要推动意义)

相关论文