Loading...


1.absract

针对的问题: Spiking-YOLO将SNN扩展到目标检测,但存在高延迟和低检测准确性,难以部署在对延迟敏感的移动平台上


方法:

  • 时间步压缩:通过压缩信息减少了ANN-SNN转换中所需的时间步数
  • 时序相关的集成编码(STDI): 通过设置一个时变阈值来扩展信息容量

提出了一种基于SNN的超低延迟和高准确性的目标检测模型(SUHD),在PASCAL VOC和MS COCO等非平凡数据集上实现了最先进的性能,与Spiking-YOLO相比,在MS COCO数据集上的时间步数减少了约750倍,平均精度(mAP)提高了30%.

SUHD是迄今为止实现了超低时间步数完成无损转换的最深的基于脉冲的目标检测模型。



2. 巨大时间步需求与误差

ANN模型

ANN -> SNN

定义spiking ratio为r

量化误差

SNN希望通过脉冲的形式完全传递膜电位的变化,从而确保网络的输入和输出在信息传递方面是等效的。如果T时刻的膜电位与0时刻的膜电位不相等,这表示有部分电位变化没有通过尖峰形式被传递,从而导致信息损失。



假设T=5

在图(a)中,膜电位在最后的t = T时刻没有达到脉冲阈值,导致电位仍然保留在细胞膜中而没有传输出去。

与之等价的是图(b),在这个过程中只能表示6个值:0、0.2、0.4、0.6、0.8、1.0。

因此,许多值无法被准确表示。在图(c)中,通过增加T的值,我们提高了表示值的密度,从而更准确地表达脉冲比率。


截断误差

图像展示了截断错误的产生,其中超过发射比上限的信息被默认截断。

3.时间步压缩

时间步压缩方法 vs 传统方法

fc :压缩比例,它表示每个压缩的时间步包含了 fc 个未压缩时间步的信息。
Tc: 压缩后的时间步
rc:firing ratio

输入压缩: 将多个时间步骤(比如 fcf_c 个时间步骤)压缩到一个时间步骤中。如果 z(t)z(t) 是时间 tt 的输入,那么压缩后的输入 zcz_cfcf_c 个时间步骤内输入的总和,数学表达为 zc=t=1fcz(t)z_c = \sum_{t=1}^{f_c} z(t)

层压缩: 在这一步中,网络在一个时间步骤内处理多个输入。如果膜电位超过阈值,就会发出Burst spike(一个时间步骤内的多个尖峰)。

输出解压缩: 最后,压缩时间步骤中的尖峰比率 rlr_l 被重新计算,以映射回 [0, 1] 的正常范围。这涉及到将尖峰比率除以压缩比例 fcf_c


4.Spike-Time-Dependent Integrated Coding

为了解决的问题:脉冲的错误排序可能会导致识别精度下降。例如,在传统的脉冲神经网络中,如果脉冲的排序与其在原始信号中的时间顺序不匹配,可能会导致信息的误解和处理性能的下降。

权重定义:τ(t) = T - t + 1

阈值调整: Vthr=τ(t)vthrV_{\text{thr}} = \tau(t) \cdot v_{\text{thr}}

输入调整: zl=i=1n(wl1sl1(t)τ(t))+blz_l = \sum_{i=1}^{n} (w_{l-1} * s_{l-1}(t) * \tau(t)) + b_l


根据尖峰发生的时间点动态分配,使得早期的尖峰比后来的尖峰有更高的权重。这样,一个尖峰可以携带更多关于其发生时间的信息,从而增加了尖峰的信息容量.




5.实验部分

消融实验

不同方法对比(PASCAL VOC)

不同方法对比(MS COCO)

能量消耗