Skip to main content
QUICK REVIEW

[论文解读] Optimal Conversion of Conventional Artificial Neural Networks to Spiking Neural Networks

Shikuang Deng, Shi Gu|arXiv (Cornell University)|Feb 28, 2021
Advanced Memory and Neural Computing参考文献 32被引用 100
一句话总结

本文分析了从 ANN 转换到 SNN 的转换误差,并提出了一种阈值平衡、基于软重置的流水线,在显著缩短仿真长度的同时几乎不造成准确率损失。

ABSTRACT

Spiking neural networks (SNNs) are biology-inspired artificial neural networks (ANNs) that comprise of spiking neurons to process asynchronous discrete signals. While more efficient in power consumption and inference speed on the neuromorphic hardware, SNNs are usually difficult to train directly from scratch with spikes due to the discreteness. As an alternative, many efforts have been devoted to converting conventional ANNs into SNNs by copying the weights from ANNs and adjusting the spiking threshold potential of neurons in SNNs. Researchers have designed new SNN architectures and conversion algorithms to diminish the conversion error. However, an effective conversion should address the difference between the SNN and ANN architectures with an efficient approximation \DSK{of} the loss function, which is missing in the field. In this work, we analyze the conversion error by recursive reduction to layer-wise summation and propose a novel strategic pipeline that transfers the weights to the target SNN by combining threshold balance and soft-reset mechanisms. This pipeline enables almost no accuracy loss between the converted SNNs and conventional ANNs with only $\sim1/10$ of the typical SNN simulation time. Our method is promising to get implanted onto embedded platforms with better support of SNNs with limited energy and memory.

研究动机与目标

  • 分析在将 ANNs 转换为 SNNs 时,转换误差如何从一层传播到另一层。
  • 提出一种逐层转换策略,以最小化 ANN 与 SNN 之间的激活值差异。
  • 提出阈值平衡和移位机制,在较短的仿真长度内逼近脉冲发放频率。
  • 在标准数据集上的经典 CNN 架构上提供理论与实证验证。

提出的方法

  • 推导前向传播,证明 SNN 的输出是 ANN 激活的截断离散版本。
  • 将转换误差分解为逐层项,并表明通过控制各层的激活差异可以最小化。
  • 在源 ANN 中提出阈值 ReLU 激活,并使 V_th 与 y_th 对齐以减少信息损失。
  • 在 ANN ReLU 中添加一个移位 delta 以最小化平方激活差异,推导 delta ≈ V_th/(2T)。
  • 提供一个设定层阈值 V_th 并在权重转移时加入一个小偏置修正 V_th/(2T) 的算法。
  • 使用 CIFAR-10/100 和 ImageNet,采用 CIFAR-Net、VGG-16 和 ResNet-20 架构对该方法进行验证。

实验结果

研究问题

  • RQ1如何将从 ANN 到 SNN 的转换误差分解为逐层并尽量在每层上最小化?
  • RQ2阈值平衡和激活移位在在保持精度的同时减少仿真长度方面起到什么作用?
  • RQ3在标准 CNN 架构中,是否存在一个最优的、短仿真长度的流水线能实现接近 ANN 的精度?
  • RQ4修改源 ANN 激活(阈值 ReLU)如何影响转换性能和泛化能力?

主要发现

  • 转换误差可以近似分解为逐层激活差异项之和。
  • 使用阈值 ReLU 和移位 delta 为 V_th/(2T) 可最小化逐层激活差异,降低整体转换损失。
  • 所提流水线在典型 SNN 仿真时间的约 1/10 左右即可几乎不损失精度。
  • 实验表明在 CIFAR-10/100 及 ImageNet 任务上,与若干现有方法相比具有可比甚至更高的精度且仿真长度显著更短。
  • 在某些情况下,经过转换的 SNN 甚至优于源 ANN(例如 CIFAR-10/100 上的 ResNet-20)。
  • 该方法在保持高精度的同时显著减少所需的仿真步数(如某些网络为 16–32 步。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。