Rethinking the smaller-norm-less-infromative assumption in channel pruning of convolution layers
摘要
模型修剪已經成為一種有用的技術,它提高了深度學習的計算效率,使得在資源有限的場景中部署解決方案成為可能。相關工作中廣泛使用的一種做法是,假設一個小的表單參數或特征在推理時發揮的信息作用較小。在本文中,我們提出了一種信道修剪技術來加速深度卷積神經網絡的計算,它并不依賴于這個假設。相反,它側重于直接簡化cnn的信道到信道計算圖,而不需要執行計算困難且不總是有用的任務,即使有線電視新聞網的高維張量結構化稀疏。我們的方法分兩個階段:首先采用端到端的隨機訓練方法,最終迫使某些通道的輸出保持不變,然后通過調整影響層的偏差,從原始神經網絡中刪除這些不變的通道,從而可以快速微調最終的壓縮模型。我們的方法從優化的角度來看非常吸引人,并且易于復制。我們通過幾個圖像學習基準測試了我們的方法,并展示了其有趣的方面和競爭性能
1.introduction
并非深度神經網絡中的所有計算都同等重要。在典型的深度學習管道中,專家創建一個神經架構,該架構使用準備好的數據集進行訓練。訓練深度模型的成功通常需要反復試驗,并且這種循環通常對神經網絡中發生的計算的優先級沒有多少控制。最近,研究人員開始為卷積神經網絡開發模型簡化方法,記住一些計算確實是非關鍵的或冗余的,因此可以安全地從訓練好的模型中移除,而不會顯著降低模型的性能。這種方法不僅提高了計算效率,而且有可能減輕模型的過擬合效應。然而,發現一個訓練有素的美國有線電視新聞網的哪些計算子集更適合刪減是不容易的。現有的方法可以從學習角度或計算角度進行分類。從學習的角度來看,一些方法使用數據無關的方法,其中訓練數據不幫助確定訓練的CNN的哪個部分應該被修剪,例如,何等人(2017)和張等人(2016),而其他方法使用數據相關的方法,通常通過聯合優化來生成修剪決策,例如,韓等人(2015)和安瓦爾等人(2017)。從計算的角度來看,有一些方法集中于將卷積或線性映射的密集權重設置為結構化稀疏,我們在這里提出了一種采用新概念的方法來有效地實現相同的目標
我們沒有將CNNs的計算視為位于不同層的獨立計算的集合,而是將其視為一個網絡流,通過不同層的不同通道將信息從輸入傳遞到輸出。我們認為,節省CNN的計算不僅是為了減少在單個層中計算的內容,而且可能更重要的是了解每個通道如何對底層傳遞圖中的整個信息流做出貢獻,以及刪除對該過程不太負責的通道。在Inspired by this new conception中,我們提出了一個“門”ateachchannelofaCNN,控制其接收到的信息是否經過處理后實際發送到其他通道。如果一個通道“門”關閉,它的輸出將始終是一個常數。事實上,每一個設計好的“門”都會有一個預先關閉的意圖,除非它有一個“強大”的職責,將它從輸入端接收到的一些信息發送到后續的層。我們發現在修剪中樞神經系統時實現這個想法是不復雜的,這將在第4節中詳細介紹。
我們的方法既沒有給現有的有線電視網引入任何額外的參數,也沒有改變其計算圖。事實上,它只是給現有的神經網絡梯度訓練帶來了邊際開銷。它還具有一個吸引人的特性,即可以在一輪資源密集型訓練中連續構建多個具有不同推理性能的緊湊模型(如在我們的實驗中)。這簡化了選擇在生產中部署的平衡模型的過程。很可能,我們的方法唯一的適用性約束是CNN中所有的卷積層和全連通層(除了最后一層)都應該被批量歸一化(Ioffe & Szegedy,2015)。考慮到批處理規范化已經成為設計最先進的深度學習模型的一個廣泛采用的要素,并且許多成功的CNN模型正在使用它,我們相信我們的方法具有廣泛的潛在影響。1
在本文中,我們從重新思考一個在現有渠道修剪工作中廣泛探索的基本假設開始。我們指出了成功實現這一假設的幾個問題和差距。然后,我們提出了我們的替代方法,它可以解決幾個數值難題。最后,我們在不同的基準上對我們的方法進行了實驗,并驗證了它的有用性和優勢。
2 RELATED WORK
減小神經網絡的規模以提高其在推理時的計算性能一直是神經網絡和深度學習領域的研究熱點。先鋒作品包括《最佳腦損傷》(勒昆等人,1990年)和《最佳腦外科醫生》(哈西比和斯托爾克,1993年)。最近的發展集中在要么降低所提供網絡的結構復雜性,要么從頭開始訓練一個緊湊或簡化的網絡。我們的工作可以分為前者,因此下面的文獻綜述圍繞著降低結構的復雜性。
為了降低深度學習模型的結構復雜性,以往的工作主要集中在稀疏化卷積核或網絡中多層特征圖的權值(Anwar et al., 2017;Han et al., 2015)。一些最近提出的努力,從專門硬件的實現角度出發,對這些矢量組件施加結構化稀疏性(Wen et al., 2016;Zhou et al., 2016;Alvarez & Salzmann, 2016;Lebedev & Lempitsky, 2016)。正如Molchanov et al.(2017)所指出的,基于正則化的修剪技術需要每層敏感性分析,這增加了額外的計算。他們的方法依賴于所有層的標準的全局縮放,不需要敏感性估計,這是我們的方法也具有的一個有益的特征。據我們所知,目前還不清楚這些著作在深度學習方面的應用有多廣泛。在第3節中,我們詳細討論了正則化剪枝技術的潛在問題,特別是那些正則化高維張量參數或使用基于量的剪枝方法的潛在問題。我們的方法通過將預期的剪枝操作僅約束到批標準化卷積層來解決上述問題。而不是在內核或特征映射上提出結構稀疏性,在批處理歸一化算子中,我們對標度參數γ加強了稀疏性。這就阻止了采樣信息通過卷積層的部分通道,實際上意味著可以安全地移除這些通道。
Huang和Wang(2017)最近的一項研究使用了與我們類似的技術,通過在原始網絡中引入額外的縮放因子來去除ResNet中不重要的殘留模塊。然而,在我們的論文中指出的一些優化細節并沒有得到很好的解釋。另一項名為Network-Slimming (Liu et al., 2017)的近期研究也旨在精簡批處理歸一化的縮放參數。我們提出了一種新的基于ISTA和縮放技巧的梯度學習算法,提高了算法的魯棒性和速度。特別是Liu et al.(2017)的工作能夠在ImageNet上修剪VGG-A模型。目前還不清楚他們的工作將如何處理γ-W重標效應,以及他們的方法是否能被采用到大型預訓練模型,如ResNets和Inceptions。我們用預先訓練過的ResNet-101進行了實驗,并與最近的工作進行了比較,這些工作在大型cnn上表現良好。我們還實驗了一個圖像分割模型,該模型有一個類似于初始化的模塊(在ImageNet上預先訓練過),用于定位前景目標。
總結
以上是生活随笔為你收集整理的Rethinking the smaller-norm-less-infromative assumption in channel pruning of convolution layers的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 视觉工程师面试指南_选择正确视觉效果的终
- 下一篇: Mysql查询(基于某酒店2000w条数