TCL: an ANN-to-SNN Conversion with Trainable Clipping Layers 阅读总结

ABSTRACT

转换后的SNN存在准确性和延迟之间的权衡关系,在大型数据集中会造成相当大的延迟。本文提出了一种名为TCL的技术来缓解这种权衡关系的问题,使得ImageNet 在250个的步长延迟下具有73.87%(VGG-16)和70.37%(ResNet-34)的准确率。

1.INTRODUCTION

感觉几乎每篇论文的introduction介绍背景都十分相似,这里就不再赘述
本文的主要工作:
1.阐述了为什么转换snn的精度和延迟之间存在权衡关系,表明如何缓和这种权衡关系(3.1节)
2.提出了一种基本技术来改善SNN的准确性和延迟之间的权衡关系,即采用可训练裁剪层(TCL)。我们确保在一个ReLU层后都有一个裁剪区域经过训练裁剪层,找到最优的数据归一化因子,以考虑snn中的准确性和延迟。(3.2节)
3.通过适当控制了L2正则化系数,我们进一步提高了极低延迟约束下的SNN精度。(4.1节)

2.PRELIMINARY BACKROUNDS

2.1 Spiking Neural Networks theory

采用经典的IF模型, z i l ( t ) z^l_i(t) zil(t)为l层第i个神经元t时刻的总输入, θ j l − 1 ( t ) \theta^{l-1}_j(t) θjl1(t)为l-1层第j个神经元t时刻是否产生脉冲, W i j l W^l_{ij} Wijl为l-1的i神经元与l层的j神经元间的权重, V i l ( t ) V^l_i(t) Vil(t)为l层i神经元t时刻的电压, V t h r l V^l_{thr} Vthrl为l层的电压阈值
有公式如下,相信大家都已经比较熟悉:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 ANN to SNN conversion

ANN中的RELU激活函数作用如下,使得l层i神经元的总输入 a i l a^l_i ail不小于0:
在这里插入图片描述
由于(1)中 θ j l − 1 ( t ) \theta^{l-1}_j(t) θjl1(t)输入信号只能为0或者1,同 a j l − 1 a^{l-1}_j ajl1一样不能为负数,所以结合(1)(4)可以得到一个ANN到SNN的参数映射
此外为了进行转换,我们需要进行一个参数均值化,我们将阈值电压 V t h r l V^l_{thr} Vthrl全部设置为1,对每层的参数进行均值化处理
在这里插入图片描述
其中, λ l \lambda^l λl第l层的归一化因子, λ l \lambda^l λl的大小觉得会在3.1中进行讨论。
对于ANN中的批标准化有(其中a是输入, μ \mu μ σ \sigma σ是均值和方差, γ \gamma γ β \beta β是要学习的参数)
在这里插入图片描述
(个人认为是因为SNN输入只能是0,1不能进行标准化,所以只好在权重上进行批标准化来加快收敛速度)
在移除批标准化之后为了避免精度损失,我们采用如下式子来代替:
在这里插入图片描述
在这篇论文的方法中:
1.基于(5)进行了数据的均值化;
2.使用(7)替代批标准化;
3.用最大池化层代替平均池化层;
4.计算脉冲信号的数量,并且选用其中最大值进行判断分类,以此替代ANN中的soft-max层

3.OUR CONTRIBUTION

3.1 The trade-off between accurancy and latency

在这里插入图片描述

在ANN2SNN的转换中常常利用离散脉冲率 f i f_i fi来近似一个连续值 a i a_i ai
在这里插入图片描述
其中 a l i m i t a_{limit} alimit是映射到 f i = 1 f_i=1 fi=1的值, a m a x a_{max} amax是该层所有a的最大值, Δ \Delta Δ是量化分辨率
归一化因子 λ \lambda λ a l i m i t a_{limit} alimit成正比
如果 λ \lambda λ太小就会如图1B, a l i m i t a_{limit} alimit a m a x a_{max} amax间的所有值均对应到 f i = 1 f_i=1 fi=1出现较大误差
如果 λ \lambda λ太大就会如图1C,出现较大的量化误差
所以需要选择一个适中的 λ \lambda λ

以上是解释了为什么会存在一个这样的权衡问题(由图1A我们知道约99.0%~99.99%的在[0,max/3]的范围里,由于这个规律,前人有的选择99.9%的地方来决定 λ \lambda λ),这篇论文会接着提出一种TCL方法来缓解这种权衡问题

3.2 Traingable Clipping Layer(TCL)(重点)

为了解决 λ \lambda λ值的确定,我们如图2在Relu层之后加上了一个Clipping层:
在这里插入图片描述
Clipping层的作用如公式9,将大于 λ \lambda λ的a全部修正为 λ \lambda λ
在这里插入图片描述
我们基于公式11,通过梯度下降训练 λ \lambda λ,其中 η \eta η是学习率, α \alpha α是L2正则系数
− η α λ -\eta\alpha\lambda ηαλ正则项的作用是防止 λ \lambda λ的值过大
− η ∂ a ‾ ∂ λ ∂ L ∂ a ‾ -\eta\frac{\partial\overline a}{\partial\lambda}\frac{\partial L}{\partial\overline a} ηλaaL的作用是增大 λ \lambda λ的值来减少训练的误差
在这里插入图片描述
如图5的运行结果显示了TCL的存在几乎不会影响结果的准确率
在这里插入图片描述
如图6的结果显示了采用 该论文的方法 与前人的采用选取 a m a x a_{max} amax固定比例的方法 的对比转换误差结果,发现该论文的方法大幅度优于任何固定比例的选取结果。
综合图5和图6说明了该论文的方法可以在保持ANN准确率不变的情况下,降低ANN2SNN的转换误差。

4.EXPERIMENT RESULTS

4.1 The Effect of a L2-regularization Coefficient

本节讨论L2正则化系数 α \alpha α的影响
在这里插入图片描述

在这里插入图片描述

由图7可以看出,大的 α \alpha α值倾向于产生较小的 λ \lambda λ,这样有助于提升SNN在较小模拟时间步长(例如50以下)下的精度。
由表1可以看出,ANN的准确度会随着 α \alpha α的增加而减少,一般会较大模拟时间步长(例如大于200)下降低SNN的精度
综上两点,我们需要找到最优的 α \alpha α,但是目前如何找到最优的 α \alpha α的算法,所以这篇文章只是在一些尝试中手动选取了一些 α \alpha α

4.2 Experiment results and discussion

在这里插入图片描述
表二显示了该论文的结果,与世界最先进的结果的对比
该方法的成功之处:1.尽管TCL方法限制了ANN输入值的范围,但是几乎不会影响ANN的准确率;2.转换后的SNN精确度几乎与ANN相当。

5.CONCLUSION

许多研究表明,ANN-SNN转换可以成为SNN训练的替代方案。然而,SNN存在较大的延迟,对于大型数据集(如ImageNet)问题较大,限制了SNN的可能性。在这项工作中,提出了一种基于ANN-SNN转换的可训练裁剪层技术,即TCL,缓解了SNN精度和延迟之间的权衡关系。
实验结果表明,基于TCL的SNN即使在250个时钟周期的小延迟下,也能获得几乎与ANN相当的精度,这很好地验证了TCL技术的有效性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

for-nothing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值