Pytorch實作系列 — MobileNet v3

mz bai
May 10, 2024

--

MobileNet是由Howard et al.(2019, Google)在 Searching for MobileNetV3 提出,是以MNasNet為基礎,提出新的mobilenet結構。

MobileNet v1 & v2 可參考

網路概念

MobileNet v3 是基於當時Google熱衷的Neural architecture search(NAS)技術所開發,利用MNasNet的作為基礎模型,並輔以NetAdapt方法搜尋每一層的參數,準確率與延遲時間做為目標,期望能在不同資源平台皆可使用的情境下設計這個新的網路。

網路結構

這一代有幾個小改動,例如

v2的inverted residual block,在這一代改用MNasNet含有SE的版本,相較一般SE是用在殘差支線的尾端,v3是加在depthwise layer後面,且使用hard sigmoid取代sigmoid來簡化計算。

MobileNet v3 inverted residual block has SE structure, image from paper[1905.02244]

原先MNasNet也刪減接近預測頭的一部份卷積模組,因此提高計算效率。

MobileNet v3 last stage from paper[1905.02244]

非線性激活函數也分為relu跟hard swish兩種,取代掉v2加入的relu6。hard swish使用relu6取代掉sigmoid減少計算量,而函數形式沒有太大變化。

swish formula
hard swish formula
hard sigmoid & hard swish from paper[1905.02244]

模型大小也分為large跟small以利不同場景使用。

MobileNet v3 large
MobileNet v3 small

資料集

GTSRB,一個有兩萬六千多張照片的德國交通號誌辨識資料集,共43種標記。

評估

v3 Large 的準確率達87.5%,約比v2低,可能是模型較大的緣故。模型大小為18MB,是v2的兩倍。

mobilenet v3 large confusion matrix

實作

參考

--

--

mz bai
mz bai

Written by mz bai

Math is math, math is universal Code is code, code is horrifying unique.

No responses yet