深度學習論文翻譯解析(六):MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Appliications


論文標題:MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Appliications

論文作者:Andrew G.Howard  Menglong Zhu  Bo Chen .....

論文地址:https://arxiv.org/pdf/1704.04861.pdf (https://arxiv.org/abs/1704.04861)

代碼地址:

參考地址:https://blog.csdn.net/u011974639/article/details/79199306

聲明:小編翻譯論文僅為學習,如有侵權請聯系小編刪除博文,謝謝!

            小編是一個機器學習初學者,打算認真學習論文,但是英文水平有限,所以論文翻譯中用到了Google,並自己逐句檢查過,但還是會有顯得晦澀的地方,如有語法/專業名詞翻譯錯誤,還請見諒,並歡迎及時指出。

如果需要小編其他論文翻譯,請移步小編的GitHub地址

  傳送門:請點擊我

  如果點擊有誤:https://github.com/LeBron-Jian/DeepLearningNote

 摘要

  我們提出一個在移動端和嵌入式應用高效的分類模型叫做MobileNets,MobileNets基於流線型架構(streamlined),使用深度可分類卷積(depthwise separable convolutions,即Xception 變體結構)來構建輕量級深度神經網絡。我們介紹兩個簡單的全局超參數,可有效的在延遲和准確率之間做折中。這些超參數允許我們依據約束條件選擇合適大小的模型。論文測試在多個參數量下做了廣泛的實驗,並在ImageNet分類任務上與其他先進模型做了對比,顯示了強大的性能。論文驗證了模型在其他領域(對象檢測,人臉識別,大規模地理定位等)使用的有效性。

1,引言

  自從AlexNet [19]通過贏得ImageNet挑戰:ILSVRC 2012 [24]來推廣深度卷積神經網絡以來,卷積神經網絡就已經在計算機視覺中變得無處不在。 總的趨勢是建立更深,更復雜的網絡以實現更高的准確性[27、31、29、8]。 但是,這些提高准確性的進步並不一定會使網絡在大小和速度方面更加高效。 在許多現實世界的應用程序中,例如機器人技術,自動駕駛汽車和增強現實,識別任務需要在計算受限的平台上及時執行。

   本文介紹了一種有效的網絡體系結構和兩個超參數集,以建立非常小的,低延遲的模型,這些模型可以輕松地與移動和嵌入式視覺應用的設計要求匹配。 第2節回顧了構建小型模型的先前工作。 第3節介紹了MobileNet體系結構以及兩個超參數寬度因子和分辨率因子,以定義更小,更高效的MobileNet。 第4節介紹了ImageNet上的實驗以及各種不同的應用程序和用例。 第5節以總結和結論結束。

之前的工作

  在最近的文獻中,人們對建立小型高效的神經網絡越來越感興趣,[16,34,12,36,22]。 通常可以將許多不同的方法歸類為壓縮預訓練網絡或直接訓練小型網絡。 本文提出了一類網絡架構,允許模型開發人員專門為其應用選擇與資源限制(延遲,大小)相匹配的小型網絡。 MobileNets主要專注於優化延遲,但也會產生小型網絡。 關於小型網絡的許多論文只關注規模,卻不考慮速度。

  MobileNets主要是從深度方向可分卷積中構建的,該方法最初在[26]中引入,隨后在Inception模型[13]中使用,以減少前幾層的計算量。 扁平化網絡[16]由完全分解的卷積構建網絡,並顯示了高度分解的網絡的潛力。 獨立於本文之外,分解網絡[34]引入了類似的分解卷積以及拓撲連接的使用。 隨后,Xception網絡[3]演示了如何按比例擴展深度可分離濾波器以執行Inception V3網絡。 另一個小型網絡是Squeezenet [12],它使用瓶頸方法設計了一個非常小的網絡。 其他簡化的計算網絡包括結構化轉換網絡[28]和deep  fried  convnets[37]。

  獲得小型網絡的另一種方法是收縮,分解或壓縮預訓練的網絡。在文獻中已經提出了基於乘積量化[36],散列[2]以及修剪,矢量量化和霍夫曼編碼[5]的壓縮。 另外,已經提出了各種因式分解來加速預訓練的網絡[14、20]。 訓練小型網絡的另一種方法是蒸餾[9],該方法使用較大的網絡來教授較小的網絡。 它是我們方法的補充,在第4節的某些用例中進行了介紹。另一種新興方法是低位網絡[4、22、11]。

