前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EfficientNet详解:当前最强网络

EfficientNet详解:当前最强网络

作者头像
用户7164815
发布2020-04-08 12:06:18
6.5K0
发布2020-04-08 12:06:18
举报

简介

EfficientNet源自Google Brain的论文EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks. 从标题也可以看出,这篇论文最主要的创新点是Model Scaling. 论文提出了compound scaling,混合缩放,把网络缩放的三种方式:深度、宽度、分辨率,组合起来按照一定规则缩放,从而提高网络的效果。EfficientNet在网络变大时效果提升明显,把精度上限进一步提升,成为了当前最强网络。EfficientNet-B7在ImageNet上获得了最先进的 84.4%的top-1精度 和 97.1%的top-5精度,比之前最好的卷积网络(GPipe, Top-1: 84.3%, Top-5: 97.0%)大小缩小8.4倍、速度提升6.1倍。

EfficientNet的主要创新点并不是结构,不像ResNet、SENet发明了shortcut或attention机制,EfficientNet的base结构是利用结构搜索搜出来的,然后使用compound scaling规则放缩,得到一系列表现优异的网络:B0~B7. 下面两幅图分别是ImageNet的Top-1 Accuracy随参数量和flops变化关系图,可以看到EfficientNet饱和值高,并且到达速度快。

原理

增加网络参数可以获得更好的精度(有足够的数据,不过拟合的条件下),例如ResNet可以加深从ResNet-18到ResNet-200,GPipe将baseline模型放大四倍在ImageNet数据集上获得了84.3%的top-1精度。增加网络参数的方式有三种:深度宽度分辨率

深度是指网络的层数,宽度指网络中卷积的channel数(例如wide resnet中通过增加channel数获得精度收益),分辨率是指通过网络输入大小(例如从112x112到224x224)

直观上来讲,这三种缩放方式并不不独立。对于分辨率高的图像,应该用更深的网络,因为需要更大的感受野,同时也应该增加网络宽度来获得更细粒度的特征。

之前增加网络参数都是单独放大这三种方式中的一种,并没有同时调整,也没有调整方式的研究。EfficientNet使用了compound scaling方法,统一缩放网络深度、宽度和分辨率。

如下图所示,(a)为baseline网络,(b)、(c)、(d)为单独通过增加width,depth以及resolution使得网络变大的方式,(e)为compound scaling的方式。

EfficientNet中的base网络是和MNAS采用类似的方法(唯一区别在于目标从硬件延时改为了FLOPS),使用了compound scaling后,效果非常显著,在不同参数量和计算量都取得了多倍的提升。

此外,作者为了验证单独compound scaling的收益,base网络不使用MNAS网络结构搜索的结果,直接使用MobileNets和ResNet作为base进行scaling,结果显示在FLOPS接近的情况下,Top-1 Acc有0.6~1.4%的提升。

最后,EfficientNet的延时相对于ResNet/GPipe也有5~6倍的提升。

总结

总得来说,EfficientNet最大的贡献即为compound scaling,指导我们在设计网络时,特别是比较大的网络时,深度、宽度和分辨率要同步增加。

参考

论文链接:https://arxiv.org/abs/1905.11946

官方TensorFlow代码:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet

第三方PyTorch代码:https://github.com/lukemelas/EfficientNet-PyTorch

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI人工智能与大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 原理
  • 总结
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档