Skip to main content
QUICK REVIEW

[论文解读] Ternary Spike: Learning Ternary Spikes for Spiking Neural Networks

Yufei Guo, Yuanpei Chen|arXiv (Cornell University)|Dec 11, 2023
Advanced Memory and Neural Computing被引用 5
一句话总结

该论文提出了一种新型脉冲神经网络(SNN)神经元——三元脉冲(Ternary Spike),其使用{-1, 0, 1}脉冲激活以提升信息容量,同时保持无需乘法运算和事件驱动的推理特性。可学习的振幅因子允许各层自适应调整脉冲幅度,推理时通过重参数化技术将其转化为标准三元脉冲,从而在仅增加极低能耗开销的前提下实现最先进(SoTA)的准确率——例如在ResNet34上,ImageNet数据集的top-1准确率达到70.74%,且仅需4个时间步。

ABSTRACT

The Spiking Neural Network (SNN), as one of the biologically inspired neural network infrastructures, has drawn increasing attention recently. It adopts binary spike activations to transmit information, thus the multiplications of activations and weights can be substituted by additions, which brings high energy efficiency. However, in the paper, we theoretically and experimentally prove that the binary spike activation map cannot carry enough information, thus causing information loss and resulting in accuracy decreasing. To handle the problem, we propose a ternary spike neuron to transmit information. The ternary spike neuron can also enjoy the event-driven and multiplication-free operation advantages of the binary spike neuron but will boost the information capacity. Furthermore, we also embed a trainable factor in the ternary spike neuron to learn the suitable spike amplitude, thus our SNN will adopt different spike amplitudes along layers, which can better suit the phenomenon that the membrane potential distributions are different along layers. To retain the efficiency of the vanilla ternary spike, the trainable ternary spike SNN will be converted to a standard one again via a re-parameterization technique in the inference. Extensive experiments with several popular network structures over static and dynamic datasets show that the ternary spike can consistently outperform state-of-the-art methods. Our code is open-sourced at https://github.com/yfguo91/Ternary-Spike.

研究动机与目标

  • 为解决SNN中因二值脉冲激活映射导致的信息损失问题,该问题限制了准确率,原因在于信息容量不足。
  • 在保持SNN能效优势的前提下,通过无乘法运算和事件驱动计算,提升SNN的表征能力。
  • 通过引入可学习的振幅因子,使脉冲振幅能够适应网络各层膜电位分布的差异。
  • 通过在推理阶段将可训练的脉冲振幅重参数化为标准三元脉冲,保持推理效率。

提出的方法

  • 提出一种三元脉冲神经元,将膜电位量化为{-1, 0, 1}而非{0, 1},在不牺牲无乘法运算推理的前提下提升信息容量。
  • 引入一种可训练的三元脉冲变体,其中脉冲振幅α在每层可学习,实现与各层膜电位分布相匹配的自适应脉冲幅度。
  • 在推理阶段采用重参数化技术,将学习到的α因子融入网络权重,恢复标准三元脉冲操作,保持仅加法运算的优势。
  • 使用标准SNN训练流程,结合替代梯度反向传播,三元脉冲函数通过可微分的类似hard-tanh的激活函数近似。
  • 在静态和动态数据集(包括CIFAR-10、CIFAR-100、ImageNet和CIFAR10-DVS)上,将方法应用于多种主干网络架构(如ResNet18、ResNet34、VGG11等)。
  • 通过比较FLOPs和SOPs评估能效,结果表明三元脉冲相比二元脉冲仅增加2.11%的能耗成本。
Figure 1: The difference between our ternary spike neuron and the vanilla binary spike neuron. In binary spike neurons, the membrane potentials will be quantized to $\{0,1\}$ spikes, which will cause severe information loss. In our ternary spike neuron, the membrane potentials will be quantized to $
Figure 1: The difference between our ternary spike neuron and the vanilla binary spike neuron. In binary spike neurons, the membrane potentials will be quantized to $\{0,1\}$ spikes, which will cause severe information loss. In our ternary spike neuron, the membrane potentials will be quantized to $

实验结果

研究问题

  • RQ1三元脉冲激活({-1, 0, 1})是否能在不牺牲能效的前提下,显著提升SNN的信息容量,相比二元脉冲({0, 1})?
  • RQ2学习各层脉冲振幅(α)是否能通过适配不同层的膜电位分布,带来性能提升?
  • RQ3可训练的振幅因子是否能有效在推理阶段重参数化为权重,从而保持SNN无乘法运算和事件驱动的优势?
  • RQ4在多样化基准测试中,该方法与最先进SNN相比,在准确率和能效方面表现如何?

主要发现

  • 所提出的Ternary Spike方法在使用ResNet34且仅4个时间步的情况下,于ImageNet上实现了70.74%的top-1准确率,相比之前最先进方法提升约3%。
  • 在CIFAR10-DVS上,可训练的Ternary Spike使用ResNet20达到79.80%的准确率,较之前最先进方法高出超过2%,并接近80%准确率。
  • 仅使用2个时间步,可训练的Ternary Spike在CIFAR-10上使用ResNet20实现了94.46%的准确率,超越了相同设置下的先前最先进结果。
  • 尽管信息容量更高,三元脉冲的能耗成本相比二元脉冲仅增加2.11%,表明其开销极低。
  • 该方法在多个数据集和网络架构上持续优于最先进SNN,涵盖静态(CIFAR-10、CIFAR-100、ImageNet)和动态(CIFAR10-DVS)基准。

更好的研究,从现在开始

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

无需绑定信用卡

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