Fast-classifying, high-accuracy

2019-09-30  本文已影响0人  Janeshurmin

TitleFast-classifying, high-accuracy spiking deep networks through weight and threshold balancing

Author: Peter U. Diehl, Daniel Neil, Jonathan Binas, Matthew Cook, Shih-Chii Liu, and Michael Pfeiffer

Institution: Institute of Neuroinformatics, University of Zurich and ETH Zurich

本文提出一个deep ANN和SNN的转换方法,通过引入归一化方法减少整合时间,同时保证了较高精度,此外,分析了相关参数选择对转换的影响/转换过程中的性能损失来源。


1. 贡献

==> 使ANN to SNN转换实现了低延迟、高精度,与此前的SNN相比,在没有增加训练时间的情况下提高了性能。

2. 方法

2.1 spiking network conversion

ANN转SNN的几点tips(适用于全连接层和卷积层):

一旦ANN中的ReLUs在训练后被IF神经元取代,那么在固定仿真期间的性能损失主要来源于三个因素:

==> 需要权衡在脉冲阈值、输入权重和输入发射率。

高的输入阈值(或低的输入权重)会减小过激活和非理想脉冲序列的错误,然而同样增加了欠激活的风险,反之亦然。

只有脉冲阈值输入权重比率决定了整合数量,进而影响脉冲发射率,而非各自的值。

==> 调节网络权重,即计算权重的缩放因子(权重归一化),以调节脉冲阈值和输入权重的比率

2.2 weight normalization

目的:网络权重归一化,确保激活值足够小以防止ReLU过高估计输出激活值。

方法一:Model-based normalization

最安全、最保守的方法就是考虑所有可能的正的激活值,并且通过可能的最大激活值(同时也是下一层的输入)对权重缩放。

优点:如果最大的正输入仅仅对应单个脉冲,那么网络同一个神经元在一个timestep内至多发射一个脉冲。这样SNN变得具有鲁棒性,即可以接受任意高的输入发射率并且完全消除由于太多输入而导致的转换损失。

缺点:为了产生一个脉冲整合数据可能要花费很长时间。

方法二:Data-based normalization

优点:只会同时发射一个脉冲,延迟低,精度高
缺点:不能很好地保证在测试集中可以保持性能

previous _ factor = applied _ factor

伪代码中,previous _ factor = scale _ factor,但这样会导致applied_factor的结果经常为1,无法起到权重缩放的效果。

两种权重缩放的伪代码如下:

[图片上传失败...(image-8cfa2f-1569814907960)]

3. 评估

数据集:MNIST

脉冲输入:先将MNIST图片的像素点都归一化到0-1,然后基于这些像素点,对于每个像素点利用泊松分布产生与像素值成正比的脉冲序列。

网络结构:

Architecture A

Architecture B

结果对比:

4. 知识点补充

A. SNN的事件驱动

ANN与SNN数据传入网络的形式区别?

SNN事件驱动的优势?

怎么理解伪同步???

B. ReLU函数

函数表示: ReLU(x) = max(0, x)

为什么使用ReLU?

C. 使用ReLU的ANN与SNN的关系

参考资料

上一篇下一篇

猜你喜欢

热点阅读