脉冲神经网络原理及应用_AAAI 2020 - Spiking-YOLO - 脉冲神经网路在目标检测的首次应用...

Spiking-YOLO:Spiking Neural Network for Energy-Efficient Object Detection

主要贡献:

1.第一次将深度SNN应用到目标检测领域

2.channel-wise normalization (一种新的标准化方法,方便数据的处理)

3.signed neuron with imbalanced threshold (一种新的激活函数)

baseline:Tiny YOLO

一、脉冲神经网络(spiking neural network,简称 SNN)

第一代神经网络是感知器,它是一个简单的神经元模型并且只能处理二进制数据。第二代神经网络包括比较广泛,包括应用较多的BP神经网络。但是从本质来讲,这些神经网络都是基于神经脉冲的频率进行编码( rate coded)。

个人理解,第二代的神经网络的反向传播算法无生物基础,大脑中没有类似机制;而SNN将时间概念引入后,具有较强的生物基础。目前SNN的中文资料很少,第一次接触,可参考以下链接:

https://www.jiqizhixin.com/articles/2018-01-13-7

https://zhuanlan.zhihu.com/p/45208720

https://zhuanlan.zhihu.com/p/66907747

二、Method

1、channel-wise normalization(逐通道标准化)

Layer-wise (逐层标准化):即选取每一层中的最大值(maximum activation)对输入进行标准化。对于输入进行归一化,必须选取合适的maximum activation,过大会导致under-activation,而过小会导致over- activation。

这种方法,对输入进行标准化等同于对该层参数进行标准化,即

732860f518e95f2e08160da091353398.png

问题:应用该种方法检测效果不佳

分析:如下图所示,使用该种方法进行标准化,会使得标准化后的某些值趋于零。而对于回归问题,数据的精确传输必然会影响回归的效果。举个例子,如果要传输0.007,则在一个周期T内需要的脉冲数量为1000,如果脉冲数不够(这可能和SNN的机制有关系,不是很了解),那么就无法传输,从而导致信息的丢失,影响回归的精确度。

8643fbcaddc9e8932dbc1627fd864daf.png

作者的思路:既然使用每一层的效果不佳,maximum activation选的不合适,那么选取每一层中的各通道的maximum activationxiao应该回比上述方法好一些。于是作者就提出了channel-wise normalization(逐通道标准化)。通道就是说卷积层的每一层输出,即特征图有好几层,每一层可称为一个通道(这里我还纠结了好久)。用公式可描述如下:

c68dae0e7e964fdb7e317e524d76c065.png

效果如何呢?

这里先补充一个概念:Fire rate,即脉冲出现的频率,定义为N/T。N为给定的一个时间T内脉冲出现的总次数。

通过这种方法,可以看到下图中使用逐通道标准话的fire rate高于逐层标准化的fire rate。Fire rate变大,即意味着表达的值越大,就不会出现上文所述的表达0.007所带来的挑战。

2a13235bf8cc6d1a3645ba586a4ead99.png

总结:作者的思路清晰,从发现问题、分析问题、解决问题、进行验证,论述有理有据。虽然说这种方法在原文中method这部分被作者写得十分有用,但在最后的实验中,其对最终的检测效果所起作用不如下文中的方法大。

2、Signed neuron featuring imbalanced threshold(阈值失衡的标签神经元)

Leaky-ReLU:(一种激活函数)

398ea5e2709d8eff3a2e51ea3645cf0a.png

问题:目前的大部分DNN-SNN转换过程中都忽略了激活函数的负数域。可以注意到Tiny YOLO中负值占到了51%(个人觉得这是这篇文章最大的贡献,也是最大的额问题所在,同时也是效果提升的关键所在)。但是在neuromorphic chips(神经形态芯片)中准确的实现leaky-ReLU非常有难度。(为什么难以实现我也不是很清楚)

解决:一种新的激活函数,如下公式和图6所示。

bc937e52b66a0f39751abd6efa1af786.png

964af2c52406acd8307eb5de79dd7101.png

三、结果

1、检测结果

a2090d1fc82cb89a523ab1135c5a456b.png

可以看到,文中提出的第二种方法对检测效果的提升作用最大。Vmem 和spike count的区别??

2f91df8600b07d8c64da2ceecabb09a1.png

c5776cea1c5bed7b941058e38999d038.png

从上图可以看出channel-norm的spiking-YOLO比layer-norm的spiking-YOLO速度更快。这是逐层标准化的第二个作用吧。

2、耗能的比较

51e8a01aa423a64dbe38f512f858282d.png

f0293c767e2724f8b12fa36498d6c946.png

可以看出,spiking-YOLO相比Tiny-YOLO耗能更小,而通过逐层标准化的耗能小于逐通道标准化。

四、全文总结与展望

SNN第一次应用于目标检测领域,虽然当前的mAP不是很高,但其在耗能更少,且具有前端性。毕竟SNN被称为第三代人工神经网络,更加符合类脑的逻辑。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值