论文笔记:MobileNet v1
生活随笔
收集整理的這篇文章主要介紹了
论文笔记:MobileNet v1
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
原文:MobileNets: Efficient Convolutional Neural Networks for MobileVision Applications
MobileNet v1
1、四個問題
- 在現(xiàn)實場景下,諸如移動設備、嵌入式設備、自動駕駛等等,計算能力會受到限制,所以本文的目標就是構建一個小且快速(small and low latency)的模型。
- 提出了MobileNet架構,使用深度可分離卷積(depthwise separable convolutions)替代傳統(tǒng)卷積。
- 在MobileNet網(wǎng)絡中還引入了兩個收縮超參數(shù)(shrinking hyperparameters):寬度乘子(width multiplier)和分辨率乘子(resolution multiplier)。
- 在一系列視覺任務如ImageNet分類、細粒度分類、目標檢測等等上,顯著降低模型大小的同時也取得了不錯的效果。
2、網(wǎng)絡結構
2.1、Depthwise Separable Convolution
- Depthwise Separable Convolution實質上是將標準卷積分成了兩步:depthwise卷積和pointwise卷積,其輸入與輸出都是相同的。
- 假設輸入特征圖維度為:DF×DF×MD_F \times D_F \times MDF?×DF?×M,DFD_FDF?為輸入的寬/高,MMM為輸入通道數(shù)。
- 假設輸出特征圖維度為:DG×DG×ND_G \times D_G \times NDG?×DG?×N,DGD_GDG?為輸出的寬/高,NNN為輸出通道數(shù)。
- 假設卷積核尺寸為:Dk×DkD_k \times D_kDk?×Dk?,DkD_kDk?為卷積核的寬/高。
2.1.1、標準卷積
- 卷積核參數(shù)量:DK×Dk×M×ND_K \times D_k \times M \times NDK?×Dk?×M×N。
- 計算量(只計算乘法):Dk×Dk×M×N×DF×DFD_k \times D_k \times M \times N \times D_F \times D_FDk?×Dk?×M×N×DF?×DF?。
- 計算量(FLOPS,包括乘法和加法):(Dk×Dk×M+Dk×Dk×M?1)×N×DF×DF(D_k \times D_k \times M + D_k \times D_k \times M -1)\times N \times D_F \times D_F(Dk?×Dk?×M+Dk?×Dk?×M?1)×N×DF?×DF?。
- 注:為簡化起見,后面求解計算量時只考慮乘法,不考慮加法。
2.1.2、深度可分離卷積
- 分為兩部分:depthwise卷積和pointwise卷積。
- depthwise卷積:對每個輸入通道單獨使用一個卷積核處理。
- pointwise卷積:1×11 \times 11×1卷積,用于將depthwise卷積的輸出組合起來。
- 輸入:DF×DF×MD_F \times D_F \times MDF?×DF?×M,輸出:DF×DF×MD_F \times D_F \times MDF?×DF?×M,卷積核尺寸:Dk×DkD_k \times D_kDk?×Dk?。
- 卷積核參數(shù):分開為MMM個通道看,每個通道都是Dk×Dk×1×1D_k \times D_k \times 1 \times 1Dk?×Dk?×1×1,共Dk×Dk×MD_k \times D_k \times MDk?×Dk?×M。
- 計算量:Dk×Dk×M×DF×DFD_k \times D_k \times M \times D_F \times D_FDk?×Dk?×M×DF?×DF?。
- 理解:將輸入的特征圖(維度為:DF×DF×MD_F \times D_F \times MDF?×DF?×M)看做是MMM個DF×DF×1D_F \times D_F \times 1DF?×DF?×1的特征圖;對這MMM個DF×DF×1D_F \times D_F \times 1DF?×DF?×1的特征圖分別進行普通卷積(卷積核為:Dk×DkD_k \times D_kDk?×Dk?,輸入通道數(shù)為111,輸出通道數(shù)也為111)。實質上,這就是對卷積的通道數(shù)進行分組,然后對每組的特征圖分別進行卷積,是組卷積(group convolution)的一種擴展,每組只有一個特征圖。
- 輸入:DF×DF×MD_F \times D_F \times MDF?×DF?×M,輸出:DF×DF×ND_F \times D_F \times NDF?×DF?×N,卷積核尺寸:1×11\times 11×1。
- 卷積核參數(shù):1×1×M×N1 \times 1 \times M \times N1×1×M×N。
- 計算量:1×1×M×N×DF×DF1 \times 1 \times M \times N \times D_F \times D_F1×1×M×N×DF?×DF?。
- 理解:就是1×11 \times 11×1卷積,是普通的卷積操作。
Dk×Dk×M×DF×DF+1×1×M×N×DF×DF=(Dk×Dk+N)×M×DF×DFD_k \times D_k \times M \times D_F \times D_F + 1 \times 1 \times M \times N \times D_F \times D_F \\ = (D_k \times D_k + N) \times M \times D_F \times D_FDk?×Dk?×M×DF?×DF?+1×1×M×N×DF?×DF?=(Dk?×Dk?+N)×M×DF?×DF?
2.1.3、標準卷積與深度可分離卷積計算量的比較
- 只計算乘法操作:
- 標準卷積計算量:Dk×Dk×M×N×DF×DFD_k \times D_k \times M \times N \times D_F \times D_FDk?×Dk?×M×N×DF?×DF?。
- 深度可分離卷積計算量:(Dk×Dk+N)×M×DF×DF(D_k \times D_k + N) \times M \times D_F \times D_F(Dk?×Dk?+N)×M×DF?×DF?。
- 兩者之比:
- 通常MobileNet會使用卷積核為3×33 \times 33×3的深度可分離卷積,上面這個式子的結果就接近于19\frac{1}{9}91?,大約可以比普通卷積減少了8到9倍的計算量。
2.2、MobileNet結構
2.3、網(wǎng)絡參數(shù)、計算量分布
- MobileNet的大多數(shù)計算量(約95%)和參數(shù)(約75%)都在1×11 \times 11×1卷積中,剩余的大多數(shù)參數(shù)(約24%)都在全連接層中。
- 由于模型較小,可以減少正則化手段和數(shù)據(jù)增強,因為小模型相對不容易過擬合。
2.4、控制MobileNet模型大小的兩個超參數(shù)
- 用α\alphaα表示,該參數(shù)用于控制特征圖的維數(shù),即通道數(shù)。
- 對于深度可分離卷積,其計算量為:Dk×Dk×αM×DF×DF+1×1×αM×αN×DF×DFD_k \times D_k \times \alpha M \times D_F \times D_F + 1 \times 1 \times \alpha M \times \alpha N \times D_F \times D_FDk?×Dk?×αM×DF?×DF?+1×1×αM×αN×DF?×DF?
- 用ρ\rhoρ表示,該參數(shù)用于控制特征圖的寬/高,即分辨率。
- 對于深度可分離卷積,其計算量為:Dk×Dk×αM×ρDF×ρDF+1×1×αM×αN×ρDF×ρDFD_k \times D_k \times \alpha M \times \rho D_F \times \rho D_F + 1 \times 1 \times \alpha M \times \alpha N \times \rho D_F \times \rho D_FDk?×Dk?×αM×ρDF?×ρDF?+1×1×αM×αN×ρDF?×ρDF?
總結
以上是生活随笔為你收集整理的论文笔记:MobileNet v1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文笔记:孪生神经网络(Siamese
- 下一篇: 论文笔记:PPFNet