ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss

点击上方“计算机视觉工坊”,选择“星标”

干货第一时间送达

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第1张图片

1简介

近年来,Compact卷积神经网络(CNNs)的性能有了显著的提高。然而,在参数众多的情况下,它们仍然无法提供与普通CNN相同的预测能力。这些层捕获的多样且丰富的特征是这些CNN的一个重要特征。

然而,大型CNN和小型CNN在这一特性上的差异很少被研究。在Compact CNN中,由于参数数量有限,不太可能获得丰富的特征,特征多样性成为本质特征。在模型推断期间,从数据点派生的激活映射中呈现的不同特征可能表明存在一组惟一描述符,这是区分不同类的对象所必需的。

相比之下,特征多样性较低的数据点可能无法提供足够数量的描述符来进行有效预测;作者称之为随机预测。随机预测会对优化过程产生负面影响,并损害最终性能。

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第2张图片

本文提出通过重塑标准交叉熵来解决随机预测带来的问题,使其偏向具有有限数量独特描述特征的数据点。本文所提出的新型Bias Loss将训练重点放在一组有价值的数据点上,防止大量学习特征差的样本误导优化过程。此外,为了说明多样性的重要性,作者提出了一系列SkipNet模型,其体系结构增加了最后一层的唯一描述符的数量。实验表明,所提出的损失函数优于交叉熵损失。此外,与MobileNetV3 Large相比,Skipnet-M在相似的计算条件下,在ImageNet上分类准确率提高了1%。

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第3张图片

总结起来,本文的贡献有3个方面:

  1. 设计了损失函数,以减少随机预测在Compact CNN优化中的误导;

  2. 提出了一个有效的神经结构SkipNet模型,以增加数据点的数量与大量独特的描述特征;

  3. 在资源受限的条件下,SkipNet模型在ImageNet分类任务上达到了最先进的性能。

2相关工作

2.1 Mobile Architectures

在已经开发的几种CNN架构中,MobileNet和ShuffleNet系列是比较优秀的工作,因为他们具有好性能的同时实现了更少的FLOPs。

MobileNetV2引入了inverted residual blocks,以改进MobileNetV1的性能。此外,MobileNetV3利用NAS(神经体系结构搜索)技术,以更少的FLOPs实现更高的性能。

ShuffleNet引入了通道shuffle操作,以提高通道组内的信息流动。ShuffleNetV2进一步提高了硬件上的实际速度。尽管用很少的flop实现了高性能,但是在网络的最后一层保持独特描述特性的重要性一直没有得到很好的利用。

为此,作者提出了SkipNet体系结构,该体系结构旨在增加最后一层中唯一描述特性的数量,并减少随机预测的数量。SkipNet与以前的高性能CNN有很多相似之处,特别是MobileNetV3中使用的inverted residual blocks和U-Net中使用的跳连的概念。作者强调通过简单修改取得了卓越的结果,该修改不是由于设计上的创新,而是由于网络与损失的结合。

2.2 损失函数

在许多任务中,最常见的目标函数选择是交叉熵。然而,各种研究表明,旨在解决特定问题的损失函数的设计可以有显著的好处。

Focal loss提出对标准交叉熵进行重塑,以解决目标检测器在训练过程中遇到的前景-背景类不平衡的问题。

标签平滑的机理建议在交叉熵计算中使用soft目标。这些soft目标是原始目标的加权混合,并在标签上均匀分布。这项技术有助于防止网络在图像分类、语言翻译和语音识别等众多任务中出现过拟合。

各种各样的研究试图解决噪音标签造成的障碍。在reweight论文中,作者引入了加权交叉熵的变化,其中权值由多层感知器学习。这些工作的重点主要是优化具有大量参数的模型的性能。

相反,本文的损失是为了解决Compact模型中缺少参数而产生的问题,即随机预测可能导致优化过程中出现误导的问题。

3Bias Loss

本文所设计的Bias Loss是为了解决在深度卷积神经网络优化过程中由于随机预测而导致的误导问题。作者认为在compact神经网络中,数据点无法提供足够数量的独特特征来描述物体,迫使模型产生随机预测,也就是说,在没有特征多样性的情况下进行预测。

作者在所有的实验中,作者采用信号方差来作为多样性的一个简单度量,它可以表明特征图从平均值扩散到多远。这种选择背后的直觉是,方差越高获得大量独特特征的机会就越高。

对于方差计算,作者使用最后一个卷积层(在池化和dropout操作之前)的特征映射。这有助于避免在结果和估计更好的学习信号的数据点。设 为卷积层的输出,其中b为batchsize,c为输入通道数量,h和w为张量的高度和宽度。在方差计算之前,T被展开成一个二维数组 ,其中 。批处理中第 个数据点的特征图方差为:

其中:

此外,在损失函数中方差被缩放到[0,1]范围内,即:

式中,在每次迭代时,Max和min分别为该批特征图中激活量的最大值和最小值。这样做是为了确保方差值中的异常值不会导致损失的大变化,也不会使模型不稳定。

