翻译一下efficientnet的论文,仅为自己看着方便

Efficientnet:对卷积网络模型缩放的重新思考

引言:

卷积神经网络是在固定的资源限制下进行开发的,在给与更多的运算时间和内存消耗的情况下是可以有效的提高准确率。

在本文中我们系统的研究模型缩放,确定系统相关的调节网络的层数和深度和输入图片的分辨率可以使分类结果最优。

基于此,我们提出了一种新的缩放方法,该方法使用复合系数来均匀的缩放深度、宽度,和分辨率。该方用于优化mobilenet和resnet。(剩下的不补分不看了,就是分类比较厉害的赶脚,代码连接https: //github.com/tensorflow/tpu/tree/ master/models/official/efficientnet.

介绍:

通过扩大网络的参数可以提高准确率,比如讲resnet18扩展到resnet200,最近gpine达到了84.3%时间后,并未对扩展网络结构有更好的理解,最常见的办法就是增加网络的深度和网络的宽度。另外一个方法就是提高输入图片的分辨率,在以往的网络修改中大家都只专注于这三个(深度,宽度,分辨率)中的一个方面。手动的调节两方面以上的参数,很容易造成资源浪费,不能起到最好的效果。

本文着重考虑如何尊崇一个原则扩展网络的这三个方面。研究表明,平衡网络的深度,宽度,分辨率至关重要,而且可以简单的以恒定比例缩放每个维度来实现平衡(yin que si ting),基于此我们提出了一种简单而有有效的复合缩放方法。

与任意缩放这些参数不同,我们使用一组固定的缩放系数来均匀的缩放网络宽度和分辨率。例如我们要将现在消耗的资源扩大两倍,则可以将网络深度增加a^n,宽度增加b^n,分辨率增加y^n,其中aby是通过小网格搜索确定的常数系数.直观的来讲,如果输入的图像更大,则网络需要更多的层来解析图片,并需要更多的通道来捕获更大图像上更细节的方面。(此处省略一部分......)

复合模型缩放(划重点)

我们将阐述缩放问题,研究不同的方法,并提出我们的新缩放方法。

一个卷积层可以表示为一个函数 Yi = Fi(Xi), yi是输出tensor,xi是输入tensor,Fi是运算符,张量的shape为h,w,c ,其中h是卷积核的个数。

事实上,一个网络结构有很多相同的stage组成(比如shufflenet的shuffleblock),而每一个层都有相同的卷积参数量以及参数尺寸定义,包含会有一些降低图片维度的层(step = 2),因此可以将这些相同的卷积层定义为公式中Fi在阶段i中重复li次,h,w,c是卷积层的参数。一般的网络降维的过程都是图片的w不断降低,而c不断增加。

通常人们调参的时候都是专注于分辨率和c或者网络长度Li,而不会改变预定义的Fi。通过固定Fi,模型锁房间花了新资源约束的设计问题,但仍然需要很大的设计空间才能探索到每层不同的Li,Ci,Hi,Wi,为了进一步减少设计空间,我们必须限制所有层必须以很定的比率均匀的缩放。

缩放尺寸

d,w,r互相依赖

d(深度):更深层的网络可以捕获更复杂更丰富的特征,但同时也会有梯度消失的问题,即使加入了残差和batch_normal操作,仍然较难训练。比如resnet1000和resnet-101相似(穷孩子哪里用过1000层的网络??????)

w(宽度):更多的宽度可以学习更多细节的特征(同时也会导致泛化能力不强?),并且易于训练,但是捕捉较高级别的特征会比较难(比如红色的矩形中含有梯形还是扭曲的这种),但是这种网络在训练时候,误差会降的很快,精度会提升的很快。

分辨率(r):使用更高的分辨率的输入图像可以捕获更多细节的特征,现在普遍使用299*299和331*331而也有些使用600*600和480*480提高准确率(学术上的灿烂总是在不断增加分辨率,工业上部署的困难总在想着怎么降低分辨率)。但是对于非常高的分辨率,精度增益会降低(r=1.0表示分辨率224*224,r=2.5表示分辨率560*560)

这些参数对于较大型的识别任务,参数不断增加,而增益成都会降低。

复合缩放

dwr不是独立的,三者应该成某种相互影响,共同协作的。

比较不同网络深度和分辨率下的宽度缩放臂力,如果只修改一个参数,精度很快就会饱和。但两者同时增长,可以实现更好的精度。

公式来了(划重点)

depth: d = α^φ width:

w = β^φ

resolution: r = γ^φ       

α ≥ 1≥ 1≥ 1

s.t. α · β^2 · γ^2 ≈ 2

话说,这个受限条件是算出来的,还是观测经验的说?

α,β,γ是可由a确定的常数,φ  是用户指定的系数用于控制模型的缩放,而α,β,γ指定如何分别将这些额外的资源分配给网络宽度,深度和分辨率。常规卷积运算的d,w^2,r^2成正比,即网络深度会加倍会让flops加倍,但是宽度和分辨率加倍会使flops加四倍。 我们对α·β2·γ2≈2进行约束,使得对于任何新的φ,总FLOPS大约增加2φ。

Efficient net

使用和(Tan et al., 2019)相同的架构,并对其进行优化,架构类似于mnas,主要成分是bottleneck MBConv(看起来像是mobilenetv3的block)还添加了sqeeze net的结构。网络本身并无亮点,关键再看作者如何调参。

步骤1:假设有更多的资源可用,首先将φ= 1固定,并根据w = β^φ r = γ^φ 进行遍历测试,发现efficientnetb0的最佳值为a

=1.2,b=1.1,y=1.15在α · β^2 · γ^2 ≈ 2的约束下

步骤2:然后,我么将a,B,y固定为常数,并以按照系数进行方法,深度放大1.2倍,宽度1.1倍,分辨率1.15倍。

剩下的都省略了。。。。。。,感觉这个搜索不太容易实现,作者说要在小型网络上测试,然后迁移到大型网络上,希望能有大神写一个表,网络扩大一倍的参数,扩大两倍的参数。。。。。。。。

白嫖使我快乐。

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值