模型輕量化


1. 輕量化網絡

參考: https://zhuanlan.zhihu.com/p/35405071

 

Mobilenet v1核心是把卷積拆分為Depthwise+Pointwise兩部分。

圖5

為了解釋Mobilenet,假設有 [公式] 的輸入,同時有 [公式] 個 [公式] 的卷積。如果設置 [公式] 且 [公式] ,那么普通卷積輸出為 [公式] ,如圖6。

圖6 普通3x3卷積,k=2

Depthwise是指將 [公式] 的輸入分為 [公式] 組,然后每一組做 [公式]卷積,如圖7。這樣相當於收集了每個Channel的空間特征,即Depthwise特征。

圖7 depthwise卷積,g=k=3

Pointwise是指對 [公式] 的輸入做 [公式] 個普通的 [公式] 卷積,如圖8。這樣相當於收集了每個點的特征,即Pointwise特征。Depthwise+Pointwise最終輸出也是 [公式] 。

圖8 pointwise卷積,k=2

這樣就把一個普通卷積拆分成了Depthwise+Pointwise兩部分。其實Mobilenet v1就是做了如下轉換,如圖9:

  • 普通卷積:3x3 Conv+BN+ReLU
  • Mobilenet卷積:3x3 Depthwise Conv+BN+ReLU 和 1x1 Pointwise Conv+BN+ReLU

圖9

那這樣做有什么好處?對比一下不同卷積的乘法次數:

  • 圖6 普通卷積計算量為: [公式]
  • 圖7 Depthwise計算量為: [公式]
  • 圖8 Pointwise計算量為: [公式]

通過Depthwise+Pointwise的拆分,相當於將普通卷積的計算量壓縮為:

[公式]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM