论文标题 | EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks |
---|---|
论文作者 | Mingxing Tan, Quoc V. Le |
发表日期 | 2019年05月01日 |
GB引用 | > Mingxing Tan, Quoc V Le. EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks.[J]. Proceedings of the 36th International Conference on Machine Learning, 2019, 97:6105-6114. |
DOI | 10.48550/arXiv.1905.11946 |
论文地址:https://arxiv.org/pdf/1905.11946
摘要
本文系统研究了卷积神经网络(ConvNets)的模型缩放问题,并提出了一种新的复合缩放方法,通过统一调整网络深度、宽度和分辨率的比例,实现更好的准确性和效率。该方法在多种现有网络上进行了验证,并开发了一组称为EfficientNets的新模型。EfficientNet-B7在ImageNet上达到了84.3%的顶级精度,参数量仅为之前的GPipe的八分之一,且推理速度提高了6.1倍。此外,EfficientNets在多个迁移学习数据集上也表现出色,参数量减少了数倍。
全文摘要
本论文探讨了卷积神经网络(ConvNet)的模型缩放问题,提出了一种新的有效模型缩放方法,即复合缩放(Compound Scaling)。传统上,ConvNet通常在固定资源预算下开发,并在有更多资源时进行放大以提高准确性。然而,缩放过程往往缺乏统一的方法,导致准确性和效率无法得到最优平衡。作者系统地研究了网络深度、宽度和分辨率这三者之间的关系,发现均衡地调整这些维度可以显著提高网络性能。
主要结论
- 复合缩放方法:作者提出的复合缩放方法通过一个简单的复合系数(compound coefficient)对网络的深度、宽度和分辨率进行均匀缩放。这种方法通过保持这三者之间的适当比例,能在提升性能的同时有效控制模型的复杂性。
- 模型的效率与表现:通过将这一缩放策略应用于现有的MobileNets和ResNet,作者展示了复合缩放的有效性。特别是,EfficientNet-B7模型在ImageNet数据集上取得了84.3%的顶级准确率,同时在参数数量上较现有最优模型(GPipe)缩小了8.4倍,在推理速度上快了6.1倍。
- 迁移学习表现优异:EfficientNets模型同样在多个迁移学习任务(如CIFAR-100、花卉分类等)中表现出色,参数数量大幅减少(最多可减少21倍),而准确性却远超先前的ConvNet模型。
独特之处
本论文的独特之处在于它不仅系统性地分析了模型缩放的不同方式,还通过复合缩放方法在同一时间对深度、宽度和分辨率进行了调整。这一策略突破了以往单维度缩放的限制,提供了一个更为整体和高效的解决方案。此外,通过神经结构搜索的结合,研究团队设计出了一系列高效的模型家族EfficientNet,促进了移动设备上的深度学习应用。
研究问题
如何通过平衡网络深度、宽度和分辨率来更有效地提升卷积神经网络的准确性和效率?
研究方法
实验研究: 通过调整网络深度、宽度和分辨率的不同组合,系统性地研究了模型缩放方法的有效性,并提出了一个全新的复合缩放方法,该方法在保持模型效率的同时显著提升了模型的准确性。
混合方法研究: 结合神经架构搜索(NAS)技术设计了一个新的基础网络,并通过复合缩放方法将其扩展为一系列模型,称为EfficientNets。这种研究方法综合了自动化的网络结构设计与模型缩放策略。
研究思路
这篇论文的研究思路主要集中在提高卷积神经网络(ConvNets)的准确性和效率方面,通过系统性地研究模型扩展,提出了一种新的复合缩放方法以平衡网络深度、宽度和分辨率。以下是对其理论框架、研究方法和创新点的详细描述:
论文的理论框架建立在对卷积神经网络扩展的深刻理解上。传统上,模型扩展通常仅关注网络的单一维度:深度或宽度或分辨率。而该论文认为,网络的各个维度之间是相互依赖的,因此,单一维度的扩展往往会导致性能的提升受限。在此基础上,提出了一个原则性的模型扩展框架,旨在同时优化这三种维度,从而提升网络的能力。
研究方法
模型缩放的系统研究:
- 论文首先对现有的模型扩展策略进行系统性分析,并提出对网络宽度、深度和分辨率的扩展必须进行平衡。
- 通过大量实验,验证了在增加网络某个维度的同时,其他维度也需要相应调整,从而达到最佳性能。
复合缩放方法:
- 提出了一个新的复合缩放方法,它使用一个复合系数统一地缩放网络的宽度、深度和分辨率。具体公式为:
- 深度:d = αφ - 宽度:w = βφ - 分辨率:r = γφ -这里,α、β和γ是通过小网格搜索获得的常数系数,以满足要求:α·β²·γ² ≈2,确保模型的计算资源可以线性扩展。
神经架构搜索(NAS):
- 为了构建更优秀的基线网络,论文还利用神经架构搜索技术设计了一个新网络,并在此基础上进行复合缩放,形成一系列新的模型(称为EfficientNets)。
复合模型缩放
问题描述
一个卷积层可以被定义为一个函数: Y i = F i ( X i ) Y_{i}=\mathcal{F}_i(X_i) Yi=Fi(Xi),其中 F i \mathcal{F}_i Fi是操作符, Y i Y_{i} Yi是输出张量, X i X_i Xi是输入张量,其张量形状为 ⟨ H i , W i , C i ⟩ \langle H_{i},W_{i},C_{i}\rangle ⟨Hi,Wi,Ci⟩(为了简化,省略了批量维度),其中 H i H_{i} Hi和 W i W_{i} Wi分别是空间维度, C i C_{i} Ci是通道数。一个卷积神经网络 N \mathcal{N} N可以用一系列复合层来表示: N = F k ⊙ . . . ⊙ F 2 ⊙ F 1 ( X 1 ) = ⨀ j = 1... k F j ( X 1 ) \mathcal{N}=\mathcal{F}_{k}\odot...\odot\mathcal{F}_{2}\odot\mathcal{F}_{1}(X_{1})=\bigodot_{j=1...k}\mathcal{F}_{j}(X_{1}) N=Fk⊙...⊙F2⊙F1(X1)=⨀j=1...kFj(X1)。在实践中,卷积层通常被划分为多个阶段,并且每个阶段中的所有层都共享相同的架构:例如,ResNet(何等人,2016年)有五个阶段,在每个阶段中除了第一层执行下采样之外,所有层都有相同类型的卷积。因此,我们可以将卷积神经网络定义为:
N = ⨀ i = 1 … s F i L i ( X ⟨ H i , W i , C i ⟩ ) ( 1 ) \mathcal{N}=\bigodot_{i=1\ldots s}\mathcal{F}_i^{L_i}(X_{\langle H_i,W_i,C_i\rangle})\quad(1) N=⨀i=1…sF