3, MobileNet架構

  在本節中,我們首先描述MobileNet所基於的核心層,它們是深度可分離的過濾器。 然后,我們描述MobileNet網絡結構,並以兩個模型縮減超參數寬度因子和分辨率因子的描述作為結束。

   MobileNet模型基於深度可分離卷積,它是分解卷積的一種形式,它將標准卷積分解為深度卷積和稱為點向卷積的1×1卷積。 對於MobileNet,深度卷積將單個濾波器應用於每個輸入通道。 然后逐點卷積應用1×1卷積以組合輸出深度卷積。 一個標准的卷積既可以過濾又可以將輸入合並為一組新的輸出。 深度可分離卷積將其分為兩層,一個用於過濾的單獨層和一個用於合並的單獨層。 這種分解具有極大地減少計算和模型大小的效果。 圖2顯示了如何將標准卷積2(a)分解為深度卷積2(b)和1×1點向卷積2(c)。

  標准卷積層將DF×DF×M特征圖F作為輸入,並生成DF×DF×N特征圖G,其中DF是正方形輸入特征圖的空間寬度和高度,M是輸入通道的數量(輸入深度),DG是方形輸出特征圖的空間寬度和高度,N是輸出通道的數量(輸出深度)

  標准卷積層由大小為DK×DK×M×N的卷積核K進行參數化,其中DK是假定為正方形的核的空間尺寸,M是輸入通道數,N是輸出通道數,如先前定義 。  

  假設跨度為1和填充為標准卷積的輸出特征圖,計算公式為:

   其中計算成本乘以輸入通道數M,輸出通道數 N,內核大小 Dk*Dk 和特征圖大小DF * DF 。MobileNet模型解決了這些術語中的每一個及其相互作用。首先,它使用深度可分類卷積來打破輸出通道數與內核大小之間的相關作用。

   標准卷積運算具有對基於卷積核的特征進行過濾並組合特征以產生新表示的效果。可以通過使用稱為深度可分離卷積的因式分解將濾波和組合步驟分為兩步,以進行實質性還原 在計算成本上。

   深度可分離卷積由兩層組成:深度卷積和點卷積。 我們使用深度卷積對每個輸入通道(輸入深度)應用單個濾波器。 然后使用逐點卷積(簡單的1×1卷積)來創建深度層輸出的線性組合。 MobileNets對這兩個層都使用了batchnorm和ReLU非線性。

   簡單來說,每個輸入通道(輸入深度)帶有一個濾波器的深度卷積可以寫成下面:

   其中Khat表示深度卷積,卷積核為(Dk,  Dk, l,  M),其中 mth 個卷積核應用在F中第 mth 個通道上,產生 Ghat 上第 mth個通道輸出。

  深度卷積計算量為:Dk*Dk*M*Df*Df

  相對於標准於標准卷積,深度卷積非常有效。但是,它僅過濾輸入通道,不會將他們組合以創建新功能。因此,需要額外的一層來計算通過 1*1 卷積的深度卷積輸出的線性組合,以便生出這些新特征。

  深度卷積和 1*1 (點向)卷積的組合被稱為深度可分離卷積,最初在[26]中引入的。

   上面是深度卷積和1*1點卷積的總和。

  通過將卷積表示為過濾和組合的兩步過程,我們減少了以下計算:

   MobileNet使用 3*3 深度可分離卷積,使用的計算量比標准卷積稍8到9倍,而准確率僅略有降低,如第四節所述。

  在空間維度上進行額外的因式分解(例如在[16, 31])不會節省太多額外的計算,因為在深度卷積中只花費了很少的計算。

