EfficientNet论文阅读笔记
目錄
論文信息
摘要
問題制定
模型縮放
高效地網(wǎng)絡(luò)架構(gòu)
實驗結(jié)果
論文信息
鏈接:http://arxiv.org/pdf/1905.11946v2.pdf
發(fā)表時間:2019
來源:google
作者:Mingxing Tan
摘要
卷積神經(jīng)網(wǎng)絡(luò)(ConvNets)通常是在固定的資源預(yù)算下開發(fā)的,如果有更多的資源,則可以按比例放大以獲得更高的準確性。在本文中,系統(tǒng)地研究了模型縮放并確定仔細地平衡網(wǎng)絡(luò)深度,寬度和分辨率可以帶來更好的性能。基于這一觀察,提出了一種新的縮放方法,該方法使用簡單但高效的復(fù)合系數(shù)均勻地縮放深度/寬度/分辨率的所有維度。證明了這種方法在擴展MobileNets和ResNet方面的有效性。
問題制定
卷積層可以定義為函數(shù) ,其中是卷積運算符,表示輸出張量,表示輸入張量,張量形狀為表示輸入張量的形狀,其中是feature map的尺寸,是通道維度。卷積可以用一系列組成層表示:。實踐中,ConvNet層經(jīng)常被劃分為多個stages,并且每個stage的所有層共享相同的結(jié)構(gòu):舉個例子,ResNet有5個stages,每個stage的所有層有相同的卷積類型(除了第一層有一個下采樣),因此,我們可以將ConvNet定義為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
其中N是分類網(wǎng)絡(luò),X表示輸入,表示在階段i中重復(fù)次,總共有s個stage,表示層i的輸入張量X的形狀。為了進一步減小設(shè)計空間,我們限制所有層必須以恒定比率均勻縮放。我們的目標(biāo)是最大化任何給定資源約束的模型精度,這可以表示為優(yōu)化問題:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
模型縮放
我們假定卷積層的輸入特征圖大小是:
輸出特征圖大小是:
對于卷積:
上圖中(a)baseline的計算量是:
-
網(wǎng)絡(luò)深度(d)縮放
網(wǎng)絡(luò)深度指卷積層的層數(shù),如上圖(c)所示。這里假設(shè)深度縮放倍,則計算量是:
縮放網(wǎng)絡(luò)深度是許多ConvNets最常用的方式。直覺是更深層次的ConvNet可以捕獲更豐富,更復(fù)雜的特征,并且可以很好地概括新任務(wù)。然而,由于消失的梯度問題,更深的網(wǎng)絡(luò)也更難以訓(xùn)練。雖然跳線連接和batch normalization等幾種技術(shù)可以緩解訓(xùn)練問題,但非常深的網(wǎng)絡(luò)的準確度增加會減少。
- 網(wǎng)絡(luò)寬度(w)縮放
在卷積運算中,網(wǎng)絡(luò)寬度指網(wǎng)絡(luò)輸入輸出的通道數(shù),如上圖(b)所示。這里假設(shè)寬度縮放倍,則計算量是:
?
計算量變?yōu)樵瓉淼谋?縮放網(wǎng)絡(luò)寬度通常用于小尺寸模型,更廣泛的網(wǎng)絡(luò)往往能夠捕獲更多細粒度的特征并且更容易訓(xùn)練。然而,極寬但淺的網(wǎng)絡(luò)往往在捕獲更高級別的特征方面存在困難。而且當(dāng)網(wǎng)絡(luò)變得更寬,w越大時,準確度就會快速飽和。
- 網(wǎng)絡(luò)分辨率(r)縮放
分辨率縮放指改變卷積層輸入輸出的圖形分辨率。這里假設(shè)分辨率縮放倍,則計算量是:
計算量變?yōu)樵瓉淼谋?使用更高分辨率的輸入圖像,ConvNets可以捕獲更多細粒度的圖案。
? ? ? ? ? ? ? ? ? ? ? ??
擴展具有不同網(wǎng)絡(luò)寬度(w),深度(d)和分辨率(r)的基線模型。具有更大寬度,深度或分辨率的更大網(wǎng)絡(luò)傾向于實現(xiàn)更高的準確度,但是在達到80%之后準確度增益快速飽和,證明了單維縮放的限制。深度或分辨率的任何尺寸都可以提高精度,但對于較大的模型,精度增益會降低。
不同的縮放尺寸不是獨立的。直觀地,對于更高分辨率的圖像,我們應(yīng)該增加網(wǎng)絡(luò)深度,使得更大的感受野可以幫助捕獲包括更大圖像中的更多像素的類似特征。相應(yīng)地,我們還應(yīng)該在分辨率更高時增加網(wǎng)絡(luò)寬度,以便在高分辨率圖像中捕獲具有更多像素的更多細粒度圖案。這些直覺表明我們需要協(xié)調(diào)和平衡不同的縮放尺寸,而不是傳統(tǒng)的單維縮放。
- 復(fù)合縮放
為了追去更好的精度和效率,在縮放時平衡網(wǎng)絡(luò)所有維度至關(guān)重要。提出了一種新的復(fù)合縮放方法,它使用復(fù)合系數(shù)以原則方式統(tǒng)一縮放網(wǎng)絡(luò)寬度,深度和分辨率:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)
其中是可以通過小網(wǎng)格搜索確定的常量。直觀地說,是一個用戶指定的系數(shù),它控制有多少資源可用于模型縮放,而則分別指定如何將這些額外資源分配給網(wǎng)絡(luò)寬度,深度和分辨率。值得注意的是,常規(guī)卷積運算的FLOPS與d,,成正比,即雙倍網(wǎng)絡(luò)深度將使FLOPS加倍,但網(wǎng)絡(luò)寬度或分辨率加倍會使FLOPS增加四倍。由于卷積運算通常主導(dǎo)ConvNets中的計算成本,因此使用上面等式對ConvNet進行縮放將使總FLOPS增加。在本文中,我們約束,這樣對于任何新的,總FLOPS將大約增加。
高效地網(wǎng)絡(luò)架構(gòu)
由于模型的縮放不會改變基線網(wǎng)絡(luò)中的層運算,因此具有良好的基線網(wǎng)絡(luò)也很關(guān)鍵。為了更好地展示我們縮放方法的有效性,我們還開發(fā)了一種新的移動尺寸基線,稱為EfficientNet。受到MnasNet的啟發(fā),我們通過利用多目標(biāo)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索來同時優(yōu)化精度和FLOPS,我們的搜索空間和MnasNet相同,并使用作為優(yōu)化目標(biāo)?,其中ACC(m)和FLOPS(m)分別是模型m的精度和計算量,T是目標(biāo)計算量,w=?0.07是一個超參數(shù)用來權(quán)衡精度和FLOPS。不像MnasNet中的優(yōu)化目標(biāo),這里優(yōu)化的是FLOPS而不是延遲,因為我們沒有說是要在特定的硬件平臺上做加速。我們的搜索方法得到了一個高效的網(wǎng)絡(luò),我們稱之為EfficientNet-B0,因為我們使用的搜索空間和MnasNet相似,所以得到的網(wǎng)絡(luò)結(jié)構(gòu)也很相似,不過我們的EfficientNet-B0稍微大了點,因為我們的FLOPS預(yù)算也比MnasNet中大(400M)。下表展示了EfficientNet-B0的結(jié)構(gòu),它的主要構(gòu)建塊就是移動倒置瓶頸MBConv。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
上表展示的EfficientNet-B0是基線網(wǎng)絡(luò), 每行描述了具有層的階段i,輸入分辨率為,輸出通道為。然后以EfficientNet-B0為baseline模型,我們將我們的復(fù)合縮放方法應(yīng)用到它上面,分為兩步:
(1)我們首先固定,假設(shè)有相比于原來多了2倍的資源,我們基于等式(2)和(3)先做了一個小范圍的搜索,最后發(fā)現(xiàn)對于EfficientNet-B0來說最后的值為,在的約束下;
(2)然后我們將作為常數(shù)并使用公式(3)使用不同的擴展基線網(wǎng)絡(luò),以獲得EfficientNet-B1至B7。
實驗結(jié)果
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
(1)在MobileNets和ResNets中,與其他單一維度的縮放方法相比,復(fù)合縮放方法精度提高了;
(2)本文提出的EfficientNet比其他網(wǎng)絡(luò)表現(xiàn)更好。
總結(jié)
以上是生活随笔為你收集整理的EfficientNet论文阅读笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习——决策树的三种学习方法
- 下一篇: 《机器学习》 周志华学习笔记第一章 绪论