Abstract
我們?yōu)橐苿?dòng)和嵌入式視覺(jué)應(yīng)用提供了一類名為MobileNets的高效模型。 MobileNets基于流線型架構(gòu),使用深度可分離的卷積來(lái)構(gòu)建輕量級(jí)深度神經(jīng)網(wǎng)絡(luò)。 我們介紹了兩個(gè)簡(jiǎn)單的全局超參數(shù),可以在延遲和準(zhǔn)確性之間進(jìn)行有效折衷。 這些超參數(shù)允許模型構(gòu)建者根據(jù)問(wèn)題的約束為其應(yīng)用程序選擇合適大小的模型。 我們?cè)谫Y源和精度折衷方面提出了大量實(shí)驗(yàn),并且與ImageNet分類上的其他流行模型相比顯示出強(qiáng)大的性能。 然后,我們演示MobileNets在各種應(yīng)用和用例(包括對(duì)象檢測(cè),細(xì)粒分類,人臉屬性和大規(guī)模地理定位)中的有效性。
1. Introduction
自從AlexNet贏得ImageNet挑戰(zhàn):ILSVRC 2012以來(lái),卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺(jué)領(lǐng)域一直處于無(wú)處不在的地步。 總體趨勢(shì)是為了實(shí)現(xiàn)更高的精確度而做出更深更復(fù)雜的網(wǎng)絡(luò)“。然而,提高準(zhǔn)確性的這些進(jìn)步并不一定使網(wǎng)絡(luò)在尺寸和速度方面更高效。 在諸如機(jī)器人,自動(dòng)駕駛汽車(chē)和增強(qiáng)現(xiàn)實(shí)等許多現(xiàn)實(shí)世界的應(yīng)用中,識(shí)別任務(wù)需要在計(jì)算有限的平臺(tái)上及時(shí)進(jìn)行。
這篇文章描述了一個(gè)高效的網(wǎng)絡(luò)架構(gòu)和一個(gè)兩個(gè)超參數(shù)的集合來(lái)構(gòu)建一個(gè)特別小,低延時(shí)的模型,可以被很簡(jiǎn)單地用來(lái)匹配手機(jī)和嵌入式視覺(jué)應(yīng)用的需要。第二節(jié)回顧了先前在建立小模型上的工作。第三節(jié)描述了MobileNet架構(gòu)和兩個(gè)超參數(shù)寬度乘法器和分辨率乘法器,以定義更小更高效的MobileNets.第四節(jié)描述了ImageNet上的實(shí)驗(yàn)以及各種不同的應(yīng)用和用例。 第五節(jié)以總結(jié)和結(jié)論結(jié)束。
2. Prior Work
分類:
- 壓縮預(yù)分類的網(wǎng)絡(luò)
- 直接訓(xùn)練小網(wǎng)絡(luò)
本文提出了一類網(wǎng)絡(luò)體系結(jié)構(gòu),允許模型開(kāi)發(fā)人員專門(mén)選擇與其應(yīng)用程序的資源限制(延遲,大小)相匹配的小型網(wǎng)絡(luò)。移動(dòng)網(wǎng)絡(luò)主要專注于優(yōu)化延遲,但也產(chǎn)生小型網(wǎng)絡(luò)。 許多關(guān)于小型網(wǎng)絡(luò)的論文只關(guān)注尺寸,但不考慮速度。
MobileNets主要是由中最初引入的深度可分離卷積構(gòu)建的,隨后用于Inception模型以減少前幾層中的計(jì)算。 分形網(wǎng)絡(luò)利用完全因式分解的卷積建立了一個(gè)網(wǎng)絡(luò),并展示了極端因式分解網(wǎng)絡(luò)的潛力。分解網(wǎng)絡(luò)與當(dāng)前論文無(wú)關(guān),引入了類似的分解卷積以及拓?fù)溥B接的使用。 隨后,Xception網(wǎng)絡(luò)演示了如何擴(kuò)展深度可分離濾波器以執(zhí)行Inception V3網(wǎng)絡(luò)。 另一個(gè)小型網(wǎng)絡(luò)是Squeezenet ,它使用瓶頸方法來(lái)設(shè)計(jì)一個(gè)非常小的網(wǎng)絡(luò)。 其他簡(jiǎn)化的計(jì)算網(wǎng)絡(luò)包括structured transform networks和deep fried convnets.
獲得小型網(wǎng)絡(luò)的另一種方法是縮小,分解或壓縮預(yù)訓(xùn)練網(wǎng)絡(luò)。基于產(chǎn)品量化,哈希,并在文獻(xiàn)中提出了修剪,矢量量化和霍夫曼編碼。 此外還提出了各種分解因子來(lái)加速預(yù)訓(xùn)練網(wǎng)絡(luò)。 另一種培訓(xùn)小型網(wǎng)絡(luò)的方法是蒸餾,它使用更大的網(wǎng)絡(luò)來(lái)教授更小的網(wǎng)絡(luò)。 它對(duì)我們的方法是一種補(bǔ)充,并在第4節(jié)的一些用例中進(jìn)行了介紹。另一種新興的方法是低位網(wǎng)絡(luò)。
3. MobileNet Architecture
在本節(jié)中,我們首先描述MobileNet構(gòu)建的核心層,它們是深度可分離的過(guò)濾器。然后描述MobileNet網(wǎng)絡(luò)結(jié)構(gòu),并結(jié)束對(duì)兩個(gè)模型縮小超參數(shù)寬度乘法器和分辨率乘法器的描述。
3.1 Depthwise Separable Convolution
MobileNet模型基于深度可分卷積,這是一種分解卷積的形式,它將標(biāo)準(zhǔn)卷積分解為深度卷積和被稱為逐點(diǎn)卷積的1×1卷積。深度卷積為每個(gè)輸入頻道提供一個(gè)單過(guò)濾器,逐點(diǎn)卷積之后提供一個(gè)1×1卷積去連接深度卷積的輸出。一個(gè)標(biāo)準(zhǔn)卷積既能過(guò)濾,又能將輸入連接成一個(gè)新的輸出集。深度可分卷積將這分離成兩層,一個(gè)獨(dú)立層來(lái)分離,另一個(gè)獨(dú)立層連接。這種分離大幅減小了計(jì)算和模型大小。圖2展示了一個(gè)標(biāo)準(zhǔn)卷積如何被分成一個(gè)深度卷積和逐點(diǎn)卷積。
A standard convolution layer takes as input a DF × DF × M feature map F and produces a DF × DF × N feature map G where DF is the spatial width and height of a square input feature map, M is the number of output channel(outut depth).
標(biāo)準(zhǔn)卷積層通過(guò)大小為DKDKM*N的卷積核K參數(shù)化。
標(biāo)準(zhǔn)卷積的輸出特征映射假定跨度為1并且填充值計(jì)算如下:
以乘積的關(guān)系依賴于M,N,Dk × Dk,
DF × DF. MobileNet模型解決了這些是事項(xiàng)及其交互中的每一個(gè)。 首先它使用深度可分離的卷積來(lái)打破輸出通道數(shù)量和內(nèi)核大小之間的相互作用。
標(biāo)準(zhǔn)卷積操作具有基于卷積核和特征組合來(lái)過(guò)濾特征以產(chǎn)生新的表示的效果。過(guò)濾和組合步驟可以被分解成兩步,通過(guò)叫做深度可分卷積的被分解卷積的使用,來(lái)顯著減小計(jì)算量。
3.2 Network Structure and Training
3.3 Width Multiplier: Thinner Models
寬度乘數(shù)可應(yīng)用于任何模型結(jié)構(gòu),從而以合理的精度,延遲和大小權(quán)衡來(lái)定義新的較小模型。 它被用來(lái)定義一個(gè)新的需要從頭開(kāi)始進(jìn)行訓(xùn)練的簡(jiǎn)化模型。
3.4 Resolution Multiplier: Reduced Repersentation
4. Experiments
5. Conclusion
我們基于深度可分卷積提出了一個(gè)新的模型架構(gòu)叫做MobileNets.我們研究了一些重要的設(shè)計(jì)決定,來(lái)引導(dǎo)出一個(gè)高效的模型。然后,我們演示了如何使用寬度乘法器和分辨率乘法器構(gòu)建更小更快的MobileNets,并通過(guò)折中合理的精度來(lái)減小尺寸和延遲。然后,我們將不同的MobileNets與流行的模型進(jìn)行比較,展示出優(yōu)越的尺寸,速度和準(zhǔn)確度特征,我們最后證明了MobileNet在應(yīng)用于各種任務(wù)時(shí)的有效性。 作為幫助采用和探索MobileNets的下一步,我們計(jì)劃在TensorFlow中發(fā)布模型。