【译】A Fully Spiking Hybrid Neural Network for Energy-Efficient Object Detection

【译】A Fully Spiking Hybrid Neural Network for Energy-Efficient Object Detection

Date: 2021/5/24
Editor: hx

1 Abstract

  本文提出了一种全脉冲混合神经网络(FSHNN),用于在资源有限的平台上实现兼具节能性和鲁棒性的目标检测。该网络结构是基于卷积SNN,使用LIF神经元模型。该模型将无监督的脉冲时间依赖可塑性(STDP)学习与反向传播(STBP)学习方法结合起来,还使用Monte Carlo Dropout来获得不确定性误差的估计。与基于DNN的目标检测器相比,FSHNN有更好的准确性,同时具有150倍的能量效率。当受到噪声输入数据和标记较少的训练数据时,它相比于DNN目标检测器的不确定性误差更低。

2 Introduction

  鉴于其低功耗和在模拟大脑工作方式方面的相似性,脉冲神经网络(SNN)被广泛誉为第三代神经网络。脉冲神经网络有两个主要方面使其具有吸引力。首先,在SNN中,神经元通过孤立的、离散的电信号(称为脉冲, spike)相互交流,而不是连续信号,并且以连续时间而不是离散时间工作。这种基于脉冲的推理方法使脉冲神经网络具有高能效的特性。除此以外,脉冲神经网络提供了一种新的无监督的学习方法,即使用脉冲时间依赖性可塑性(STDP)。STDP是一种生物上可信的无监督学习机制,它根据突触前和突触后的时间关联性来同时操作突触权重。STDP还可以帮助提高对输入噪声的鲁棒性,并有助于用较少的标记数据进行学习。这些特性对现实世界的计算机视觉应用很有吸引力,因为在现实应用中,输入可能是不完善的,而标记的训练数据可能是稀疏的。

  最近在DNN到SNN转换机制方面的进展机制,使SNN的设计在像ImageNet这样的大型数据集中具有与DNN相近的性能。在像ImageNet这样的大型数据集中具有与DNN相似的性能。然而,尽管有了最近的发展,大多数现有的关于脉冲网络的工作主要限于分类。许多实时的自主应用,如轻型无人机和边缘机器人等许多实时自主应用,在这些应用中,节能推理是关键。边缘机器人,它们的主要任务是目标检测。因此,用于目标检测的SNN将促进SNN在此类应用中的部署。最近关于基于Spiking的目标检测的工作主要使用反向传播的SNN模型,并在小型网络(Tiny YOLO)上训练。这导致了与标准的目标检测网络相比,准确率相对较低。此外,该网络没有使用STDP学习,限制了噪声输入的鲁棒性或从较少的标记数据中学习。

  在本文中,我们提出了一种新型的基于全脉冲神经网络的目标检测器,它采用了基于STDP学习和有监督的反向传播学习的混合方式。提出的FSHNN网络使用目标检测DNN的baseline结构,如RetinaNet,作为骨干。通过融合一个辅助CNN块和一组使用STDP预训练的Spiking卷积层,来加强分类器的低层特征空间。最后,我们使用DNN到SNN的转换技术,同时保持STDP训练的层固定,得到最终的目标检测器。本文的主要贡献如下:

  • 我们开发了一个用于目标检测的全脉冲混合神经网络,融合了SGD和基于STDP的学习。
  • 我们表明,与SGD训练的模型相比,基于STDP的学习导致了更多的SNN模型的通用性。
  • 我们采用蒙特卡洛dropout方法来量化FSHNN的不确定性,并利用它来区分真阳性和假阳性。
  • 我们表明,在一个SNN中基于SGD和STDP的混合学习提高了准确性,证明了泛化性,减少了不确定性,并提高了能效。

  我们评估了FSHNN在MSCOCO数据集上进行目标检测的性能。我们的实验表明,具有六层STDP的FSHNN实现了0.426的mAP,而标准RetinaNet实现了0.388。我们还表明,当用含噪声的输入图像进行测试和用有限的标记数据进行训练时,FSHNN的性能优于Retinanet。使用Monte Carlo Dropout方法,我们进一步证明,与RetinaNet相比,基于FSHNN的目标检测器的不确定性更低。此外,我们还说明,与基于标准DNN的RetinaNet相比,基于FSHN的目标检测器更具有通用性,泛化能力更强。此外,由于该网络在推理过程中使用了脉冲运算,它自然地提高了目标检测的能效。

  本文的其余部分结构如下。第二节讨论了与本文相关的工作;第三节围绕评估中使用的结构和baseline;第四节讨论了所进行的实验和由此获得的结果;第五节总结了观察和讨论了我们从实验中得出的结论。

