SNN知识储备-ANN2SNN

1. SpiCalib

1.1 针对的问题

  • 在CNN转SNN时,通常会有较大的性能下降和时延
  • 以前的工作主要集中在简单的分类任务上,忽略了SNN神经元的发电率应当是对ANN神经元激活值的精确近似

1.2 方法

  • 提出了Spike Calibration来消除离散脉冲对输出分布的有害影响
  • 使用burst mechanism,极大程度地减少clipping error(该方法参见论文:Yang Li and Yi Zeng. Efficient and accurate conversion of spiking neural network with burst spikes. arXiv preprint arXiv:2204.13271, 2022.)
  • 修改了LIPooling为MLIPooling,从而可对任意MaxPooling层进行无损转换(该方法参见上面这篇论文)
  • 提出了使用贝叶斯优化来快速找到权重归一化参数p,避免经验设定

1.3 效果

  • 在分类、目标检测、分割任务达到了SOTA的效果
  • 第一次获得在上述几种任务上同时达到与ANN相当的SNN
  • 在检测任务中:只需要花先前工作台的1/50的推理时间;在分割任务中:只需要花先前工作的0.492倍能耗就能达到同样的效果。

1.4 讨论

虽然文中提出的SpiCalib可以解决绝大多数SIN问题,但对于少数激活值接近0的神经元,它们可以在整个模拟时间内保持放电,并且不能被SpiCalib纠正。
未来如果能将量化技术与SpiCalib结合起来,会让转换更加实用和高效。

1.5细枝末节

posted @ 2023-04-07 11:06  Kurie  阅读(116)  评论(0编辑  收藏  举报