3.2,網絡結構與訓練

  如前一節所述,MobileNet結構建立在深度可分離卷積之上,第一層是完整卷積。通過以如此簡單的術語定義網絡,我們能夠輕松地探索網絡拓撲以找到一個好的網絡。表1中定義了MobileNet體系結構。所有層后面都帶有一個batchnorm [13]和ReLU非線性,最后一個完全連接的層除外,該層沒有非線性,並饋入softmax層進行分類。圖3將具有常規卷積,batchnorm和ReLU非線性的層與具有深度卷積,1×1點式卷積以及每個卷積層后的batchnorm和ReLU的分解層進行了對比。下采樣是在深度卷積以及第一層中通過跨步卷積處理的。最終平均池在完全連接的層之前將空間分辨率降低為1。將深度和點積卷積計為單獨的層,MobileNet有28層。

  僅用少量的Mult-Adds定義網絡是不夠的。確保這些操作可以有效實施也很重要。例如,直到非常高的稀疏度,非結構化稀疏矩陣運算通常不比密集矩陣運算快。我們的模型結構將幾乎所有計算都放入密集的1×1卷積中。這可以通過高度優化的通用矩陣乘法(GEMM)函數來實現。卷積通常由GEMM實現,但需要在內存中進行名為im2col的初始重新排序,才能將其映射到GEMM。例如,這種方法在流行的Caffe軟件包中使用[15]。 1×1卷積不需要在內存中進行重新排序,可以直接使用GEMM(這是最優化的數值線性代數算法之一)來實現。如表2所示,MobileNet將其95%的計算時間花費在1×1卷積中,其中也包含75%的參數。幾乎所有其他參數都位於完全連接的層中。

  使用RMSprop [33]在TensorFlow [1]中使用與Inception V3 [31]類似的異步梯度下降訓練了MobileNet模型。但是,與訓練大型模型相反,我們使用較少的正則化和數據增強技術,因為小型模型的過擬合麻煩較小。在訓練MobileNets時,我們不使用側邊或標簽平滑,並且通過限制大型Inception訓練中使用的小作物的大小來減少失真的圖像數量[31]。另外,我們發現,對深度過濾器進行很少或幾乎沒有權重衰減(l 2正則化)是很重要的,因為它們中的參數太少了。對於下一部分中的ImageNet基准,無論模型的大小如何,所有模型都使用相同的訓練參數進行訓練。

 3.3,寬度參數:更小的模型

  盡管基本的MobileNet體系結構已經很小且延遲很低,但很多情況下特定用例或應用可能要求模型變得更小,更快。為了構建這些更小且計算成本更低的模型,我們引入了一個非常簡單的參數 alpha,稱為 width乘數。寬度乘數 alpha 的作用是使每一層的網絡均勻變薄。對於給定的層和寬度乘數 alpha,輸入通道的數量變為 alphaM,而輸出通道的數量N變為 alphaN。具有寬度乘數 alpha 的深度可分離卷積的計算成本為:

    其中α∈(0,1],典型設置為1、0.75、0.5和0.25。α= 1是基准MobileNet,α<1是減少的MobileNets。寬度乘數具有減少計算成本和二次方參數數量的作用寬度乘數可以應用於任何模型結構,以合理的精度,等待時間和大小折衷來定義新的較小模型,用於定義需要從頭開始訓練的新的簡化結構。

  下圖為MobileNet的網絡構成,它的95%的時間是在 1*1 conv層上消耗的,另外 1*1 的conv參數也占了所有可訓練參數的 75%.

 3.4,分辨率因子:減少表示

   減少神經網絡計算成本的第二個超參數是分辨率乘數ρ。我們將其應用於輸入圖像,然后通過相同的乘數來減少每一層的內部表示。實際上,我們通過設置輸入分辨率來隱式設置ρ。現在,我們可以將網絡核心層的計算成本表示為具有寬度乘數α和分辨率乘數ρ的深度可分離卷積:

   其中ρ∈(0,1]通常是隱式設置的,因此網絡的輸入分辨率為224、192、160或128。ρ= 1是基准MobileNet,而ρ<1是簡化的計算MobileNets。將計算成本降低ρ2的效果。

  作為示例,我們可以查看MobileNet中的典型層,並了解深度可分離卷積,寬度乘數和分辨率乘數如何減少成本和參數。表3顯示了將體系結構收縮方法依次應用於該層時該層的參數的計算和數量。第一行顯示了完整卷積層的Mult-Adds和參數,輸入特征圖的大小為14×14×512,內核K的大小為3×3×512×512。我們將在下一部分中詳細介紹在資源和准確性之間進行權衡。

 4,實驗

  實驗部分主要研究以下部分:深度卷積的影響;寬度因子的影響‘兩個超參數的權衡;與其他模型對比;

  (翻譯意思:在本節中,我們首先研究深度卷積的影響以及通過減少網絡的寬度而不是層數來選擇收縮的方法。然后,我們基於兩個超參數(寬度因子和分辨率因子)顯示減少網絡的權衡,並將結果與許多留下的模型進行比較。然后,我們研究了MobileNets應用於許多不同的應用程序。)

