华为提出高效轻量级网络GhostNet,性能超越MobileNetV3

华为提出⾼效轻量级⽹络GhostNet,性能超越MobileNetV3
Jiangmen
From:计算机视觉研究院
由于内存和计算资源有限,在嵌⼊式设备上部署卷积神经⽹络(CNNs)是很困难的。特征映射中的冗余是CNN成功的⼀个重要特征,但在神经结构设计中很少被研究。
16位ms-dos子系统
在训练较好的深度⽹络的特征图中,丰富甚⾄冗余的信息常常保证了对输⼊数据的全⾯理解。例如在输⼊图像的⼀些特征映射,并且存在许多相似的特征映射对,就像彼此的“幽灵”⼀样。华为的研究员团队并没有避免冗余的特性映射,⽽是倾向于采⽤它们,提出了⼀种新的Ghost模块,从简单的操作中获取更多的特征映射。
•⽂章链接: /pdf/1911.11907.pdf
•代码: github/huawei-noah/ghostnet
⼀、摘要
作者提出了⼀种新的Ghost模块,⽤于从简单的操作中获取更多的特征映射。基于⼀组内在特征映射,应⽤⼀系列简单的线性变换来⽣成许多Ghost特征映射,这些映射可以充分揭⽰内在特征的信息。提出的Ghost模块可以作为⼀个即插即⽤的组件来升级现有的卷积神经⽹络。Ghost瓶颈被设计成stack Ghost modules,然后可以很容易地建⽴轻量级的GhostNet。
在基准上进⾏的实验表明,所提出的Ghost模块是基线模型中卷积层的⼀个令⼈印象深刻的替代⽅案,GhostNet可以获得更⾼的识别性能(例如在ImageNetILSVRC-2012分类数据集上,与具有类似计算成本的MobileNetV3相⽐,准确率为75.7)。
为75.7)。
⼆、背景
⾼效的神经结构设计具有很⾼的潜⼒,可以建⽴⾼效的深度⽹络,参数和计算较少,最近取得了相当⼤的成功。这种⽅法还可以为⾃动搜索⽅法提供新的搜索单元。例如,MobileNet利⽤深度卷积和点卷积构造了⼀个单元,⽤于⽤较⼤的滤波器逼近原始卷积层,并取得了类似的性能。ShuffleNet进⼀步探索了⼀种通道shuffle操作,以提⾼轻量级模型的性能。
例如上图显⽰了ResNet-50⽣成的输⼊图像的⼀些特征映射,并且存在许多类似的特征映射对,就像彼此的“幽灵”⼀样。作者并没有避免冗余的特性映射,⽽是倾向于采⽤它们,但采⽤的是⼀种低成本的⽅式。
今天我们就将介绍这种新的Ghost模块,通过使⽤较少的参数来⽣成更多的特征。具体来说,深度神经⽹络中的⼀个普通卷积层将被分成两部分。第⼀部分涉及普通卷积,但它们的总数将受到严格控制。给定第⼀部分的固有特征映射,然后应⽤⼀系列简单的线性操作来⽣成更多的特征映射。在不改变输出特征映射⼤⼩的情况下,与vanilla卷积神经⽹络相⽐,该Ghost模块中所需的参数总数和计算复杂性都有所降低。基于Ghost模块,建⽴了⼀种⾼效的神经⽹络架构,即GhostNet。
作者⾸先在基准神经架构中替换原始卷积层,以证明Ghost模块的有效性,然后验证GhostNet在⼏个基准视觉数据集上
作者⾸先在基准神经架构中替换原始卷积层,以证明Ghost模块的有效性,然后验证GhostNet在⼏个基准视觉数据集上的优越性。实验结果表明,所提出的Ghost模块能够降低通⽤卷积层的计算成本,同时保持相似的识别性能,并且GhostNet可以在移动设备上具有快速推理的各种任务上超越最先进的有效深度模型,如MobileNetV3。
三、相关⼯作
Model Compression
⽹络剪枝、低⽐特量化、知识蒸馏等⽅法的性能往往是有上限的,因为使⽤了预先训练的深度神经⽹络作为其基线。因此这些⽅法的性能通常取决于给定的预训练模型。对基本操作和体系结构的改进将使它们⾛得更远。
Compact Model Design
虽然Xception、MobileNets、MobileNetV2、MobileNetV3、ShuffleNet和ShuffleNetV2等轻量级模型以很少的FLOPs 获得了很好的性能,但是它们特征图之间的相关性和冗余性⼀直没有得到很好的利⽤。
四、算法框架
Ghost Module for More Features
因为在由主流CNNs⽹络计算得到的中间特征映射中⼴泛存在的冗余,如上图。作者建议减少需要的资源,即⽤来⽣成这些特征映射的卷积过滤器。实际上,给定输⼊X∈Rc*h*w,其中c为channels数,h和w分别为输⼊的⾼和宽。⽤来⽣成n特征映射的任意卷积层的操作公式为:Y = X * f + b
其中*表⽰卷积操作,b为bias项。Y∈Rh' x w' x n是有着n个channels的输出特征映射,f∈Rc x k x k x n是该层的卷积过滤器。在该卷积操作中,需要的FLOPs数为n*h'*w'*c*k*k,该值通常很⼤,因为过滤器数量n和channel数量c⼀般很⼤。
根据上⾯的公式,需要优化的参数数量 (f和b) 由输⼊和输出特征图的维数明确确定。如上图所⽰,卷积层的输出特征映射通常包含⼤量冗余,其中⼀些可能彼此相似。作者指出没有必要⽤⼤量的FLOPs和参数⼀个⼀个地⽣成这些冗余的特征图。假设输出的特性映射是⼀些带有⼀些cheap转换的内在特性映射的“幽灵”。这些固有的特征图通常较⼩,由普通的卷积过滤器产⽣。
具体来说,m个内在特征映射Y'∈ Rh' x w' x m是使⽤⼀个基本卷积操作⽣成的: Y' = X * f'
为了进⼀步获得想要的n个特征映射,作者提出在Y'中的每个内在特征中应⽤⼀系列的cheap线性操作来⽣成s个ghost特征,如下函数所⽰:植物人小妖uu
其中,yi′表⽰在Y'中的第i个内在特征映射,在上式中Φi,j是⽤于⽣成第j个ghost特征映射yij的第j个线性操作,也就是说yi′可以有⼀个甚⾄多个ghost特征映射{yij}sj=1。最后⼀个Φi,s是⽤来保存如下图(b)所⽰的内在特征映射的identity映射。
通过使⽤上等式,作者能够获得n=m*s特征映射,Y=[y11,y12,··· ,yms]即如上图(b)所⽰的⼀个Ghost模块的输出数据。注意,线性操作Φ在每个通道的计算成本远⼩于普通的卷积。在实际应⽤中,在⼀个Ghost模块中可能会有⼏种不同的线性运算,例如3×3和5×5的线性内核,这些将在实验部分进⾏分析。
性运算,例如3×3和5×5的线性内核,这些将在实验部分进⾏分析。
Difference from Existing Methods
提出的Ghost模块与现有的⾼效卷积⽅案有很⼤的不同。如:
危机干预
1.
与[Xiangyu Zhang, Xinyu Zhou, Mengxiao Lin, and Jian Sun. Shufflenet: An extremely efficient convolutional neural net- work for mobile devices. CVPR ] 中⼴泛使⽤1×1 pointwise卷积的单元相⽐,Ghost模块中的主卷积可以定制内核⼤⼩;
2.
现有的⽅法采⽤pointwise卷积跨通道处理特征,然后采⽤depthwise卷积处理空间信息。相⽐之下,G
host模块采⽤普通卷积先⽣成少量的内在特征图,然后利⽤cheap的线性运算来扩充特征,增加channels;
3.
在以往的⾼效架构中,处理每个特征映射的操作仅限于depthwise卷积或shift操作,⽽Ghost模块中的线性操作可以有较⼤的多样性;
4.泉州汽车运输总公司
另外,在Ghost模块中,将identity映射与线性变换并⾏进⾏,保持内在特征映射。
Analysis on Complexities
由于可以利⽤上等式中提出的Ghost模块⽣成与普通卷积层相同数量的特征映射,因此可以很容易地将Ghost模块集成到现有设计良好的神经结构中,从⽽降低计算成本。
在这⾥,进⼀步分析了使⽤Ghost模块在内存使⽤和理论上的加速⽅⾯的好处。⽐如这⾥有⼀个identity映射和m*(s-1)= (n/s)*(s-1)个线性操作,每个线性操作的平均内核⼤⼩为d x d。理想情况下,n*(s-1)个线性操作能有不同形状和参数,但是线下推断将会受到阻碍,尤其是考虑到CPU或GPU card
s的使⽤。因此为了⾼效实现,作者建议在⼀个Ghost模块中使⽤相同⼤⼩的线性操作(如3x3、5x5)。Ghost模块升级普通卷积的理论加速⽐为:
同样地,压缩⽐计算为:
马未都说玉Building Efficient CNNs
Ghost Bottlenecks:利⽤Ghost模块的优点,介绍了专门为⼩型CNNs设计的Ghost bottleneck(G-bneck)。当代革命军人核心价值观

本文发布于:2024-09-22 19:22:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/145699.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:卷积   特征   映射
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议