EfficientNet的细节理解及解读

Efficientnet网络学习

源码
论文
第三方PyTorch代码

一、总览

卷积神经网络通常都是先在固定资源预算下开发设计,然后如果资源有多余的话再将模型结构放大以便获得更好的精度。在本篇论文中,我们系统地研究了模型缩放并且仔细验证了网络深度、宽度和分辨率之间的平衡可以导致更好的性能表现。基于这样的观察,我们提出了一种新的缩放方法——使用一个简单高效的复合系数来完成对深度/宽度/分辨率所有维度的统一缩放。我们在MobileNets和ResNet上展示了这种缩放方法的高效性。

二、细节

细节1.为什么会想到EfficientNet?

放大CNN的过程从来没有很好的理解过,目前通用的几种方法是放大CNN的深度、宽度和分辨率,在之前都是单独放大这三个维度中的一个,尽管任意放大两个或者三个维度也是可能的,但是任意缩放需要繁琐的人工调参同时可能产生的是一个次优的精度和效率。
在这篇论文里作者重点思考和审视了这问题:**是否存在一个原则性的放大CNN的方法实现更好的精度和效率?**最后他们的实验研究表明了平衡深度、宽度和分辨率这三个维度是至关重要的,令人惊讶的是这样的平衡可以通过简单的使用一组常量比率来缩放每一个维度,基于这个观察,提出了一个简单高效的复合缩放方法,不像传统实践中任意缩放这些因子,我们的方法使用一组固定的缩放系数统一缩放网络深度、宽度和分辨率。

此图展示了传统的scale方法和本文提出的compound scaling 方法:
EfficientNet的细节理解及解读_第1张图片
直觉:对于卷积神经网络而言:更多层可以增加接受野以适应更大尺寸,同时更多的通道来捕捉更大图像上更多细粒度的模式信息

细节2.如何做到统一三个维度的scale?

对网络深度、宽度和分辨率中的任何维度进行缩放都可以提高精度,但是当模型足够大时,这种放大的收益会减弱。
因此为了追去更好的精度和效率,在缩放时平衡网络所有维度至关重要。
之前的一些工作已经开始在任意缩放网络深度和宽度,但是他们仍然需要复杂的人工微调。在本篇论文中,作者提出了一个新的复合缩放方法——使用一个复合系数ϕ统一缩放网络宽度、深度和分辨率:
EfficientNet的细节理解及解读_第2张图片
这里的α,β,γ都是由一个很小范围的网络搜索得到的常量,直观上来讲,ϕ 是一个特定的系数,可以控制用于资源的使用量,α,β,γ决定了具体是如何分配资源的。

细节3.Efficient网络架构?

作者提出了一种基于移动应用的baseline模型——EfficientNet。

受到MnasNet的启发,本文作者也开发了一种多目标的神经网络结构搜索同时优化精度和FLOPS,搜索空间和MnasNet相同,因为我们使用的搜索空间和MnasNet相似,所以得到的网络结构也很相似,不过他们的EfficientNet-B0稍微大了点,因为他们的FLOPS预算也比MnasNet中大(400M)。table 1展示了EfficientNet-B0的结构,它的主要构建块就是移动倒置瓶颈MBConv,其网络结构如下:
EfficientNet的细节理解及解读_第3张图片
EfficientNet的细节理解及解读_第4张图片
然后以EfficientNet-B0为baseline模型,我们将我们的复合缩放方法应用到它上面,分为两步:

STEP 1:我们首先固定ϕ=1,假设有相比于原来多了2倍的资源,我们基于等式(2)和(3)先做了一个小范围的搜索,最后发现对于EfficientNet-B0来说最后的值为α=1.2,β=1.1,γ=1.15,在α⋅β2⋅γ2≈2 的约束下;
STEP 2:接着我们固定α,β,γ \alpha,\beta,\gammaα,β,γ作为约束,然后利用不同取值的ϕ \phiϕ对baseline网络做放大,来获得Efficient-B1到B7;
值得注意的是,直接在一个大模型上搜索得到α,β,γ 可能会导致一个更好的表现,但是搜索成本会很高,他们的方法解决了这个问题——STEP 1时只在小的baseline网络中做了一次搜索得到α,β,γ,然后对于其他的模型都使用的是相同的α,β,γ,只是通过ϕ来调整模型的大小和FLOPS。

细节4.为什么EfficientNet的compound scale方法比其他方法要好?

为了更近一步的理解为什么作者的复合缩放方法就比其他的方法效果好,Figure 7比较了使用不同方法的模型得到的class activation map的效果图,所有的这些模型都是从baseline模型缩放得到的,它们的统计特性如图Table 7。图片是随机从验证集中得到的,正如在figure中可见,复合缩放得到的模型倾向聚焦于与更多目标细节相关的区域,而其他的模型要么缺乏目标细节,要么不能捕捉到图片中所有的目标。
EfficientNet的细节理解及解读_第5张图片

你可能感兴趣的:(TensorFlow,算法,深度学习,EfficientNet,解读,卷积神经网络框架)