【读论文】Fast-Classifying, High-Accuracy Spiking Deep Networks Through Weight and Threshold Balancing

【读论文】Fast-Classifying, High-Accuracy Spiking Deep Networks Through Weight and Threshold Balancing_第1张图片
IEEE 2015

摘要

本文分析了深度ANN转换SNN中,脉冲神经元的参数影响(如放电率和阈值),并提出了一组优化技术(使用0偏置的ReLU,Model-based 和 Data-based 两种新的归一化方法调节放电率),减少ConvNets和全连接深度网络转换中的性能损失。

背景

ANN2SNN的主要挑战是脉冲神经元中负值和bias的表示,可以通过训练中使用ReLU为激活函数避免,并将bias置0,使用空间线性子采样(Spatial linear subsampling)代替最大池化。尽管如此,转换后的SNN还是有精度损失。

主要内容与方法

本文使用IF神经元模型。

ANN2SNN的方法(ConvNet和FCN都适用):

  1. 对网络的所有单元使用ReLU(ReLU可视为无不应期IF的近似发射率)
  2. 训练过程中将bias置0,并使用反向传播
  3. 直接将ANN的权值映射到SNN的IF神经元上
  4. 使用权重归一化方法(下面介绍)获得近乎无损的精度和更快的转换

训练后固定模拟时间,精度损失主要原因:

  1. 神经元未获得足够的输入达到阈值,即实际发射率低于预期发射率
  2. 神经元接收了太多输入,导致每个时间步有不止一个输出脉冲
  3. 由于脉冲输入的概率特性和脉冲序列的不均匀性,一组脉冲可能会过度激活或不激活特定特征集

减少时间步长可以降低输入脉冲数,增大时间步长可以避免激活不足。这些问题可以通过平衡阈值、权重和发射率来解决,本文提出一种严格的方法调整网络权重(而不是手动调参)来计算权重缩放因子,解决上述原因产生的精度损失。

两个权重归一化方法:

Model-based: 如果最大正输入只能引发一个脉冲,那么同一神经元永远不会一次产生多个脉冲。这样的话,网络对任意高的输入率都具有鲁棒性,完全消除了因输入太多造成的损失,但可能需要更长的时间步。
【读论文】Fast-Classifying, High-Accuracy Spiking Deep Networks Through Weight and Threshold Balancing_第2张图片
Data-based: 训练集也可以用于估计典型激活值,训练时记录ReLU的激活值,根据训练集最大可能激活值对权重进行归一化,进而只得到一个脉冲;还需考虑最大单个输入权重,否则权重太大可能导致一个时间步产生多个脉冲的情况。(需要训练集与测试集同分布)
【读论文】Fast-Classifying, High-Accuracy Spiking Deep Networks Through Weight and Threshold Balancing_第3张图片

总结

本文提出一种ANN2SNN的方法,并引入两种权重归一化方法,减少脉冲发射时间得到相同的精度。

你可能感兴趣的:(ANN2SNN,人工智能,深度学习,ANN2SNN)