【模型解读】说说移动端基准模型MobileNets
文章首發于微信公眾號《與有三學AI》
【模型解讀】說說移動端基準模型MobileNets
這是深度學習模型解讀第4篇,本篇我們將介紹MobileNets。
作者&編輯?| 言有三
?
01 概述
Google開發的MobileNets【1】是用于嵌入式平臺計算機視覺應用的基準模型。MobileNets是流線型的架構,它使用depthwise sparable convolution(深度可分離卷積)來構建輕量級的深層神經網絡。通過引入兩個簡單的全局超參數,可實現在速度和準確度之間有效地進行平衡。這兩個超參數允許模型構建者根據問題的約束條件,為其應用選擇合適大小的模型。MobileNets應用在廣泛的場景中,包括物體檢測,細粒度分類,人臉屬性等。
?
02 Mobilenets結構
Mobilenets基本組成單元是depthwise sparable convolution+pointwise convolution,下圖是其組成結構圖。
我們可以看到它由3*3的通道分組卷積(depthwise separable convolution)加1*1的普通卷積(point wise convolution)組成。它的組成結構本質上就是Xception結構,如下圖。
從圖中可以看出,經過3*3深度卷積,每個通道的輸出信息只和之前的對應通道信息相關,而普通3*3卷積每個通道輸出信息和之前所有通道信息相關,這是它們的本質區別。
下面我們計算一下depthwise sparable convolution和普通卷積之間的計算量的比較,便于我們客觀理解depthwise sparable convolution的有效性。
假設輸入圖片是DF*DF*M,輸出圖片是DF*DF*N,卷積核尺度是DK*DK。
普通卷積計算量:
depthwise sparable convolution計算量:
兩個比值為:
一般情況下N比較大,當DK=3時,depthwise sparable convolution計算量僅為普通卷積計算量的1/9。
Mobilenets結構就是由這些depthwise sparable convolution+pointwise convolution線性疊加構成的。結構如下圖。
從圖中可以看出先是一個3*3普通卷積,然后是疊加depthwise sparable convolution+pointwise convolution,之后是全局均值池化,接著是全連接層,最后Softmax輸出。
下圖是MobileNets和各個網絡的比較。
可以看出在參數量減小的領先優勢之下,還能取的很高的準確率。
?
03 模型壓縮
可以通過定義width multiplier α(寬度乘數)和resolution multiplier ρ (分辨率乘數)兩個超參數,來實現不同版本的mobilenets,從而實現不同要求的模型壓縮。
1.第一個參數α主要是按比例減少通道數,其取值范圍為(0,1),α ∈?{1, 0.75, 0.5, 0.25} 的測試效果如下圖:
可以看出隨著α減小,準確率下降,參數量減小,速度提升。
2.第二個超參數ρ 主要是按比例改變輸入數據的分辨率。ρ 如果為{1,6/7,5/7,4/7},則對應輸入分辨率為{224,192,160,128}。測試效果如下圖:
可以看出,隨著分辨率下降,準確率下降,隨之速度加快。日常應用中,可以通過這兩個參數的選取來綜合考慮選擇模型。
模型分享到了第四篇,實習也到了尾聲即將殺入校招大軍,非常感謝鵬哥的幫助和指導。如果有朋友提供好的機會,歡迎后臺留言。
?
參考文獻
【1】Howard A G, Zhu M, Chen B, et al. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications[J]. 2017.
?
同時,在我的知乎專欄也會開始同步更新這個模塊,歡迎來交流
https://zhuanlan.zhihu.com/c_151876233
注:部分圖片來自網絡
—END—
轉載請留言,侵權必究
本系列的完整目錄:
【模型解讀】從LeNet到VGG,看卷積+池化串聯的網絡結構
【模型解讀】network in network中的1*1卷積,你懂了嗎
【模型解讀】GoogLeNet中的inception結構,你看懂了嗎
【模型解讀】說說移動端基準模型MobileNets
【模型解讀】pooling去哪兒了?
【模型解讀】resnet中的殘差連接,你確定真的看懂了?
【模型解讀】“不正經”的卷積神經網絡
【模型解讀】“全連接”的卷積網絡,有什么好?
【模型解讀】從“局部連接”回到“全連接”的神經網絡
【模型解讀】深度學習網絡只能有一個輸入嗎
【模型解讀】從2D卷積到3D卷積,都有什么不一樣
【模型解讀】淺析RNN到LSTM
感謝各位看官的耐心閱讀,不足之處希望多多指教。后續內容將會不定期奉上,歡迎大家關注有三公眾號 有三AI!
?
?
?
總結
以上是生活随笔為你收集整理的【模型解读】说说移动端基准模型MobileNets的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【模型解读】GoogLeNet中的inc
- 下一篇: 【模型解读】pooling去哪儿了?