EfficientNet 阅读笔记

参考自(https://mp.weixin.qq.com/s?__biz=MzA4MjY4NTk0NQ==&mid=2247485124&idx=1&sn=d2d6ed5fc9078fe2c522c6647b340668&chksm=9f80bc52a8f735441a4cbcdb7364ba0f7e5fb781465e93a3e7e834f2e3a8d0936dcbe6d7cdbb&scene=21#wechat_redirect)
先说一下我对这篇文章的感受啊。读完这篇文章以后明显感觉提出问题要比解决问题重要很多!!!而且财大气粗很重要。。。
原文链接:https://arxiv.org/pdf/1905.11946v1.pdf
代码:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet

这篇论文系统的研究了网络的深度(Depth),宽度(Width)和分辨率(Resolution)对网络性能的影响(MobileNetV1也从这些角度去尝试给网络瘦身),然后提出了一个新的缩放方法,即使用简单且高效的符合系数均匀的缩放深度/宽度/分辨率的所有尺寸,在MobileNets和ResNets上证明了其有效性。

提出问题

进一步,论文是用神经结构搜索来设计了新的baseline并进行扩展获得了一系列模型,称为EfficientNets,比之前的ConvNets更加准确和高效。其中EfficientNet-B7实现了ImageNet的SOTA,即84.4%的top1准确率和97.1%的top-5准确率,同时这个模型比现存的最好的卷积神经网络的模型大小小8.4倍,速度快6.1倍。

在这篇论文之前已经有相当多的CNN工作通过增加网络的深度,宽度,分辨率等去提升模型性能。尽管可以任意的缩放二维或者三维,但任意的缩放都需要复杂的手工调整,并且常常产生更差的精度和效率。基于此,本论文重新思考和研究了CNN的缩放问题,即是否存在一种公式化的方法缩放CNN,从而实现更高的精度和效率?作者的研究表明,平衡网络宽度/深度/分辨率的所有维度是至关重要的,并且可以通过简单的按比例缩放每个维度来实现这种平衡。基于这个思考,论文提出了一种简单有效的复合缩放方法。

比如,我们想使用2N2^{N}倍计算资源,可以简单的通过αN\alpha^{N}去增加深度,βN\beta^{N}去增加宽度,γN\gamma^{N}去增加分辨率,其中α,β,γ\alpha, \beta, \gamma,是通过始小模型上进行小网格搜索确定的常系数。

直观来说,这种复合缩放的方法是有意义的,例如输入图像更大,则网络需要更多层来增加感受野,并且需要更多的通道来捕获更大图像上的更细粒度的语义信息。

论文指出,模型扩展的有效性很大程度上式取决于BaseLine,因此论文使用NAS来搜索新的BaseLine,并将其扩展为一系列模型,称为EfficientNets。

EfficientNet 阅读笔记

解决问题:

定义问题:
EfficientNet 阅读笔记
EfficientNet 阅读笔记
EfficientNet 阅读笔记
维度缩放
EfficientNet 阅读笔记
从上图作者得到观察一:扩展网络宽度、深度或分辨率的任何维度都可以提高准确性,但对于更大的模型,精度增益会降低。

复合缩放
作者进一步观察到,网络宽度,深度和分辨率的缩放尺度不是独立的。直观来说,对于更高分辨率的图像,应该相应的增加网络深度,这样较大的感受野可以帮助捕获包含更高分辨率图像更多像素的特征。同时,还应该增加网络深度,以便在高分辨率图像中捕获具有更多像素的更细粒度的特征。这些自觉表明我们需要协调和平衡不同的缩放尺度,而不是传统的单维缩放。然后论文做了Figure4所示的实验,验证了不同网络深度和分辨率下的宽度缩放产生的影响。可以看到,在不改变深度(d=1.0)和分辨率(r=1.0)的情况下缩放网络宽度w,则精度会很快达到饱和。当CNN拥有更深(d = 2.0)和更高分辨率(r = 2.0),宽度缩放在相同的FLOPS成本下实现了更好的精度。

EfficientNet 阅读笔记
然后论文就提出了观察2:为了追求更高的准确性和效率,在ConvNet缩放期间平衡网络宽度,深度和分辨率的维度是非常重要的。

基于观察1和观察2,这篇论文提出了一个新的复合缩放方法,以公式的形式,使用一个复合系数ϕ\phi统一缩放网络宽度、深度和分辨率,如下:
EfficientNet 阅读笔记
EfficientNet 阅读笔记
最终搜索出来的最优EfficientNet结构
因为模型缩放不会改变BaseLine模型的操作F^i\hat{F}_{i},因此拥有良好的BaseLine也很关键。论文除了用现有的CNN评估这个缩放方法,还利用MnasNet搜索了一个新的BaseLine模型来评估,称为EfficientNet-B0,结构如下:
EfficientNet 阅读笔记
EfficientNet 阅读笔记
EfficientNet 阅读笔记
具有类似的top-1 / top-5精度的CNN被组合在一起以进行效率比较。与现有的CNN模型相比,EfficientNet模型可以将参数和FLOPS降低一个数量级(参数减少高达8.4倍,FLOPS减少高达16倍)。

总结

这篇论文除了提出需要仔细平衡网络宽度、深度和分辨率的重要性,还使用NAS搜索出了一个高效的EfficientNet BaseLine,并且似乎论文的缩放方法在这个BaseLine上的提升是最大的,在其它的网络上则没有那么高了。

实验结果略。。。

相关文章:

  • 2021-12-06
  • 2021-12-02
  • 2021-05-15
  • 2021-12-27
  • 2021-05-29
  • 2021-12-10
猜你喜欢
  • 2021-04-04
  • 2021-10-18
  • 2022-12-23
  • 2022-12-23
  • 2021-12-22
相关资源
相似解决方案