此外,作者建议将关于缺乏唯一描述特征的知识注入优化过程中,为此,作者提出了新的损失函数,即Bias Loss。Bias Loss是一种动态缩放的交叉熵损失,其尺度随着数据点方差的减小而衰减。

设 为特征空间,其中c为若干输入通道,h,w为输入数据的高度和宽度, 为标签空间,其中k为类的数量。在一个标准场景中有一个数据集 ,其中每个 ,神经网络 ,其中θ为模型参数。通常,训练的目的是通过最小化训练集的期望损失来学习模型。一般来说,分类问题的交叉熵损失为:

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第4张图片

其中,作者认为神经网络的输出层是一个softmax。为了校准每个数据点对累积损失的贡献,作者建议添加一个非线性尺度函数,其目的是在低方差和高方差的数据点之间产生bias。bias loss定义为:

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第5张图片

式中,α和β为可调参数,v为卷积层输出的缩放方差。下图显示了几个α和β值的偏置函数。

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第6张图片

作者注意到偏差函数的2个性质:

  1. 当方差较低时,函数值达到最小值(1−β),这些数据点的影响是向下加权的。随着方差的增加,z(v)的值随着数据点的影响呈指数增加。

  2. 参数α平滑地调整高方差示例的影响率。随着α的增大,高方差数据点的影响也增大。

此外,下图给出了基于方差和预测得分的偏差损失值。

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第7张图片

对于正确和错误预测的低置信度和低方差数据点,损失是向下加权的。此外,对于高置信度和高方差的错误预测,它是向上加权的,因为从这类具有大量独特特征的数据点学习,可以对优化过程产生积极的影响。实验结果表明,选择α=0.3;β=0.3获得最佳性能。

从直观上看,所提出的函数有助于将学习重点放在能够提供大量独特特征的样本上,并减少在优化过程中可能因随机预测而造成的误导。

4SkipNet

作者还引入了一个新的计算块。所提出的block可以很容易地集成到现有的体系结构中,并且不需要额外的工作就可以促进向最后一层的信息流。

4.1 Skip Block

skip block想法是直接将low-level features从第一层传递到最后一层。块的设计是由U-Net架构驱动的,在自动编码器风格的架构中,编码器和解码器中具有相同空间维度的层的输出通过skip connections连接起来。

一般来说,在分类网络中,层空间大小逐渐减小,无法直接使用skip connections。为了解决这一限制,作者提出了一个中间块,它将不同空间大小的层连接起来,并利用从第一层提取的low-level特征来丰富最后一层。

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第8张图片

如图所示,skip block由池操作和卷积组成。首先,为了保持关键特征和减小空间大小,作者采用自适应平均池化,然后采用3个卷积层。批处理归一化(BN)和ReLU非线性应用在每个卷积层之后,除了最后一个没有使用ReLU的卷积层。选择自适应平均池化是因为它考虑了所有的特性,使得skip block可以处理所有的输入值。卷积层参数采用了MobileNetV3中对inverted residual blocks的setting。

4.2 SkipNet

由于主要目标是增加compact神经网络中独特描述特性的数量,同时降低计算复杂性,因此提出了一种部署skip blocks的SkipNet架构。由于MobileNetV3优越的性能,所以将其作为设计基准。

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第9张图片

SkipNet(上图)由inverted residual blocks和MobileNetV3的分类块组成,其中包括我们的新skip块。

第一层是由15个inverted residual block进行卷积。

在第一个卷积块之后插入2个skip block(图4),将信息传递给第6和第10个inverted residual block。

在skip和inverted residual block之后,再应用卷积层和全局平均池化,最终得到由dropout层和全连接层组成的分类块。

与MobileNetV3类似,SkipNet使用hard-swish非线性函数。从表2中可以看出,SkipNet在移动设备上的延迟与MobileNetV3相当。

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第10张图片

尽管所描述的体系结构已经能够保证高性能和低延迟,但在某些情况下可能需要更快的模型或更高的精度。为了提供一个完全可定制的网络,作者将inverted residual block中的宽度乘法器集成到skip block中以控制每层通道的数量。

通过操纵宽度乘法器,可以改变整个网络的宽度。这将导致模型大小和计算成本的变化,以及性能的变化。通常,乘法器的增加将导致性能和延迟的增加,反之亦然。介绍的体系结构提供了一个基本的设计供参考,为了进一步改进,可以使用AutoML方法来调优skip block并提高性能。

5实验

5.1 ImageNet Classification

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第11张图片

5.2 Object Detection

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第12张图片

很好的做到了速度与精度的平衡,是一个非常不错的工作。

6参考

[1].Bias Loss for Mobile Neural Networks

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。

下载2

在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。

下载3

在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第13张图片

▲长按加微信群或投稿

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第14张图片

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第15张图片

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  ICCV 2021 | 超越MobileNetV3!SkipNet:面向轻量级CNN的Bias Loss_第16张图片

你可能感兴趣的:(算法,计算机视觉,神经网络,机器学习,人工智能)