-
縱覽輕量化卷積神經網絡:SqueezeNet诵棵、MobileNet制妄、ShuffleNet滑凉、Xception
實現(xiàn)輕量化技巧
輕量化主要得益于 depth-wise convolution番舆,解決「信息流通不暢」的問題吨凑,MobileNet 采用了 point-wise convolution捍歪,ShuffleNet 采用的是 channel shuffle户辱。MobileNet 相較于 ShuffleNet 使用了更多的卷積,計算量和參數量上是劣勢糙臼,但是增加了非線性層數庐镐,理論上特征更抽象,更高級了变逃;ShuffleNet 則省去 point-wise convolution必逆,采用 channel shuffle,簡單明了揽乱,省去卷積步驟名眉,減少了參數量。
MobileNet v1: 將普通卷積分解為depthwise separable Conv和pointwise Conv
講的很清楚的一篇CSDN博客:MobileNet原理+手寫python代碼實現(xiàn)
博客里面有兩張圖展示的非常清楚锤窑,但是copy不過來璧针,點到原文查看吧嚷炉。
[圖片上傳失敗...(image-185766-1532417276307)]
[圖片上傳失敗...(image-3acbaa-1532417276307)]
MobileNet V2: 為順利在v1基礎上引入shortcut渊啰,采用擴張-Conv-收縮+linear bottlenecks的block
講的很清楚的CSDN博客:輕量化網絡:MobileNet-V2
[圖片上傳失敗...(image-daef46-1532417392207)]
知乎專欄介紹
ShuffleNet V1: pointwise group conv 和channel shuffle。(后者是為了改善前者的信息流通不暢問題)
ShuffleNet V2:
網絡復雜度分析
時間復雜度(決定模型訓練&推斷的時間)
用模型的浮點運算次數(FLOPs, floating-point operations)來衡量申屹,一次浮點運算可定義為一次乘法和一次加法绘证。空間復雜度(決定模型參數數量)
只與卷積核的尺寸K*K, 通道數 C_in,C_out網絡的深度D有關哗讥,跟圖像大小無關嚷那。
參數越多,訓練所需的數據越大杆煞,而實際中往往是小數據魏宽,容易過擬合。
科普帖:深度學習中GPU和顯存分析 - 陳云的文章 - 知乎
其它資料
GPU組前三名都采用YOLO-v2作為baseline
Paper list
- Rethinking Numerical Representations for Deep Neural Networks (arxiv)
Floating-point表示比fixed-point表示更有效决乎。為DNN引入定制化精度队询,能在損失不到1%精度的情況下平均獲得7.6倍的加速。