EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

论文下载地址:https://arxiv.org/abs/1905.11946

代码下载地址:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet

论文创新:在有限的资源下平衡网络深度,宽度和分辨率得到一个效果最好的网络结构。

 

上图网络结构分别是(a)基础的网络结构。(b)只增加宽度之后的网络结构。(c)只增加深度的网络结构。(d)只提升分辨率的网络结构。(e)增加宽度,深度和分辨率的网络结构。

1. 更宽的网络结构可以捕捉更细粒度的信息,更加容易训练,但是浅的网络结构不能捕捉高层次的特征,缺少语义信息。

2. 更深的网络结构可以捕捉更加丰富和复杂的网络结构,并且泛化能力更强。但是网络越深越难训练。

3. 分辨率越高可以得到更加丰富的特征,但是分辨率越高就需要更宽和更深的网络来提取特征,网络的参数量就会呈指数增加。

基于以上的发现作者得到的一个观察结论是:任意放大网络宽度,深度和输入分辨率都会提升网络的精度,但是随着模型的增大,准确率的收益率也会逐渐变小。(ResNet-101和ResNet-1000之间的网络层差距很大,但是准确率相差不大)

上图展示的是不同分辨率,深度和宽度系数下的网络结构在Imagenet上的表现。每一个点代表的是不同的网络宽度,d表示网络深度,r表示网络深度。

1. 在d和r不点的情况下,网络越宽取得的精度越高。

2. 在相同的FLOPS下,网络越深,输入分辨率越高的网络结构取得的精度越高。

从上图中作者得到观察结论:为了追求更好的精度和效率,在卷积网络在缩放过程中,平衡网络宽度、深度和分辨率的所有维度是至关重要的。

网络搜索框架的提出:

基于以上的两个发现作者提出了自己的复合扩展方法:

α, β, γ可以通过小网络搜索来确定。φ表示我们要搜索的网络模型的FLOPS总量是多少,在基于φ的基础上来搜索我们的α, β, γ找到一个最合适的网络结构。

网络结构的搜索主要分为两步:

1. 首先固定φ=1,基于上面的公式找到最合适的α, β,γ值。找到论文中的EfficientNet-B0这个网络结构。

2. 然后固定α, β,γ,来扩大φ的尺度,得到EfficientNet-B1到EfficientNet-B7,这剩余的7个网络结构。

结果展示:

从下表可以看出,搜索得到的网络结构使用更少的参数量得到更好的准确率。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值