前言
由于記憶體和計算資源有限,在嵌入式裝置上部署卷積神經網絡 (CNN) 很困難。特征圖中的備援是那些成功的 CNN 的一個重要特征,但在神經架構設計中很少被研究。
論文提出了一種新穎的 Ghost 子產品,可以從廉價操作中生成更多的特征圖。提出的 Ghost 子產品可以作為即插即用的元件來更新現有的卷積神經網絡。堆疊Ghost Module建立了輕量級的 GhostNet。
GhostNet 可以實作比 MobileNetV3 更高的識别性能(例如 75.7% 的 top-1 準确率),并且在 ImageNet ILSVRC-2012 上具有相似的計算成本。
論文:GhostNet: More Features from Cheap Operations
代碼:https://github.com/huawei-noah/ghostnet.
歡迎關注公衆号 CV技術指南 ,專注于計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。
出發點
多年來,已經提出了一系列方法來研究緊湊型深度神經網絡,例如網絡剪枝、低位量化、知識蒸餾等。網絡剪枝修剪神經網絡中不重要的權重、利用正則化來修剪過濾器以獲得高效的 CNN; 低位量化将權重和激活量化為 1 位資料,以實作大的壓縮和加速比;知識蒸餾,将知識邊緣從較大的模型轉移到較小的模型。
然而,這些方法的性能通常受預訓練的神經網絡作為其基線的上限。

訓練好的深度神經網絡的特征圖中的豐富甚至備援資訊通常可以保證對輸入資料的全面了解。例如,上圖展示了 ResNet-50 生成的輸入圖像的一些特征圖,并且存在許多相似的特征圖對,就像彼此的幽靈。特征圖中的備援可能是成功的深度神經網絡的一個重要特征。我們傾向于采用它們,而不是避免備援的特征圖,但以一種具有成本低的方式。
這裡補充一句:一個訓好的正常大小的網絡中,存在大量的備援特征圖,模型剪枝(或模型壓縮)、正則化屬于減少備援特征圖的方式,而這篇論文認為這些備援資訊會對于正确識别或檢測具有重要的作用。
推薦閱讀《我們真的需要模型壓縮嗎》更好了解上面這段話。
主要貢獻
引入了一個新的 Ghost 子產品,通過使用更少的參數來生成更多的特征。 具體來說,深度神經網絡中的一個普通卷積層會被分成兩部分。第一部分涉及普通卷積,但它們的總數将受到嚴格控制。給定第一部分的内在特征圖,然後應用一系列簡單的線性操作來生成更多的特征圖。在不改變輸出特征圖的大小的情況下,與普通卷積神經網絡相比,這個 Ghost 子產品所需的總體參數數量和計算複雜度有所降低。
基于 Ghost 子產品,建立了一個高效的神經架構,即 GhostNet。 首先替換基準神經架構中的原始卷積層以證明 Ghost 子產品的有效性,然後驗證 GhostNets 在幾個基準視覺資料集上的優越性。
實驗結果表明,所提出的 Ghost 子產品能夠降低通用卷積層的計算成本,同時保持相似的識别性能,并且 GhostNets 可以在各種任務上超越SOTA高效深度模型,如 MobileNetV3 移動裝置上的快速推理。
Methods
Ghost module
如上圖所示,Ghost module先通過正常卷積,将input通道數減少,再通過一個depthwise卷積和identity(恒等變換)。
1. 前面的卷積既可以使用1x1卷積,也可以使用正常的3x3或5x5卷積。
2. 這裡的Φ即為cheap operation,既可以是depthwise卷積,也可以是其它方式的卷積,例如分組卷積。這部分的作用就是生成了相似特征圖。也就是前面說的,用成本更低的方式,保留了那些備援資訊。
3. 恒等映射與 Ghost 子產品中的線性變換并行以保留内在特征映射。
複雜度分析
假設我們輸入特征圖的尺寸是h*w*c,輸出特征圖的尺寸是h’*w’*n,卷積核大小為k*k。
在cheap operation變換中,我們假設特征圖的channel是m,變換的數量是s,最終得到的新的特征圖的數量是n,那麼我們可以得到等式:
n = m ∗ s
由于Ghost的變換過程中最後存在一個恒等變換(Identity),是以實際有效的變換數量是s-1,是以上式可以得到如下公式:
m ∗ ( s − 1 ) = n / s ∗ ( s − 1 )
是以,理論的速度比為:
理論的壓縮比為:
其中,s遠小于c。
GhostNet
Conclusion
本文來源于公衆号 CV技術指南 的論文分享系列。
歡迎關注公衆号 CV技術指南 ,專注于計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。
在公衆号中回複關鍵字 “技術總結”可擷取公衆号原創技術總結文章的彙總pdf。
其它文章
CV技術指南--精華文章彙總分類
神經網絡超參數的調參方法總結
輕量化模型系列--GhostNet:廉價操作生成更多特征
ICCV2021 | MicroNet:以極低的 FLOPs 改進圖像識别
CVPR2021 | 重新思考BatchNorm中的Batch
ICCV2021 | 重新思考視覺transformers的空間次元
CVPR2021 | Transformer用于End-to-End視訊執行個體分割
ICCV2021 |(騰訊優圖)重新思考人群中的計數和定位:一個純粹基于點的架構
卷積神經網絡的複雜度分析
2021年小目标檢測最新研究綜述
計算機視覺中的自注意力
綜述專欄 | 姿态估計綜述
漫談CUDA優化
為什麼GEMM是深度學習的核心
使用深度神經網絡為什麼8位足夠?
經典論文系列--膠囊網絡:新的深度學習網絡
經典論文系列 | 目标檢測--CornerNet & 又名 anchor boxes的缺陷
如何看待人工智能的泡沫
使用Dice loss實作清晰的邊界檢測
PVT--無卷積密集預測的多功能backbone
CVPR2021 | 開放世界的目标檢測
Siamese network總結
視覺目标檢測和識别之過去,現在及可能
在做算法工程師的道路上,你掌握了什麼概念或技術使你感覺自我提升突飛猛進?
計算機視覺專業術語總結(一)建構計算機視覺的知識體系
欠拟合與過拟合技術總結
歸一化方法總結
論文創新的常見思路總結
CV方向的高效閱讀英文文獻方法總結
計算機視覺中的小樣本學習綜述
知識蒸餾的簡要概述