輕量化模型系列–GhostNet:廉價操作生成更多特徵
- 2021 年 9 月 14 日
- 筆記
前言
由於記憶體和計算資源有限,在嵌入式設備上部署卷積神經網路 (CNN) 很困難。特徵圖中的冗餘是那些成功的 CNN 的一個重要特徵,但在神經架構設計中很少被研究。
論文提出了一種新穎的 Ghost 模組,可以從廉價操作中生成更多的特徵圖。提出的 Ghost 模組可以作為即插即用的組件來升級現有的卷積神經網路。堆疊Ghost Module建立了輕量級的 GhostNet。
GhostNet 可以實現比 MobileNetV3 更高的識別性能(例如 75.7% 的 top-1 準確率),並且在 ImageNet ILSVRC-2012 上具有相似的計算成本。
論文:GhostNet: More Features from Cheap Operations
程式碼://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. 前面的卷積既可以使用1×1卷積,也可以使用正常的3×3或5×5卷積。
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。
其它文章