Spiking-YOLO:脉冲神经网络高效的目标检测

Spiking-YOLO:脉冲神经网络高效的目标检测

  本文提出Spiking-YOLO是脉冲神经网络在目标检测领域的首次成功使用,具有高性能低功耗的优势。

Abstract

  在过去的十年中,深度神经网络(DNNs)在各种应用中都表现出了显著的性能。随着我们试图解决更先进的问题,对计算和电力资源的需求也越来越大。脉冲神经网络(SNNs)由于其事件驱动和低功耗的特点,作为第三代神经网络受到了广泛的关注。然而,SNN很难训练,主要是由于它们复杂的神经元动力学和不可微的脉冲操作。此外,它们的应用局限于相对简单的任务,如图像分类。在这项研究中,我们研究了SNNs在一个更具挑战性的回归问题(即目标检测)中的性能退化原因。通过深入分析,我们提出了两种新的方法:逐通道归一化和阈值不平衡的符号神经元,这两种方法都为深度SNN提供了快速、准确的信息传输。因此,我们提出了首个基于脉冲的目标检测模型,称为Spiking-YOLO。实验结果表明,在数据集PASCAL-VOC和MS-COCO上与Tiny YOLO的效果相当(高达98%)。此外,在神经形态芯片上Spiking-YOLO消耗的能量大约比Tiny YOLO小280倍,并且收敛速度比以前的SNN转换方法快2.3~4倍。

Introduction

  深度神经网络(deep neural networks,DNNs)最近取得成功的主要原因之一,可以归因于高性能计算系统的发展和大量用于模型训练的数据的可用性。然而,在实际应用中解决更多复杂和高级的问题,需要更复杂的模型和训练数据,这导致计算开销和功耗显著增加。为了克服这些挑战,许多研究人员尝试使用剪枝、压缩和量化来设计计算效率和能量效率高的DNN,其中一些已经显示出很有希望的结果。尽管做出了这些努力,但随着更深入、更复杂的神经网络获得更高的精度,对计算和电力资源的需求将增加。
  脉冲神经网络(SNNs)是第三代神经网络,它以脉冲神经元为计算单元,模拟信息在人脑中的编码和处理过程。与传统的神经网络不同,SNN通过由一系列脉冲(离散)组成的脉冲序列的精确定时(时间)来传输信息,而不是通过一个真实值(连续)。也就是说,SNN在信息传输中利用时间,就像在生物神经系统中一样,从而提供稀疏但强大的计算能力。此外,当接收到脉冲时,脉冲神经元将输入整合到膜电位中,当膜电位达到一定阈值时,产生(发放)脉冲,从而实现事件驱动计算。由于脉冲事件的稀疏性和事件驱动的计算,SNN提供卓越的能效 ,是神经形态结构中首选的神经网络。
尽管SNN潜力巨大,但它仅限于相对简单的任务(如,图像分类)和较小的数据集(例如,MNIST和CIFAR),其结构相当浅。应用范围有限的一个主要原因是由于脉冲神经元的复杂动力学和不可微操作,缺乏可扩展的训练算法。DNN-SNN转换方法作为一种替代方法,近年来得到了广泛的研究。这些方法基于将预先训练的参数(如权重和偏差)从DNN导入SNN的思想。DNN到SNN的转换方法在深层SNN中取得了与原始DNN(如VGG和ResNet)相当的结果,在MNIST和CIFAR数据集的结果具有竞争力,而ImageNet数据集的结果与DNN的精度相比则不尽如人意。
  在本研究中,使用DNN到SNN的转换方法来探讨深度SNN中一个更先进的机器学习问题,即目标检测。目标检测被认为是更具挑战性的,因为它涉及到识别多个重叠对象和计算边界框的精确坐标。因此,在预测神经网络的输出值(即回归问题)时,它需要很高的数值精度,而不像在图像分类中那样选择一个概率最高的类(即argmax函数)。在深入分析的基础上,提出了将目标检测应用于深度SNN时存在的几个问题:a)传统归一化方法效率低下;b)SNN域中缺少一种有效的leaky-ReLU实现方法。
  为了克服这些问题,我们提出了两种新的方法:通道归一化和阈值不平衡的有符号神经元。因此,提出了一个基于脉冲的目标检测模型,称为Spiking-YOLO。作为SNNs中目标检测的第一步,我们实现了基于Tiny YOLO的Spiking-YOLO。
  这是第一个用于目标检测的深度SNN,在非平凡数据集PASCAL VOC和MS-COCO上获得了与DNN相当的结果。作者贡献可以总结如下:

  • 深度SNN的首个目标检测模型首次提出了一个在深度SNN中实现高效目标检测的模型Spiking YOLO。在非平凡数据集上,Spiking YOLO的结果与原始DNN相当,即98%。
  • 逐通道归一化 提出了了一个针对深度SNN的细粒度归一化方法。所提出的方法能够在多个神经元中获得更高但适当的放电率,从而在深度SNN中实现了快速、准确的信息传输。
  • 阈值不平衡的有符号神经元提出了一种在SNN域中准确有效地实现leaky-ReLU的方法。该方法易于在最小开销的神经形态芯片上实现。

Related work

DNN-to-SNN conversion

  与DNN相反,SNN使用由一系列脉冲组成的脉冲序列在神经元之间传递信息。IF神经元将输入z累加到膜电位Vmem
在这里插入图片描述

在这里插入图片描述

  • 9
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值