One-Spike SNN: Single-Spike Phase Coding with Base Manipulation for ANN-to-SNN Conversion Loss Minimization
作者: Sangwoo Hwang, Jaeha Kung
分类: cs.NE, cs.AI
发布日期: 2024-01-30
备注: 11 pages, 10 figures
💡 一句话要点
提出单脉冲相位编码以优化ANN到SNN转换损失
🎯 匹配领域: 支柱一:机器人控制 (Robot Control)
关键词: 脉冲神经网络 ANN到SNN转换 能效优化 单脉冲编码 图卷积网络 深度学习 机器学习
📋 核心要点
- 现有的脉冲神经网络在训练时难以使用梯度方法,导致准确性受到限制。
- 本文提出单脉冲相位编码作为编码方案,通过阈值偏移和基数操作来最小化编码误差。
- 实验结果显示,转换后的SNN在多个数据集上仅损失微小的准确性,同时显著提升了能效。
📝 摘要(中文)
脉冲神经网络(SNN)因其事件驱动特性而具有比传统人工神经网络(ANN)更高的能效。然而,由于SNN通过离散脉冲传递数据,使用梯度方法进行训练变得困难,限制了其准确性。为保持SNN的准确性与ANN相似,本文提出了一种单脉冲相位编码方案,旨在最小化ANN到SNN转换过程中的损失。通过阈值偏移和基数操作,减少单脉冲近似带来的编码误差。实验表明,该方法在不需要额外重训练的情况下,平均仅损失0.58%的推理准确性,同时在图卷积网络(GCN)上成功转换,准确性损失为0.90%。最重要的是,SNN的能效相比于ANN基线提升了4.6至17.3倍。
🔬 方法详解
问题定义:本文旨在解决脉冲神经网络(SNN)在ANN到SNN转换过程中面临的损失最小化问题。现有方法在编码ANN激活为SNN脉冲时,容易导致准确性下降,且难以利用梯度方法进行训练。
核心思路:提出单脉冲相位编码作为一种新的编码方案,旨在通过减少传递数据所需的脉冲数量来降低转换损失。通过引入阈值偏移和基数操作,进一步减少因单脉冲近似带来的编码误差。
技术框架:整体架构包括ANN的预训练、编码方案的应用以及SNN的构建。首先,预训练的ANN用于获取激活值,然后通过单脉冲相位编码将这些激活值转换为脉冲,最后构建SNN以进行推理。
关键创新:最重要的创新点在于提出了单脉冲相位编码和基数操作,这与传统的多脉冲编码方法有本质区别,能够在不增加重训练的情况下保持推理准确性。
关键设计:在编码过程中,设置了特定的阈值偏移参数和基数操作,以优化脉冲生成的过程,确保在减少脉冲数量的同时,尽量降低编码误差。
🖼️ 关键图片
📊 实验亮点
实验结果表明,所提出的方法在三个卷积神经网络(CNN)上进行测试时,平均仅损失0.58%的推理准确性,而在图卷积网络(GCN)上转换时,准确性损失为0.90%。此外,SNN的能效相比于ANN基线提升了4.6至17.3倍,显示出显著的性能改进。
🎯 应用场景
该研究的潜在应用领域包括低功耗的边缘计算设备、物联网设备以及需要高效能量管理的实时处理系统。通过提高SNN的能效,该方法能够在实际应用中显著降低能耗,推动智能设备的普及与发展。
📄 摘要(原文)
As spiking neural networks (SNNs) are event-driven, energy efficiency is higher than conventional artificial neural networks (ANNs). Since SNN delivers data through discrete spikes, it is difficult to use gradient methods for training, limiting its accuracy. To keep the accuracy of SNNs similar to ANN counterparts, pre-trained ANNs are converted to SNNs (ANN-to-SNN conversion). During the conversion, encoding activations of ANNs to a set of spikes in SNNs is crucial for minimizing the conversion loss. In this work, we propose a single-spike phase coding as an encoding scheme that minimizes the number of spikes to transfer data between SNN layers. To minimize the encoding error due to single-spike approximation in phase coding, threshold shift and base manipulation are proposed. Without any additional retraining or architectural constraints on ANNs, the proposed conversion method does not lose inference accuracy (0.58% on average) verified on three convolutional neural networks (CNNs) with CIFAR and ImageNet datasets.In addition, graph convolutional networks (GCNs) are converted to SNNs successfully with an average accuracy loss of 0.90%.Most importantly, the energy efficiency of our SNN improves by 4.6~17.3 X compared to the ANN baseline.