4.1,模型選擇

  首先,我們展示了與具有完整卷積的模型相比,局域深度可分離卷積的MobileNet的結果。在表4中,我們看到與完全卷積相比,使用深度可分離卷積僅能在ImageNet上降低 1% 的精度,但是計算量和參數量降低了一個數量級。

  接下來,我們將比較使用寬度因子的較薄模型與使用較少圖層的較淺模型的結果。為了使MobileNet變淺,表1中刪除了五層特征尺寸為 14*14*512 的可分離濾波器。表5顯示,在類似的計算和參數數量下,使MobileNets變薄比使他們變淺好 3%。

 4.2 模型收縮超參數

  表6顯示了使用寬度因子 alpha 縮小 MobileNet 體系結構的精度,計算和尺寸折中。精度會平穩下降,直到架構縮小到 alpha=0.25為止。

  表7表示了通過訓練具有降低的輸入分辨率的MobileNet來獲得不同分辨率因子的精度,計算和尺寸的折中。精度在整個分辨率上都會下降。

  圖4顯示了用寬度因子 α∈{1、0.75、0.5、0.25}與分辨率{224、192、160、128}的叉積制成的16個模型在ImageNet精度和計算之間的權衡。當模型在α= 0.25時變得很小時,結果呈對數線性增長。

  圖5顯示了使用寬度因子α∈{1,0.75,0.5,0.25}和分辨率{224,192,160,128}的叉積制成的16個模型的ImageNet精度和參數數量之間的權衡。

  表8將完整的MobileNet與原始的GoogleNet [30]和VGG16 [27]進行了比較。 MobileNet的准確度幾乎與VGG16一樣,但要小32倍,而計算復雜度卻要低27倍。它比GoogleNet更准確,但體積更小,計算量減少了2.5倍以上。

  表9比較了減少后的MobileNet(寬度因子α= 0.5和降低后的分辨率160×160)。減少后的MobileNet比AlexNet [19]好4%,而計算量卻比AlexNet小45倍,少9.4 倍。在大約相同的大小和22倍以下的計算量下,它也比Squeezenet [12] 好4%。

 4.3 精細分類

  我們在Stanford Dogs dataset上訓練MobileNet進行細粒度識別[17]。 我們擴展了[18]的方法,並從網絡上收集了比[18]更大甚至更嘈雜的訓練集。 我們使用嘈雜的網絡數據來預訓練細粒度的狗識別模型,然后在斯坦福狗訓練集中對模型進行微調。 Stanford Dogs測試集的結果在表10中。通過大大減少的計算,MobileNet幾乎可以以大大減少的計算量和大小幾乎達到[18]的相同的精度。

 4.4  大規模地理定位

  PlaNet 是做大規模地理分類任務,該任務是確定照片在哪里被分類。該方法將地球划分用作目標類別的地理單元網格,並在數百萬張帶有地理標簽的照片上訓練卷積神經網絡。PlaNet已被證明可以成功地定位各種照片,並且勝過了解決同一任務的Im2GPS[6, 7]。

  我們使用MobileNet的框架重新設計了PlaNet ,對比如下:基於Inception V3架構的PlaNet有5200萬參數和574億的mult-adds,而基於MobileNet的PlaNet只有1300萬參數(300個是主體參數,1000萬是最后分類層參數)和58萬的mult-adds,相比之下,只是性能稍微受損,但還是比原Im2GPS效果好多了。

