Mobilenet v1/2和Shufflenet v1/v2

好久沒寫深度學習方面的文章了,偷閒再寫一篇

衡量指標

  • FLOPS:floating point operations per second,每秒浮點運算次數,理解爲計算速度。是一個衡量硬件性能的指標。
  • FLOPs:floating point operations,浮點運算數,理解爲計算量。可以用來衡量算法/模型的複雜度。
  • MACC: Multiply–accumulate operation,乘加操作次數,可以視爲 1 MACC = 2 FLOPs (2*MACC=FLOPs)

Mobilenet v1

Mobilenet v1的核心就是講標準的卷積分成depthwise conv和pointwise conv(1x1 conv),也即是文中說的Depthwise Separable Convolution。Depthwise Convolution是每個通道自己卷積,pointwise conv即是1x1卷積
在這裏插入圖片描述在這裏插入圖片描述

參數變化:In * k * k * Out -------------------> k * k * In + 1 * 1 * In * out
計算量變化:In * k * k * H * W * Out -------------------> k * k * H * W * in+ 1 * 1 * H * W * In * out
在這裏插入圖片描述N是輸出channel,Dk是kernel size

在這裏插入圖片描述

Shufflenet v1

Mobilenet v1減少了3x3的卷積計算量,這時1x1成了瓶頸。
在這裏插入圖片描述
這時Shuffle net將1x1卷積變成group conv,depthwise conv可以看出group爲1的group conv,但是利用group conv後group與group之間沒有任何信息溝通對精度損失嚴重,因此需要shuffle一下輸出的channel
在這裏插入圖片描述
注意DW後無relu,因爲RELU對信息的損失是比較嚴重的
在這裏插入圖片描述

Mobilenet v2

貢獻就是提出了逆向的殘差結構(Inverted residuals)
在這裏插入圖片描述

(1)ResNet的殘差結構是0.25倍降維,MobileNet V2殘差結構是6倍升維。MobileNet v2由於有depthwise conv,通道數相對較少,所以殘差中使用 了6倍的升維。

(2)ResNet的殘差結構中33卷積爲普通卷積,MobileNet V2中33卷積爲depthwise conv
(relu6是6之後截斷都輸出6)

在這裏插入圖片描述

(1)v2版本在進入3*3卷積之前,先進行了1*1pointwise conv升維,並且經過RELU。

(2)1*1卷積出去後,沒有進行RELU操作

Shufflenet v2

論文指出單純的乘加運算FLOPs並不能完全表示模型的運算速度,訪存開銷memory access cost(MAC)也應該考慮進去。
利用MAC( memory access cost)指導設計

  • 輸入輸出通道相同-最小化內存訪問量
  • 過量使用組卷積會增加MAC
  • 網絡碎片化會降低並行度(例如Inception)
  • 不能忽略Element操作,雖然具有比較小的FlOPs數,但是卻有比較大的訪存MAC

最終結論:

  • 使用平衡的卷積,(相同的輸入,輸出通道數)
  • 組卷積的group數要謹慎設計
  • 減少網絡的並行度,減少碎片化
  • 減少Element-wise 操作
    在這裏插入圖片描述
    前2個模塊爲ShuffleNet V1中的模塊,(a)爲傳統模塊,(b)爲下采樣模塊
    後2個模塊爲ShuffleNet V2中的模塊,(c)爲傳統模塊,(d)爲下采樣模塊

V2和V1模塊設計的區別:

  • v2中的傳統模塊增加了channel split,假設原始輸入通道數爲c,將通道分成了c-c’和c’兩個通道,實驗中,c’=c/2 這種設計是爲了儘量控制分支數,爲了滿足G3。
  • 傳統模塊中將add操作轉化爲concat操作,有助於增加信息量,減少運算量
  • 將Group conv換成了普通的conv,可以減少group數,減少MAC
  • 將channle shuffle操作移到後面來做, 在堆疊ShuffleNet v2的時候,通道拼接,通道洗牌和通道分割可以合併成1個element-wise操作,也是爲了滿足G4。
  • RELU的有無有些區別

在這裏插入圖片描述


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章