3 RELATED WORKS

  1. 目标检测:目标检测已经成为许多计算机视觉任务的一个关键问题,因为它需要估计一个物体所属的类别和它的空间位置。单阶段检测模型,如SSD和YOLO,以较低的mAP和mAR为代价实现快速推理。Retinanet克服了这些问题,因为它在Faster-RCNN框架的帮助下采用了focal loss,并使用ResNet+FPN作为骨干网络来提取特征。
  2. 脉冲目标检测:虽然目标检测(物体检测)一直是计算机视觉中的一个重要领域,但在物体检测中使用脉冲神经网络的工作并不多。最近,Kim等人实现了YOLO物体检测架构的脉冲版本[。他们使用了通道归一化和具有不平衡阈值的签名神经元,为深度SNN提供快速和准确的信息传输。然而,所提出的脉冲YOLO物体检测器的性能比基于标准DNN的YOLO和RetinaNet模型要低很多。
  3. DNN-to-SNN的转换:最近的工作提出了权重归一化化和阈值平衡的方法,以便在转换过程中获得最小的准确度损失。在本文中,我们使用了阈值平衡方法,该方法为复杂的Imagenet数据集上的ResNet等深度架构提供了近乎无损的转换性能。
  4. SNN中基于非监督学习的STDP:脉冲时间依赖可塑性(STDP)[17]是Hebbian无监督学习算法的一个变体。STDP描述了突触权重根据突触前和突触后脉冲的相对时间而发生的变化。在STDP中,如果突触前的脉冲发放先于突触后的脉冲发放,突触权重就会增强。
    有多种脉冲神经网络(SNNs)通过将传统的DNN转换为脉冲网络,用一个脉冲神经元代替每个DNN计算单元来解决物体识别和图像分类任务。这些网络旨在减少DNN的能量消耗,同时实现类似的准确率。
  5. SNN中基于监督学习的反向传播:基于监督学习的反向传播在SNN提高性能中扮演着重要角色,Rathi等人使用了一种混合训练技术,该技术结合了ANN-SNN转换和基于脉冲的BP,减少了延迟并有助于更好地收敛。作者将ANN-SNN转换作为初始化步骤,然后进行基于脉冲的反向传播(STDB)递增训练。作者还展示了采取转换后的SNN并使用反向传播进行增量训练的方法。与只用基于脉冲的反向传播或只用转换权重训练的标准模型相比,这种混合方法提高了能量效率和准确性。
  6. 神经网络的泛化性:最近的工作从理论角度,将含超参数的神经网络连接起来再现核希尔伯特空间,进行了一些分析。这些论文还表明,在适当的条件下,经过良好训练的超参数化网络的权重仍然非常接近其初始化。因此,在训练过程中,模型在某类再现核函数中搜索,其中相关的核被称为 “神经正切核”,只取决于权重的初始化。
    另一条研究路线比较了使用不同训练策略时的泛化误差。作者表明,我们可以利Hausdorff维度的轨迹来控制训练算法的泛化误差。Gurbuzbalaban等人表明,根据最小损失Hessian结构,以及算法参数η、b的选择,SGD迭代结果将收敛于重尾的静止分布。
    最近的工作致力于确定对象提议生成的泛化特征,这是检测模型的第一步。一个更通用性的目标提议可以帮助将检测模型扩展到更少标注,更多类别。因此,本文研究了在一小部分源类上训练的检测模型如何能够提供对未见过的类具有概括性的提议。

4 MOTIVATIONS

  在本节中,我们讨论了使用基于混合脉冲神经网络的物体检测器的主要动机。我们讨论了通过使用STDP学习的特征与SGD过程相融合可以获得的泛化优势。

A. 迁移学习和特征融合

  在本小节中,我们提出STDP和SGD过程的特征融合,用于物体检测。我们认为,使用STDP学习的特征可以补充标准的SGD,使训练更简单、更通用、更具有鲁棒性。Zeiler等人观察到,与高层相比,DNN的低层收敛得更快。此外,他们还表明,输入图像中的小变化对低层的影响比高层更大。最近的工作经验表明,在大数据集上训练的卷积网络可以成功地推广到其他可用数据较少的任务中。这些观察促使我们在骨干分类器的初始阶段使用额外的层来捕获低级特征。Donahue等人的研究表明,低层次的特征可以转移到不同的网络中去,以获得卓越的性能。在这些想法的基础上,我们利用无监督的STDP方法训练的脉冲卷积层,因为与标准的DNN相比,它能更好地捕捉到局部特征。除此之外,Jacot等人表明,一个无限宽的神经网络的泛化能力取决于初始化,更好的初始化能提高网络的泛化能力。因此,与SGD相比,我们展示了STDP的泛化能力,这将有利于我们展示脉冲模型的泛化能力。

B. STDP的泛化性

  在这一小节中,我们将脉冲卷积神经网络的泛化边界与具有相同结构的DNN对应网络进行比较。Jacot等人表明,一个无限宽的神经网络的泛化能力取决于初始化,更好的初始化可以提高网络的泛化能力。因此,我们研究STDP与SGD相比的泛化能力,这将促使我们证明脉冲模型的泛化能力。
Simsekli等人证明了泛化误差是由学习算法的统一Hausdorff维度控制的,其常数继承自规则性条件。作者进一步表明,Hausdorff维度由过程的尾部行为控制,尾部越重意味着泛化误差越小。因此,我们研究STDP和SGD学习方法的轨迹的Hausdorff维度。
  最近的文献表明,SNN中基于STDP的学习方法遵循Ornstein-Uhlenbeck过程。另一方面,SGD遵循Feller过程。因此,我们比较这两个随机过程的尾部指数来研究它们的重尾性质。
我们使用随机微分方程(SDEs)来计算控制突触连接(如果 θ i \theta_i θi>0)和突触权重$w_i=exp(\theta_i-\theta_0) $的参数θi的局部可塑性规则。

d θ i = ( b ∂ ∂ θ i log ⁡ p ∗ ( θ ) ) d t + 2 T b ⋅ d W i ,    d W i 为 无 穷 小 d \theta_{i}=\left(b \frac{\partial}{\partial \theta_{i}} \log p^{*}(\boldsymbol{\theta})\right) d t+\sqrt{2 T b} \cdot d \mathcal{W}_{i}, \;d \mathcal{W}_{i}为无穷小 dθi=(bθilogp(θ))dt+2Tb dWi,dWi

  Fokker-Planck (FP)方程跟踪SNN构型θ随时间的演化,得到了平稳分布,它遵循Ornstein-Uhlenbeck过程.

∂ ∂ t p F P ( θ , t ) = ∑ i − ∂ ∂ θ i ( ( b ∂ ∂ θ i log ⁡ p ∗ ( θ ) ) p F P ( θ , t ) ) + ∂ 2 ∂ θ i 2 ( Tbp ⁡ F P ( θ , t ) ) \frac{\partial}{\partial t} p_{F P}(\boldsymbol{\theta}, t)=\sum_{i}-\frac{\partial}{\partial \theta_{i}}\left(\left(b \frac{\partial}{\partial \theta_{i}} \log p^{*}(\boldsymbol{\theta})\right) p_{F P}(\boldsymbol{\theta}, t)\right)+\frac{\partial^{2}}{\partial \theta_{i}^{2}}\left(\operatorname{Tbp}_{F P}(\boldsymbol{\theta}, t)\right) tpFP(θ,t)=iθi((bθilogp(θ))pFP(θ,t))+θi22(TbpFP(θ,t))

  网络配置的目标分布 p ∗ ( θ ) p^{*}(\theta) p(θ)的实际相关形式取决于学习的类型。对于这种情况,我们在深度SNN中对STDP进尾巴指数分析。

  有几种方法探讨了极值分布的尾指数的估计。然而,这些方法大多无法估计α稳定分布的尾指数。我们考虑了Mohammadi等人提出的估计方法,该方法比上述方法具有更快的收敛速度和更小的渐近方差。下面将讨论基本方法。给出了一类基于分位数的估计器。

  下文中, f X ( . ) f_{X}(.) fX(.) and F X ( . ) F_{X}(.) FX(.) 分别代表概率密度函数和随机变量 X X X的分布函数, ξ p X \xi_{p}^{X} ξpX 代表 p = P ( X ≤ ξ p X ) p=P\left(X \leq \xi_{p}^{X}\right) p=P(XξpX)
lim ⁡ n → + ∞ n ( X j : n − ξ p X ) → D N ( 0 , p ( 1 − p ) ( f X ( ξ p X ) ) 2 ) \lim \limits_{n \rightarrow+\infty} \sqrt{n}\left(X_{j: n}-\xi_{p}^{X}\right) \rightarrow_{D} N\left(0, \frac{p(1-p)}{\left(f_{X}\left(\xi_{p}^{X}\right)\right)^{2}}\right) n+limn (Xj:nξpX)DN(0,(fX(ξpX))2p(1p))

( ξ p log ⁡ ∣ Y ∣ − ξ p log ⁡ ∣ X 1 ∣ ) / log ⁡ m = 1 / α \left(\xi_{p}^{\log |Y|}-\xi_{p}^{\log \left|X_{1}\right|}\right) / \log m=1 / \alpha (ξplogYξplogX1)/logm=1/α

   1 / α 1/\alpha 1/α的估计器可由如下构造:
1 ^ α ≜ 1 log ⁡ K 1 ( 1 K 2 ∑ i = 1 K 2 log ⁡ ∣ Y i ∣ − 1 K ∑ i = 1 K log ⁡ ∣ X i ∣ ) ​ \frac{\widehat{1}}{\alpha} \triangleq \frac{1}{\log K_{1}}\left(\frac{1}{K_{2}} \sum_{i=1}^{K_{2}} \log \left|Y_{i}\right|-\frac{1}{K} \sum_{i=1}^{K} \log \left|X_{i}\right|\right)​ α1 logK11(K21i=1K2logYiK1i=1KlogXi)
  将数据集划分为互不相交的子集,对每个小批量都进行全梯度和随机梯度的计算,最后两者相减。将所有的子集得到的向量连接在一起,进行迭代时尾部指数 α \alpha α的评估。

  与Simsekli等人所做的分析类似,我们评估了SGD训练的标准CNN和STDP过程训练的脉冲卷积神经网络的尾部指数。实验重复不同层数,并在MNIST数据集上进行评估,尾部指数见表I。我们观察到,STDP过程的α值对每一种情况都较小,这意味着分布有一个较重的尾,因此泛化性更强。
 No. of   Layers   SGD   STDP  3 1.297 1.206 4 1.291 1.193 5 1.284 1.188 6 1.273 1.181 \begin{array}{|c|c|c|} \hline \begin{array}{c} \text { No. of } \\ \text { Layers } \end{array} & \text { SGD } & \text { STDP } \\ \hline \mathbf{3} & 1.297 & 1.206 \\ \hline \mathbf{4} & 1.291 & 1.193 \\ \hline \mathbf{5} & 1.284 & 1.188 \\ \hline \mathbf{6} & 1.273 & 1.181 \\ \hline \end{array}  No. of  Layers 3456 SGD 1.2971.2911.2841.273 STDP 1.2061.1931.1881.181

表1 SGD、STDP在不同卷积层下的尾指数

5 ARCHITECTURES

  在本节中,我们介绍了新型的基于全脉冲混合神经网络的目标检测器。由于融合提高了低级特征的学习能力,STDP比SGD更具有通用性,我们引入了一种融合STDP和SGD的学习方法的模型。

A. 全连接脉冲混合目标检测器结构

  对于基于FSHNN的物体检测器模型,我们采用基于DNN的Retinanet模型,其骨干网络为ResNet 101。如图1所示,我们用一个辅助CNN块和一个STDP块来增加ResNet层。我们保持STDP块冻结,并使用DNN到SNN的转换方法将DNN的其余部分转换为Spiking网络,如下图所述。因此,我们得到了一个带有增强的STDP层和主干的辅助CNN块的完全Spiking物体检测器。建立这样一个模型的动机是为了比较在物体检测网络中加入无监督训练方法的好处。

在这里插入图片描述

图1 不同结构的通用块图

  在本文中,我们使用ResNet 101作为骨干网络。对于FSHNN中的Block1,我们使用了一个由四个从DNN对应网络转换而来的Spiking卷积神经网络块。FSHNN的Block2是由STDP层组成。当我们用多个STDP层重复实验时,我们在每种情况下都会在块2的最后一个Spiking Convolutional层的末端增加一个64×64的过滤器。下图分别给出了块1,2和ResNet的详细过滤器尺寸。

在这里插入图片描述

图2 展示基于FSHNN的目标检测器的不同部分

B. 基于脉冲CNN结构的STDP

  基于无监督STDP的模块的结构如图3所示。该架构在以下方面与传统的基于DNN的架构不同。首先,我们使用输入图像的8位像素强度值来生成脉冲序列,然后将其作为输入交给脉冲卷积层的脉冲神经元。连接是按照STDP学习规则用可塑性突触建立的。当SCNN层的神经元发放脉冲时,一个抑制性信号被发送到同一层所有深度的相同空间坐标的神经元上。这种抑制有利于同一位置的神经元学习不同的特征,因此,实现了鲁棒的低层次特征的竞争性局部学习行为。多层SNNs的另一个问题是,一个脉冲神经元需要几个脉冲才能发出一个脉冲,这导致脉冲发放频率不断降低。为了解决这个问题,我们使用了一个分层学习程序,在第一层学习完成后,其交叉深度抑制被禁用,同时保持其电导矩阵固定。因此,第一层的神经元的脉冲阈值被降低以提供更高的脉冲频率。通过这种方式,第一层的神经元接收来自图像的输入并产生脉冲,反过来促进第二层的学习,以此类推。

在这里插入图片描述

图3 用于特征提取和层层之间学习处理的脉冲卷积模块结构

C. 学习方式
  我们对FSHNN模型进行两步训练。首先,我们在ImageNet数据集上单独训练STDP块作为一个单独的神经网络,如图3所示。因此,我们使用这些预先训练的STDP层作为上述ResNet骨干的补充。因此,在这些STDP层被冻结后,我们使用DNN到SNN的转换过程,并使用获得的权值作为初始点,我们使用STDB过程重新训练这些其他监督脉冲层。这一过程使我们能够在更短的时间步长内获得更高的精度。这样,我们就得到了一个完全脉冲的Retinanet,在骨干中有预先训练过的STDP层。然后再使用STBP方法对该网络进行再训练,得到最终的训练模型。

D. 模型在脉冲目标检测器上的不确定性

  1. SNN的上Monte Carlo Dropout:最近的研究表明,在训练过程中使用Dropout可以作为蒙特卡罗模拟的近似,从而给我们一个对网络所做的贝叶斯推断的估计。Lee等人引入了dropout技术用于脉冲网络,尽管他们只在训练中使用,而不是用于推理。在本文中,我们在训练和推理过程中都使用了dropout,使带有dropout的推理可以被解释为深度高斯过程中的近似贝叶斯推理,类似于DNN。

  SNN中的dropout方法不同于标准的神经网络,标准的神经网络在训练的每个阶段都有若干次小批量迭代,在每次迭代中,随机选取的单元从网络中断开,并根据其后验概率进行加权。另一方面,在snn中,每个迭代都有一个以上的前向传播,这取决于脉冲序列的时间长度。因此,输出误差反向传播,仅在最后一个时间步长修改网络参数。此外,在训练过程中,在一次小批量数据迭代中连接的单元集保持不变,在每次前向传播过程中,相同的单元随机子集构成了神经网络。同样,在推理过程中,我们在一次迭代中取整个网络的一个随机子集,并且每次迭代都有多次前向传递。因此,我们使用多个这样的前向样本,并将单个检测划分为中讨论的观测,以获得标签不确定性和空间边界盒不确定性估计。

  2. 物体检测器的认识不确定性估计:物体检测涉及到估计一个场景中多个对象的标签分布的边界框。我们将Dropout 采样的概念扩展为执行从图像识别到目标检测的易处理的变分推理的手段。我们采用中描述的dropout sampling approximation方法从权重 p ( W ∣ T ) p(\mathbf{W} \mid \mathbf{T}) p(WT)的分布中采样,其中W为FSHNN检测网络学习到的权重,T为训练数据。我们应用MC dropout,把目标探测器看作黑盒。不确定性被估计为来自空间相关检测器输出的样本统计量。

  在物体检测器中,我们在主干网络中的主ResNet块中的每个卷积层之后使用滤波层。如上所述,这个修改过的网络是用dropout层训练的。有了这些训练好的层,我们在推理过程中使用dropout,作为一种蒙特卡洛抽样技术。通过网络的每一次前向传递都相当于用不同的网络 W ~ \tilde{\mathbf{W}} W~进行推理,该网络近似于从p(W|T)中取样。

6 EXPERIMENTAL RESULTS

  在这一节中,我们以实验结果来评估FSHNN的性能。首先,我们在MS-COCO数据集上评估FSHNN的性能。MS-COCO数据集有223K张,实例来自81个不同的物体类别,训练/测试比例为118K/5K。其次,我们评估了FSHNN的性能,考虑到不同的输入噪声水平和在有限的标记数据上训练模型。第三,我们将FSHNN与其他使用反向传播法训练的脉冲和非脉冲物体检测器进行比较,考虑到物体检测性能和能源效率。最后,我们还表明,与RetinaNet等标准物体检测器相比,基于FSHNN的物体检测器的目标提议对未见过的数据类别有更好的概括。

A. 实验指标

  下面讨论的两个评价指标是用来量化物体检测器的性能。

  1. 平均精度(mAP):是评估物体检测性能的一个公认指标。mAP表示检测器在一个封闭的数据集中以正确的分类和准确的定位(IoU≥0.5)检测所有物体的能力,同时使不正确的检测和它们的置信分数最小化。对于检测任务的性能,我们使用0.5IOU时的平均精度(mAP)。一个检测器所能达到的最大平均精度是100%。
  2. 不确定性误差(UE)。这个指标表示不确定度量接受正确检测和拒绝不正确检测的能力。不确定度误差是指在给定的不确定度阈值下,检测被错误地接受或拒绝的概率。我们使用0.5 IOU时的最小不确定性误差(MUE)来确定检测器的估计不确定性区分真阳性和假阳性的能力。一个检测器可达到的最低MUE是0%。我们定义了分类MUE(CMUE),因为我们使用的是分类熵,最后,我们在测试数据集中对CMUE的整体类别进行平均,得出平均(分类)MUE(mCMUE)。

B. FSHNN的性能评估

  在本节中,我们评估了基于FSHNN的物体检测器在MS-COCO数据集上的性能。我们通过进行三个独立的实验来实现这一目标。首先,我们评估该模型在正常情况下的性能,用所有的输入数据进行训练,并用干净的图像进行测试。我们对块2中的多个STDP层重复这一实验,结果总结在表二中。图5展示了FSHNN物体检测器在干净和嘈杂的输入图像中的表现。
 TABLE II: Table showing Performance of the FSHNN based Object Detector with Increasing STDP Layers   Number of   STDP Layers   Classification   Loss   Regression   Loss  m A P A P S A P M A P L m A R A R S A R M A R L  mCMUE  3 0.4127 0.6912 0.379 0.198 0.407 0.482 0.492 0.292 0.554 0.615 0.251 4 0.3841 0.6787 0.392 0.203 0.425 0.507 0.515 0.308 0.578 0.635 0.244 5 0.3352 0.6536 0.409 0.211 0.439 0.518 0.527 0.316 0.591 0.652 0.236 6 0.3076 0.6193 0.426 0.229 0.452 0.533 0.541 0.327 0.612 0.668 0.229 \begin{array}{l} \text { TABLE II: Table showing Performance of the FSHNN based Object Detector with Increasing STDP Layers }\\ \begin{array}{|c|c|c|c|c|c|c|c|c|c|c||c|} \hline \begin{array}{c} \text { Number of } \\ \text { STDP Layers } \end{array} & \begin{array}{c} \text { Classification } \\ \text { Loss } \end{array} & \begin{array}{c} \text { Regression } \\ \text { Loss } \end{array} & \mathbf{m A P} & \mathbf{A P}_{S} & \mathbf{A P}_{M} & \mathbf{A P}_{L} & \mathbf{m A R} & \mathbf{A R}_{S} & \mathbf{A R}_{M} & \mathbf{A R}_{L} & \text { mCMUE } \\ \hline \mathbf{3} & 0.4127 & 0.6912 & 0.379 & 0.198 & 0.407 & 0.482 & 0.492 & 0.292 & 0.554 & 0.615 & 0.251 \\ \hline \mathbf{4} & 0.3841 & 0.6787 & 0.392 & 0.203 & 0.425 & 0.507 & 0.515 & 0.308 & 0.578 & 0.635 & 0.244 \\ \hline \mathbf{5} & 0.3352 & 0.6536 & 0.409 & 0.211 & 0.439 & 0.518 & 0.527 & 0.316 & 0.591 & 0.652 & 0.236 \\ \hline \mathbf{6} & 0.3076 & 0.6193 & 0.426 & 0.229 & 0.452 & 0.533 & 0.541 & 0.327 & 0.612 & 0.668 & 0.229 \\ \hline \end{array} \end{array}  TABLE II: Table showing Performance of the FSHNN based Object Detector with Increasing STDP Layers  Number of  STDP Layers 3456 Classification  Loss 0.41270.38410.33520.3076 Regression  Loss 0.69120.67870.65360.6193mAP0.3790.3920.4090.426APS0.1980.2030.2110.229APM0.4070.4250.4390.452APL0.4820.5070.5180.533mAR0.4920.5150.5270.541ARS0.2920.3080.3160.327ARM0.5540.5780.5910.612ARL0.6150.6350.6520.668 mCMUE 0.2510.2440.2360.229
  我们看到,插入更多的STDP层可以减少分类和回归损失,但分类损失减少得更多。另外,从图4中我们看到STDP层的加入增加了所有小、中、大物体检测的AP。

  1. 测试中有噪声输入的表现:在信噪比(S.N.R)为30dB和15dB的情况下,我们评估了所提出的基于FSHNN的物体检测器在MS-COCO数据集上的平均精度和召回率。实验的结果总结在表三中。我们看到,在无噪声的情况下,增加3个新的STDP层后,增长率为12%。STDP层的增加在网络遭受更多的不利条件时发挥了更大的作用,例如,当输入噪声水平增加时,或者网络在较少的标记训练数据下进行训练。
  2. 训练时标注数据更小时的表现:为了进一步证明FSHNN物体检测器的稳健性,我们用有限的训练对其进行了评估。我们在部分MS COCO数据集上训练该模型,并报告了平均精度和召回率。我们看到,具有更多STDP层的物体检测器表现得更好,特别是在训练期间删除大量数据时。因此,我们可以得出结论,用未标记的数据训练的STDP层学习了分类的关键特征,从表三中随着STDP层的增加分类损失的减少可以看出。
    在这里插入图片描述

C. 和baseline的比较

  我们将FSHNN的性能和能源效率与不同的baseline进行比较。用于这种比较的两个baseline模型描述如下(表四)。

  1. RetinaNet:是DNN中使用focal Pyramid网络结构中性能最好的物体检测器。在本文中,我们使用ResNet 101作为RetinaNet物体检测器的骨干网络。
  2. 反向传播的全连接脉冲检测器:我们将基于FSHNN的物体检测器中的STDP层(图1中的第1块)替换为相应的DNN层,以实现反向传播的全脉冲RetinaNet网络。在这个实验中,我们用3个卷积层替换了3个STDP层。因此,我们使用类似的DNN到SNN的转换方法,得到一个具有反向传播的Spiking层的全Spiking物体检测器,其结构与基于FSHNN的物体检测器相同。以这个转换过程中得到的权重为初始化点,我们用STBP重新训练模型,得到最终的训练模型。

在这里插入图片描述

在这里插入图片描述

三个方面的比较如下:

  1. 性能比较:我们对FSHNN模型与上述的baseline进行了双重评估–首先我们评估了没有任何扰动的物体检测器的性能,并用完整的训练数据集进行训练。结果见表五。我们看到,尽管具有3个STDP层的FSHNN的表现与RetinaNet接近,但具有6个STDP层的FSHNN在mAP/mAR和不确定性误差方面都超过了RetinaNet。我们通过在不同的对抗条件下测试该模型的鲁棒性–首先,我们使用两种不同的噪声水平(SNR=30dB,15dB),并且在用越来越有限的标记数据(分别为80%、60%和40%的数据)训练该模型后评估其性能。我们观察到,在没有噪声的情况下,具有6个STDP层的FSHNN优于RetinaNet,并且随着输入噪声水平的增加,它们的性能差异也在增加。此外,当模型用较少的标记数据进行训练时,即使有3个STDP层的FSHNN也比baseline的表现好。

  2. 能效比较:我们接下来比较了脉冲模型(FSHNN和反向传播脉冲层)与Retinanet的能效优势。正如之前的工作所预期的那样,我们观察到,基于脉冲神经网络的物体检测器消耗的能量明显低于标准模型,同时提供相当的(反向传播脉冲)或更好的性能。首先,DNN中的大多数操作发生在卷积层中,在执行过程中主要负责乘积(MAC)操作。然而,SNN执行累积(AC)操作,因为脉冲事件是二进制操作,其输入只有在收到脉冲时才被整合到膜电位中。为了进行公平的比较,我们只关注用于单一图像上物体检测的计算能力(MAC和AC)。Horowitz等人表明,32位浮点(FL)MAC操作消耗4.6 pJ(0.9 + 3.7 pJ),交流操作消耗0.9 pJ。一个32位整数(INT)MAC操作消耗3.2 pJ(0.1 + 3.1 pJ),交流操作消耗0.1 pJ。基于这些措施,我们通过乘以FLOPS(浮点运算)和计算出的MAC和AC操作的能量消耗来计算脉冲物体检测器的能量消耗。表八中给出了本文描述的不同架构的FLOPS,显示FSHNN和其他尖峰物体检测器在32位FL和INT操作中表现出更好的能源效率。考虑到所有N层的FLOPS数,ANN/SNN的总推理能量E被定义为:

E A N N = ( ∑ i = 1 N F L O P S A N N ) ∗ E M A C E_{A N N}=\left(\sum_{i=1}^{N} F L O P S_{A N N}\right) * E_{M A C} EANN=(i=1NFLOPSANN)EMAC
E S N N = ( ∑ i = 1 N F L O P S S N N ) ∗ E A C ∗ T E_{S N N}=\left(\sum_{i=1}^{N} F L O P S_{S N N}\right) * E_{A C} * T ESNN=(i=1NFLOPSSNN)EACT

  对于SNN来说,能量计算考虑的是速率编码的输入脉冲序列必须经过T个时间步长才能产生最终的预测结果而产生的延时。由于我们也在使用类似的STDB的训练方法,所以在本文中我们也考虑了时间步数T=300。

  3. 目标提议的泛化性:正如Wang等人所定义的,一个物体检测器模型的泛化能力是指它在训练数据集中对未标注的物体进行定位(而不是分类)的能力。在这个实验中,我们将MS-COCO数据集随机分成两部分–由70个看到的类组成的源数据集和10个未看到的类组成的目标数据集。我们使用目标数据集来评估用源数据集训练的提议模型的泛化程度。训练集一部分划分为用于训练,一部分评估时利用验证集的5000张图像。
  为了评估建议的质量,我们使用标准平均召回率(AR@k)。构建泛化性强的提议模型的主要动机之一是利用所产生的提议来训练未见过的、具有有限或无边界框注的类别的检测模型。
  我们在图6中比较了基于FSHNN的物体检测器和RetinaNet的泛化能力。如上所述,这些模型是在COCO-source-training数据集上训练的。我们报告了在COCO-源测试数据集中看到的类别和COCO-目标测试中未看到的类别的AR@100。我们基于这样的假设:看到的和未看到的类之间的性能差异反映了泛化差距。我们还展示了在包含COCO-source-train和COCO-target-train的完整训练数据集上训练的模型在COCO-target-test上获得的上限值性能。在看到的类别上,RetinaNet与FSHNN相比取得了更差的性能(下降了7.01%)。然而,对于未见过的目标类,下降幅度更大(下降了11.9%),表明RetinaNet的泛化差距更大。其中一个原因是,RetinaNet对源数据集中未标记的未见过的类所对应的缺失边界框更加敏感。另外,由于RetinaNet使用focal loss,训练数据中未见过的和未标注的物体类别建议被视为hard-negatives。因此,该模型严重惩罚了与未标注的bounding box相对应的提议,导致了AR的整体下降。由于一些已见类与未见类有视觉上的相似性,这种对缺失标注的敏感性也影响了已见类的AR。然而,这种影响对于未见过的目标类来说会更加放大。另一方面,在FSHNN中,只有少数不与标注的bounding box相交的提议区被随机抽样作为hard-negatives。因此,对应于一个未见过的目标类别的提议是负样本的概率较低,导致更好的概括。因此,我们观察到,FSHNN的检测在不牺牲泛化的情况下提供了更好的整体性能。

在这里插入图片描述

D. 和Spiking-Yolo的比较

  我们将FSHNN模型的性能与最先进的基于脉冲的物体检测器–Spiking YOLO进行比较。虽然它们都是完全的脉冲物体检测器,但两者之间有几个关键的区别。首先,Spiking Yolo是由反向传播的Spiking卷积层组成的,使用监督学习进行训练。相反,FSHNN将基于STDP的无监督学习方法与反向传播学习相结合。这有助于FSHNN网络实现高性能,以及对输入噪声和较少标记的训练数据的鲁棒性。第二,我们分析了FSHNN的不确定性和泛化特性;但这种分析并没有对Spiking YOLO进行分析。第三,FSHNN显示出比Spiking YOLO更高的性能。虽然Spiking YOLO报告的mAP为26.24%,但本文描述的具有6个STDP层的FSHNN网络实现了42.6%的mAP。我们注意到Spiking YOLO物体检测器是基于YOLO架构的。YOLO架构有一个极端的类不平衡问题,检测器评估了很多额外的不包含物体的候选框。相比之下,FSHNN使用RetinaNet架构,通过使用Focal Pyramid网络和Focal Loss解决了这个问题。Spiking YOLO是基于Tiny YOLO物体检测器架构的,它使用了$6.97 × 10^9 $FLOPS的计算,而本文所述的基于通道归一化的Spiking YOLO在3500个timestep中使用了 4.9 × 1 0 7 4.9 × 10^7 4.9×107 FLOPS的计算。因此,使用Spiking YOLO实现的理论能源效率只有1.3倍。这里必须指出的是,基于FSHNN的物体检测器几乎使用了4倍的FLOPS。不仅如此使用STDB方法大大减少了所需的时间步数,从3500步到本文中使用的300步。这导致了这两个模型在能源效率上的巨大差异。

在这里插入图片描述

7 CONCLUSION

我们提出了全脉冲混合神经网络(FSHNN),这是一种基于脉冲神经网络的新型物体检测器,它融合了从基于STDP的无监督学习和基于反向传播的监督学习中提取的特征。我们还开发了一种基于MC dropout的采样方法来估计FSHNN的不确定性。在MSCOCO数据集上的实验结果表明,FSHNN表现出与标准DNN相当或更好的性能,同时有望在能源效率上有数量级的提高。此外,我们观察到,当在输入噪声下测试或用较少的标记数据进行训练时,FSHNN网络的性能优于baseline的DNN以及用反向传播法训练的脉冲网络。我们还表明,STDP学习的整合有助于提高FSHNN的泛化能力。总之,我们证明了设计一个用于物体检测的全脉冲网络的可行性,促进了脉冲网络在资源有限的环境中的部署。

8 参考文献(部分)

【1】Enabling deep spiking neural networks with hybrid conversion and spike timing dependent backpropagation.

【2】Dropout sampling for robust object detection in open-set conditions

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值