【論文學習】輕量級網路——MobileNetV3終於來了(含開原始碼)
論文名稱:《Searching for MobileNetV3》
感謝github上大佬們開源,開原始碼整理如下:
(1)PyTorch實現1:https://github.com/xiaolai-sqlai/mobilenetv3
(2)PyTorch實現2:https://github.com/kuan-wang/pytorch-mobilenet-v3
(3)PyTorch實現3:https://github.com/leaderj1001/MobileNetV3-Pytorch
(4)Caffe實現:https://github.com/jixing0415/caffe-mobilenet-v3
(5)TensorFLow實現:https://github.com/Bisonai/mobilenetv3-tensorflow
輕量化網路
從SqueezeNet開始模型的引數量就不斷下降,為了進一步減少模型的實際運算元(MAdds),MobileNetV1利用了深度可分離卷積提高了計算效率,而MobileNetV2則加入了線性bottlenecks和反轉殘差模組構成了高效的基本模組。隨後的ShuffleNet充分利用了組卷積和通道shuffle進一步提高模型效率。CondenseNet則學習保留有效的dense連線在保持精度的同時降低,ShiftNet則利用shift操作和逐點卷積代替了昂貴的空間卷積。
MobileNetV3
時隔一年,谷歌在arXiv上公佈了MobileNetV3論文,詳細介紹了MobileNetV3的設計思想和網路結構。下面一起來膜拜一下大佬們的思想!
整體來說MobileNetV3有兩大創新點
(1)互補搜尋技術組合:由資源受限的NAS執行模組級搜尋,NetAdapt執行區域性搜尋。
(2)網路結構改進:將最後一步的平均池化層前移並移除最後一個卷積層,引入h-swish啟用函式。
1、MobileNetV3 block
上面兩張圖是MobileNetV2和MobileNetV3的網路塊結構。可以看出,MobileNetV3是綜合了以下三種模型的思想:MobileNetV1的深度可分離卷積(depthwise separable convolutions)、MobileNetV2的具有線性瓶頸的逆殘差結構(the inverted residual with linear bottleneck)和MnasNet的基於squeeze and excitation結構的輕量級注意力模型。
綜合了以上三種結構的優點設計出了高效的MobileNetV3模組。
2、 互補搜尋技術組合
(1)資源受限的NAS(platform-aware NAS):計算和引數量受限的前提下搜尋網路的各個模組,所以稱之為模組級的搜尋(Block-wise Search)。
(2)NetAdapt:用於對各個模組確定之後網路層的微調。
對於模型結構的探索和優化來說,網路搜尋是強大的工具。研究人員首先使用了神經網路搜尋功能來構建全域性的網路結構,隨後利用了NetAdapt演算法來對每層的核數量進行優化。對於全域性的網路結構搜尋,研究人員使用了與Mnasnet中相同的,基於RNN的控制器和分級的搜尋空間,並針對特定的硬體平臺進行精度-延時平衡優化,在目標延時(~80ms)範圍內進行搜尋。隨後利用NetAdapt方法來對每一層按照序列的方式進行調優。在儘量優化模型延時的同時保持精度,減小擴充層和每一層中瓶頸的大小。
3、網路結構的改進
MobileNetV2模型中反轉殘差結構和變數利用了1*1卷積來構建最後層,以便於擴充到高維的特徵空間,雖然對於提取豐富特徵進行預測十分重要,但卻引入了二外的計算開銷與延時。為了在保留高維特徵的前提下減小延時,將平均池化前的層移除並用1*1卷積來計算特徵圖。特徵生成層被移除後,先前用於瓶頸對映的層也不再需要了,這將為減少10ms的開銷,在提速15%的同時減小了30m的運算元。
h-swish啟用函式
作者發現swish啟用函式能夠有效提高網路的精度。然而,swish的計算量太大了。作者提出h-swish(hard version of swish)如下所示
h-swish如圖所示
這種非線性在保持精度的情況下帶了了很多優勢,首先ReLU6在眾多軟硬體框架中都可以實現,其次量化時避免了數值精度的損失,執行快。這一非線性改變將模型的延時增加了15%。但它帶來的網路效應對於精度和延時具有正向促進,剩下的開銷可以通過融合非線性與先前層來消除。
4、MobileNetV3網路結構
作者提出了MobileNetV3-Large和MobileNetV3-Small兩種不同大小的網路結構。如下圖所示
MobileNet-v3 small網路結構
5、實驗結果
(1)ImageNet分類實驗結果
(2)在SSDLite目標檢測演算法中精度
(3)用於語義分割
(4)效能比較結果
文章看完還是感覺很棒的,歡迎大家一起學習交流!
相關文章
- 深度學習論文和開原始碼深度學習原始碼
- 網上花店論文-基於jsp開發(含原始檔)JS
- 終於,我也來學習VUE了Vue
- 深度學習論文翻譯解析(十九):Searching for MobileNetV3深度學習
- 用子圖網路補充原始網路特徵 | 圖學習論文快訊特徵
- 畢業論文(基於jsp的論壇開發)(含原始檔)JS
- 網路表述學習經典論文——DeepWalk
- 輕量級C#網路通訊元件StriveEngine —— C/S通訊開源demo(附原始碼)C#元件原始碼
- core_framework —— 基於libev的輕量級lua網路開發框架Framework框架
- 查詢論文原始碼網站原始碼網站
- 終於把網站搭建起來了網站
- 谷歌開源TFGAN:輕量級生成對抗網路工具庫谷歌
- 阿里開源!輕量級深度學習端側推理引擎 MNN阿里深度學習
- [阿里DIN]從論文原始碼學習 之 embedding_lookup阿里原始碼
- 20篇頂級深度學習論文(附連結)深度學習
- 《科學》封面重磅論文:人工智慧終於能像人類一樣學習人工智慧
- 論文學習
- 適合移動端的輕量級網路
- 《Java EE網際網路輕量級框架整合開發》讀書筆記Java框架筆記
- CQRS輕量級框架【CQRSlite】學習使用小記框架
- 來聊聊原始碼學習原始碼
- sal原始碼解析-輕量級的滾動動畫庫原始碼動畫
- [譯文]greenlet:輕量級併發程式
- 高三學生憑神經網路論文研究網路暴力!00後也要出道了?神經網路
- mediakit 原始碼 輕微微 學習總結原始碼
- 深度學習論文閱讀路線圖深度學習
- 關於原始碼學習原始碼
- SqueezeNet/SqueezeNext簡述 | 輕量級網路
- 輕量級卷積神經網路的設計卷積神經網路
- Facebook在NAS領域的輕量級網路探索
- Elon Musk的太空網際網路要來了!(含視訊)
- Android 輕量級ORM資料庫開源框架ActiveAndroid 原始碼分析AndroidORM資料庫框架原始碼
- ZGC論文學習GC
- 它來了它終於來了- Beego 1.12.2Go
- 京東小程式開放平臺終於來了~
- Win8.1開始選單終於來了!
- 深度學習用於文字摘要的論文及程式碼集錦深度學習
- 終於有人把網路爬蟲講明白了爬蟲