1. 程式人生 > >深度學習——淺談CNN模型壓縮技術

深度學習——淺談CNN模型壓縮技術

模型壓縮的動機

  最近幾年,CNN已經成為了計算機視覺任務的主要技術手段,在影象分類、目標檢測、深度估計、語義分割等方向都大放異彩。越來越大的資料集和越來越強的計算裝置允許研究者不斷探索更深更復雜的網路模型,例如從AlexNet、VGGNet到GOOGleNet、ResNets。ImageNet分類比賽的冠軍已經將模型由8層提高到了100+層。可是,越複雜的模型越是會佔用越多資源,例如,用152-layer的ReNet對解析度為224×224的圖片推理時,會產生6千萬的引數,需要20G次的浮點操作(FLOPs)。這樣的網路根本不可能移植到計算能力相對較差的平臺上,比如手機、可穿戴裝置。所以要想讓產品落地,模型壓縮是必不可少的一環,這也是近兩年模型壓縮技術越來越受關注的原因。
  所謂壓縮模型,無非是從這三個方向入手:

  1. 減小模型大小
  2. 減小執行時的記憶體佔用
  3. 降低計算操作的數量

壓縮技術分類

  近年來出現的壓縮技術可歸類到這幾個方面:

  1. 低秩分解
  2. 知識蒸餾
  3. 權值量化、二值化
  4. 權重剪枝、稀疏化
  5. 結構剪枝、稀疏化
  6. 新型的網路

相關論文解析

  這裡只是把看到的和研究過的羅列到這裡,以後看了新論文會再加進去。
  Channel_leavl Sparsity:

  1. Learning Efficient Convolutional Networks through Network Slimming

總結

  光說不練假把式,復現論文才是理解模型的直接方法,我會把自己對上面一些論文的復現放到GitHub,程式碼水平有限,望多批評指正。