EfficientNet
0摘要
卷积神经⽹络CNN⼀般是在固定计算资源的情况下进⾏设计的,如果使⽤更多的计算资源,⼀般可以取得更好的识别准确率。本⽂系统地研
究了如果平衡模型的深度、宽度和输⼊分辨率可以取得最好的处理效果。作者最终使⽤了⼀个简单⾼效的复合系数去平衡模型的深度、宽度
和输⼊分辨率,训练的模型效果超过了mobilenet和resnet。
作者⼜使⽤神经⽹络结构搜索⽅法得到了⼀系列的模型EfficientNets,⽐之前的CNN更加准确⾼效。特别是EfficientNet-B7取得了SOTA
的效果,在ImageNet上Top-1准确率为84.4%,Top-5准确率是97.1%,同时⽐之前最好的CNN参数量少8.4倍,推理速度快6.1倍。
EfficientNet在其他数据集上也取得了更快更好的效果。
1简介
扩充CNN模型的⼀般⽅法是增加模型的层数和宽度,也可以增加输⼊图像的分辨率。之前的⽅法⼀般是增加这三个因素中的某⼀个。如果想
同时增加多个因素,那么就需要⼈为进⾏认真的参数挑战,否则可能⽆法取得最优的处理效果。
作者想探讨,能不能按照某种规则扩充模型⼀定可以取得更好的处理效果?作者通过实验发现了这样的规则,称之为复合缩放法。作者按照
固定的缩放系数集统⼀缩放⽹络的深度、宽度和输⼊图像的分辨率。
复合缩放法能够起作⽤的原因是,如果输⼊图像的分辨率变⼤,那么需要更深的⽹络以增加感受野的尺⼨,需要使⽤更多的通道以捕获更多
细粒度的特征。作者验证了这种复合缩放法在mobilenet和resnet上都取得了更好的识别效果,同时结合⾃动模型搜索法得到了⼀系列的模
型,称之为EfficientNets,实验结果表明了EfficientNets在参数量更少的情况下有效提升了分类效果。
2复合模型缩放
2.1模型缩放描述
卷积层可以表⽰成函数:,其中是输⼊Tensor,形状为,和表⽰数据的空间尺⼨,表⽰数据的
通道数;是输出Tensor,是映射函数。因此,⼀个卷积⽹络N可以表⽰成⼀系列⽹络层的组合:
实际设计的⽹络,⼀般都包含多个stage且每个stage具有相
同的结构,如ResNet包含5个stage,每个stage有相同的结构。所以,可以把卷积⽹络定义为:
表⽰在stagei中层被重复使⽤次。表⽰层
的输⼊TensorX的形状。图2(a)给出的是有代表性的卷积⽹络的⽰意图,随着⽹络深度的加深,空间分辨率尺⼨在逐渐减⼩,但⽹络层的
channel数却在逐渐增加。
iY=iF(X)iiXi
YiFi
Fi
L
iFiLi
传统的卷积⽹络设计主要关注于寻找最佳⽹络结构,但模型缩放则是在不改变模型结构的情况下扩充模型的深度()、宽度和分辨
率。模型缩放可以认为是⼀个寻优的问题,即在给定计算资源限制的情况下联合调整模型的宽度、深度和分辨率,达到最⼤化模型
准确率的⽬的。
是⽹络宽度、深度和分辨率缩放的系数,
是预先定义的基础⽹络的参数。
2.2模型缩放的维度
深度:许多卷积⽹络都在扩充⽹络的深度,主要的原因是,更深的⽹络可以捕获更加丰富和复杂的特征,可以更好的泛化到新的任务。然
⽽,⽹络层数越多,越容易因为梯度弥散难以训练。虽然最近的新技术,skipconnection和BN的应⽤在⼀定程度上规避了梯度弥散,但是
对于特别深的⽹络,仍然会存在梯度弥散问题。例如,ResNet-1000和ResNet-101的准确率很接近。图3中间的图,给出了扩充不同倍
数的⽹络层时的模型准确率,表明了对于特别深的⽹络仍然存在⼀定程度的梯度弥散现象。
宽度:对于⽐较⼩的⽹络,往往扩充⽹络的宽度,更宽的⽹络可以捕获更加细粒度的特征,也更容易训练。但是,特别宽的浅层⽹络却难以
捕获⾼层语义特征。图3左图的实验表明了随着⽹络宽度的增加,模型的准确率在趋向于饱和。
分辨率:输⼊图像的分辨率越⾼,越已于捕获更多细粒度的特征,但是图3右图显⽰准确率的确随着分辨率的增⼤⽽增加,但是分辨率过⾼
时准确率也会趋向于饱和。
基于上述的分析和实验验证,我们可以得出观察1—单独缩放模型的任⼀维度(宽度/深度/分辨率)可以改善模型的准确率,但是模型越⼤,
缩放获得的准确率提升越⼩。
2.3组合缩放
作者认为应该联合考虑模型的深度、宽度和输⼊图像的分辨率进⾏缩放。图4给出了在不同的宽度和输⼊分辨率情况下,扩充宽度信息带来
的准确率的提升。如果在不改变深度和分辨率的情况下,单独扩充⽹络的宽度会很快的饱和。但是再相同计算量的情况下,如果扩充了深度
和分辨率时,再扩充宽度带来了准确率提升更⼤。
FiFiLi(C)i
(H,W)ii
w,d,r
,,,,Fi
^
Li
^
Hi
^
Wi
^
Ci
^
基于图4的分析,作者得到了第⼆个观察—
卷积⽹络扩充时应该联合考虑模型的深度、宽度和分辨率。
作者提出了联合缩放法,使⽤⼀个联合系数统⼀缩放模型的宽度、深度和分辨率。
是通过⽹格搜索得到的常数,是⼀个超参数,⽤于控制
可⽤于模型缩放的资源扩充量。设定了分配多少⽐例的扩充资源给模型的宽度、深度和分辨率。常规卷积操作的计算量正⽐于
,也就是说⽹络深度加倍会使⽤两倍的计算资源,但是⽹络的宽度和输⼊分辨率加倍会使⽤4倍的计算资源。按照公式3扩充卷积
⽹络,所使⽤的计算资源约等于扩充了倍,本⽂中作者限制,因此对任意的参数,所使⽤的计算资源约
为原来的。
3EfficientNet结构
由于模型缩放不会改变基础⽹络的层操作,因此使⽤⼀个好的基础⽹络也是很关键的。作者在已有的卷积⽹络结构上应⽤了模型扩充技
术,同时作者也设计了新的适⽤于移动端的基础⽹络,称之为EfficientNet。
ϕ
α,β,γϕ
α,β,γ
d,w,r22
(α∗β∗2γ)2ϕ(α∗β∗2γ)≈22ϕ
2ϕ
Fi
^
按照论⽂MnasNet:Platform-aware
neuralarchitecturearchformobile的思路,作者通过同时优化准确率和FLOPS来寻找最优⽹络结构。作者使⽤了和参考论⽂相同的
搜索空间,优化⽬标是,ACC(m)和FLOPS(m)表⽰模型m的准确率和计算量,T表⽰⽬标计算量,w=
-0.07表⽰⽤于控制准确率和计算量平衡的超参数。这⾥优化⽬标使⽤的是Flops⽽不是延迟时间,是因为优化⽬标不是针对专门的硬件资
源设计⽹络结构。搜索结果得到了⼀个⾼效的⽹络,称之为EfficientNet-B0。由于和参考论⽂使⽤了相同的搜索空间,所以得到的模型和
参考论⽂得到的MnasNet很像,除了EfficientNet-B0更⼤⼀些(这是因为这⾥设置的⽬标Flops为400M,要⽐参考论⽂使⽤的更⼤)。
EfficientNet-B0的结构如表1所⽰,其主要构件块是MBConv,同时也使⽤了squeeze-and-excitation优化。
得到基础⽹络EfficientNet-B0后,作者使⽤了
复合缩放技术扩充⽹络,主要包括两个步骤:
第⼀步,固定=1,使⽤两倍的计算资源,⽹格化搜索得到。按照的限制,最终寻得的最优参数为
。
第⼆步,固定,调整的值,得到了⽹络EfficientNet-B1到B7。
如果直接搜索的值,有可能可以得到⼀个更好的模型。但是,搜索的代价很⼤,按照这种分步骤搜索的⽅式在搜索代价较⼩的情况下
得到了相对较好的⽹络。
4实验
4.1对MobileNet和ResNet应⽤复合缩放
ACC(m)×[FLOPS(m)/T]w
ϕα,β,γ(α∗β∗2γ)≈22α=
1.2,β=1.1,γ=1.15
α,β,γϕ
α,β,γ
表3的结果表明,相⽐于单独缩放任⼀系数,联合缩
放可以取得更好的准确率,证明了联合缩放法的有效性。
4.2EfficientNet在ImageNet数据集上的分类结果
对⽐各⼤⼩的EfficientNet,都是在参数量和计算量更⼩的情况下取得了和已有模型相当的准确率。
在CPU上对⽐模型的推理时间,可以发现Efficient推理速度更快。
4.3迁移到其他数据集上的表现
5总结
作者提出了联合缩放法,同时缩放模型的宽度、深度和输⼊分辨率,同时通过⽹络搜索得到了性能更优的基础⽹络EfficientNet-B0,结合
联合缩放法得到了⼀系列的模型EfficientNet-B1到B7,实验证明了联合缩放法的有效性,也证明了相⽐其他已有的卷积⽹
络,EfficientNet-B1到B7可以在参数量更少、计算量更⼩的情况下取得相当的识别效果。
本文发布于:2022-12-29 00:44:07,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/50068.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |