(分类网络之EfficientNet)CV_Daily_Paper_第16期_Sun_9_June_2019
(分类网络之EfficientNet)CV_Daily_Paper_第16期_Sun_9_June_2019
原创bryce1010 发布于2019-06-09 16:28:16 阅读数 90  收藏
展开
EfficientNet
ref
from ICML2019
paper: https://arxiv.org/abs/1905.11946
pytorch: https://github.com/zsef123/EfficientNets-PyTorch
tensorflow: https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet
review
首先使用NAS搜索了一个基准网络,然后再在基准网络的基础上进行深度,宽度和分辨率的平衡。谷歌最近的mobilenetV3,autoargument(自动图像增强)都是使用自动搜索策略。因为在深度学习中有太多技巧性,或者太多的组合。如何组合起来使模型在任务中最优是现在bone net设计的方向。而这个过程中搜索的算法应该是最关键的。(谷歌并未开源)
EfficientNet-B7(参数最多的模型)比现在最优的convnet参数少了8.4x,速度快了6.1x提升还是很明显的。
先看一个比较图,就知道EfficientNet有多厉害了:
motivation
有没有什么标准的方法,能把网络的scale增大,来提升网络的精确度和效率?
实验表明,通过平衡网络的 width, depth, resolution可以达到这样的效果。
增加scale的示例图:
主要思路是: 在得到baseline网络基础上,通过自动调整a,b,c 三个参数,控制宽度,深度和分辨率进行模型的自动调整。
Compound Model Scaling
CNN网络的每层中的width,depth,分辨率都是可以调整的。比如resnet中其中大部分模块都是相同的。所以对网络每层的三个参数都可以随意调整,则整个搜索优化空间太大。同时,在网络训练的过程中不好统一feature map的尺寸。于是作者限定三个参数同时等比例的缩放。
注意: 这里有计算资源的限制。因为很多论文从单一方面进行宽度,深度和分辨率的增大就能得到精度的提高。所以要有计算资源的限制。
单维缩放维度
通过缩放宽度,深度和分辨率对精确度和参数量的影像:
组合缩放维度
在本文中,我们提出了一种新的复合缩放方法,它使用复合系数φ以原则方式统一地缩放网络宽度,深度和分辨率。
其中α,β,γ是可以通过小网格搜索确定的常数,就是网格搜索确定的。在本文中,我们约束α·β2·γ2≈2使得对于任何新的φ,总FLOPS将大约3增加2φ,就是以2为底的指数方式增加参数量。
baseline 网络
利用多目标神经架构搜索来优化准确性和FLOPS,从而开发基准网络。架构搜索应该是最关键的。 基准网络很像MnasNet。EfficientNet-B0的参数量更多。
参数搜索
步骤1:我们首先确定φ= 1,假设有两倍的可用源,并根据公式2和3进行α,β,γ的小网格搜索。特别是,我们发现EfficientNet-B0的最佳值是α= 1.2,β= 1.1,γ= 1.15,受α·β2·γ2≈2的约束。
步骤2:然后我们将α,β,γ固定为常数,并使用公式3扩展具有不同φ的基线网络,以获得EfficientNet-B1至B7(表2中的细节)。
总结: 就是有GPU任性,不知道所有这些工作需要多少GPU的计算时间。
确实在相同精度下,模型的参数量更少了。
将宽度,深度,分辨率提高用于已有网络。
 发现随着宽度,深度,分辨率的提高。模型的精度会提高,同时模型的参数量也提高了。
Conclusion
可放心用于迁移学习
————————————————
版权声明:本文为CSDN博主「bryce1010」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Fire_to_cheat_/article/details/91354191
 
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号