4.5,人臉屬性分類

   MobileNet的另一個用例是使用未知或深奧的訓練程序壓縮大型系統。在人臉屬性分類任務中,我們演示了MobileNet與蒸餾[9](一種用於深度網絡的知識轉移技術)之間的協同關系。我們力求減少具有7500萬個參數和16億個Mult-Adds的大型面部屬性分類器。分類器在類似於YFCC100M [32]的多屬性數據集上訓練。

  我們使用MobileNet架構提煉出人臉屬性分類器。蒸餾[9]通過訓練分類器來模擬較大模型的輸出2而不是地面真實標簽,從而可以從大型(可能無限)的未標記數據集中進行訓練。終端系統結合了蒸餾訓練的可擴展性和MobileNet的簡約參數化功能,不僅不需要規范化(例如重量衰減和提前停止),而且還展示了增強的性能。從Tab可以明顯看出。 12基於MobileNet的分類器可以抵御激進的模型收縮:它在屬性(平均AP)上實現了與內部相似的平均平均精度,而僅消耗了1%的Multi-Adds。

4.6,目標檢測

  MobileNet也可以部署為現代對象檢測系統中的有效基礎網絡。我們基於贏得2016年COCO調整【10】的最新工作,報告了針對COCO數據進行對象檢測訓練的MobileNet的結果。在表13中,在Faster-RCNN [23]和SSD [21]框架下,將MobileNet與VGG和Inception V2 [13]進行了比較。 在我們的實驗中,對SSD的輸入分辨率為300(SSD 300),並將Faster-RCNN與輸入分辨率分別為300和600(FasterRCNN300,Faster-RCNN 600)進行了比較。 Faster-RCNN模型每個圖像評估300個RPN建議框。 在不包括8k最小圖像的情況下,在COCO train + val上訓練模型,並在最小上進行評估。 對於這兩種框架,MobileNet都可以在計算復雜度和模型大小上實現一小部分的結果,與其他網絡相比。

4.7 人臉識別

  FaceNet 是現階段最先進的人臉識別模型【25】,它基於三重態損失(tripleloss)構建面部嵌入。為了建立移動FaceNet模型,我們使用蒸餾來通過最小化 FaceNet和MobileNet在訓練數據上的輸出的平方差來進行訓練。 基於MobileNet和蒸餾技術訓練出結果如下:

5,總結

  我們提出了一種基於深度可分離卷積的新模型架構,稱為MobileNets。我們調查了一些導致有效模型的重要設計決策。然后,然后,我們演示了如何通過權衡合理的精度以減少大小和延遲來使用寬度因子和分辨率因子來構建更小,更快的MobileNet。然后,我們將不同的MobileNet與流行的模型進行了筆記,這些模型展示了出色的尺寸,速度和准確性特征。最后,我們演示了MobileNet在應用於各種任務時的有效性。為了幫助采用和探索MobileNets的下一步,我們計划在TensorFlow中發布模型。

 

參考文獻:

https://www.zhihu.com/search?type=content&q=mobilenet

https://arxiv.org/pdf/1704.04861.pdf

https://blog.csdn.net/u011974639/article/details/79199306


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM