华为诺亚方舟实验室品:加法神经网络在目标检测中的实验研究
关注并星标
从此不迷路
公众号ID|ComputerVisionGzq
学习群|扫码在主页获取加入方式
计算机视觉研究院专栏
作者:Edison_G
加法神经网络 (AdderNets) 在仅使用加法运算的图像分类方面表现出令人印象深刻的性能,这比使用乘法构建的传统卷积神经网络更节能。
一、前言
加法神经网络 (AdderNets) 在仅使用加法运算的图像分类方面表现出令人印象深刻的性能,这比使用乘法构建的传统卷积神经网络更节能。
*之前“计算机视觉研究院”也推送过:(点击下方可以直接进入)
与分类相比,在自动驾驶和人脸检测等实际应用中,对于通过AdderNets降低现代物体检测器的能耗有强烈的需求。
在今天分享中,研究者展示了AdderNets用于目标检测的实证研究。
首先揭示不应冻结预训练加法主干中的批量归一化统计数据,因为AdderNets的特征方差相对较大。此外,研究者们在Neck插入了更多的快捷连接,并设计了一种新的特征融合架构来避免加法层的稀疏特征。研究者提出了广泛的消融研究,以探索加法检测器的几种设计选择。在COCO和PASCAL VOC基准上进行了与最新技术的比较。具体来说,提出的Adder FCOS在COCO val集上实现了37.8%的AP,证明了与卷积对应的性能相当,energy减少了约1.4倍。
二、背景
在很久之前,诺亚方舟提出了AdderNets时,那时候处于好奇,就将他们在分类想法移植到目标检测中,后来也发表了一个小小的分享,可惜整体的测试精度还是不是很理想,但是确实可以减少很多的计算消耗。
点击上方可以直接进入
我们接下来还是说说诺亚方舟是怎么处理的!
目标检测:几十年来,目标检测引起了研究者们极大的兴趣。尽管在目标检测方面取得了巨大的进步,但在高速和节能检测器方面的斗争在很大程度上仍未解决。最近的几种方法利用神经架构搜索(NAS)来发现高效且准确的目标检测器。同时,也有一些尝试利用模型压缩方法来提高检测器的效率,例如通道裁剪、量化和知识蒸馏。尽管如此,卷积神经网络(CNN)实际上已经主导了目标检测器的设计,这些检测器由大量乘法组成并且非常低能效。
加法神经网络。[AdderNet: Do we really need multiplications in deep learning?]为设计节能神经网络提供了新的视角。他们建议使用L1距离来衡量输入特征和过滤器权重之间的相似性。设计的AdderNets只包含加法而不是大规模的乘法,这可能是节能的。利用全精度梯度和自适应局部学习率来优化这种新型神经网络。AdderNets在大规模图像分类基准(即ImageNet)上表现出令人印象深刻的性能。为了进一步提高AdderNets的性能,[Kernel based progressive distillation for adder neural networks]提出了一种基于内核的知识蒸馏方法来从同类CNN中学习,使用这种方法,AdderNets在ImageNet上取得了比ResNet-50更高的准确率。[ShiftAddNet: A hardware-inspired deep network]进一步提出使用位移操作和加法来提高能源效率。[AdderSR: Towards energy efficient image super-resolution]分析了AdderNets的几个关键问题,并成功地将AdderNets应用于图像超分辨率。尽管如此,使用AdderNets设计准确的目标检测器仍然很少被探索,并且是今天分享研究者的主要重点。
三、新框架分析
研究者的目标是将AdderNet成功扩展到目标检测任务。在基于卷积的检测框架(例如FCOS)上构建加法目标检测器。用加法滤波器替换检测器中的卷积滤波器很简单。然而,训练一个性能不错的加法检测器并非易事。
首先分析为检测器应用加法器滤波器的几个关键策略。然后提出了一种更适合加法检测器的新型多尺度特征融合架构。
Making it Work: Towards a Strong Baseline
大多数目标检测方法都遵循在大规模图像分类数据集上预训练主干网络,然后在目标检测数据集上微调整个检测器的范式。在目标检测中,由于输入图像的分辨率相对较高,因此批量大小通常比图像分类任务小得多。例如,通常在一个GPU上只有2或4个图像来训练检测器。因此,BN的统计数据在微调阶段经常被冻结(表示为 FrozenBN),这比未冻结的对应物(这里简称为BN)带来了相当大的改进。然而,凭经验观察到主干中的FrozenBN导致加法检测器的训练不稳定。
如上图所示,在主干中使用FrozenBN时,训练损失的收敛速度比未冻结的BN慢得多。因此,更新主干网络中BN层的统计数据对于训练使用加法滤波器构建的检测器至关重要。
为了解决这个问题,在从预训练的主干中微调加法检测器时,有必要解冻批量归一化的统计数据。然而,重新计算BN层的统计数据对最终性能至关重要,尤其是当批量较小时,即每个GPU 2个图像。因此,有必要使用更大的批量大小来训练加法检测器。
Better Pre-trained Backbone and Gradients
更好的特征融合
使用上述部分中讨论的所有策略,研究者获得了mAP为34.8%的基线Adder FCOS,这与卷积对应物非常接近。然后,研究者们向前迈进了一步,探索更好的加法检测器架构。
首先可视化来自预训练主干的特征,如下图所示。
AdderNet-50最后一个块的特征映射比ResNet-50稀疏得多。 更具体地说AdderNet-50最后输出的特征中有超过92%是零,而ResNet-50的百分比仅为 63%。 这些稀疏特征可能足以用于图像分类任务。 然而,它对需要对类分类和边界框回归进行密集预测的目标检测提出了巨大的挑战。
研究者将稀疏特征的问题归因于加法滤波器的计算。如方程式所示:
加法运算的输出特征总是负的。虽然BN中的归一化过程使这些特征的均值为零,方差为1,但BN中的缩放和移位参数被学习以恢复原始特征的表示能力,并倾向于将特征移向负值。下面的ReLU激活将消除负面特征,使更深层的特征更加稀疏。
在此提出了一种新颖的特征融合模块来缓解这个问题。与大多数先前采用自顶向下进行特征聚合的多尺度特征融合方法不同,研究者建议利用reverse pattern。
具体来说,所提出的R-PAFPN首先利用自下而上的路径将特征从底层传播到顶层,然后利用自上而下的路径融合语义强特征。这种简单而有效的设计更适合加法检测器。此外,如[AdderSR: Towards energy efficient image super-resolution]中所讨论的, identity mapping对于AdderNets具有挑战性。因此,研究者还在提出的特征融合模块中添加了额外的skip connections。具体来说,为每个3x3加法过滤器添加残差连接以实现更好的特征传播,如上图所示。
四、实验及可视化
使用知识蒸馏训练的AdderNet-50在ImageNet上的top-1准确率为76.8%,略高于ResNet-50。为了探索预训练的主干在多大程度上影响最终检测性能,研究者评估了有和没有知识蒸馏的主干,如下表所示。使用普通的AdderNet-50在ImageNet上,与KD对应物相比,top-1精度下降1.9%,mAP下降了0.4%。使用KD训练的AdderNet-18和vanilla AdderNet-101在ImageNet上的表现比其卷积对应物差,但仍然获得了相当好的目标检测性能。
在MSCOCO数据集上的比较
转载请联系本公众号获得授权
计算机视觉研究院学习群等你加入!
扫码关注
计算机视觉研究院
公众号ID|ComputerVisionGzq
学习群|扫码在主页获取加入方式
往期推荐
🔗