來自北京郵電大學的研究人員開發了一種AI模型壓縮算法,可以讓深度學習的運算不再依賴高昂的計算和存儲設備,保持模型的識別精度無損的前提下,顯著降低模型的計算復雜度,本文帶來技術解讀。
人工智能在眾多計算機視覺領域都取得了很大的成功,然而深度學習(Deep Learning)因其計算復雜度或參數冗余,在一些場景和設備上限制了相應的模型部署,需要借助模型壓縮、優化加速、異構計算等方法突破瓶頸。
研究人員稱,模型壓縮算法能夠有效降低參數冗余,從而減少存儲占用、通信帶寬和計算復雜度,有助于深度學習的應用部署。通道剪枝(Channel Pruning)通過移除神經網絡中冗余通道,達到加速神經網絡推理過程和壓縮模型體積的效果,還可以獲得實際的加速效果,然而當前基于結構正則化的通道剪枝方法忽略了神經網絡中連續層之間的關聯關系。
人工智能領域頂會CVPR于2019年6月在美國加利福利亞州召開,在這篇由北京郵電大學網絡智能研究中心、東信北郵EB Lab合作完成的論文中,作者考慮了網絡中連續層之間的關聯關系,提出了OICSR方法,將結構正則化同時運用于連續網絡層中相互對應的out-channels和in-channels,從而可以在更小的精度損失下,移除更多的冗余通道。在對指標影響較小的情況下,極大地提升深度學習模型的運行效率。以下為論文詳細解讀。
基于Out-In-Channel結構稀疏正則化的神經網絡通道剪枝
李家仕,戚琦,王敬宇+,戈策,李鈺劍,岳章章,孫海峰
1,網絡與交換國家重點實驗室,北京郵電大學
一種新的結構正則化形式
人工智能在眾多計算機視覺領域都取得了很大的成功,然而深度學習高昂的計算和存儲需求嚴重阻礙了其被大規模地部署于移動設備和嵌入式裝置。通道剪枝(Channel Pruning)是一類很經典的網絡輕量化方法,通過移除神經網絡中冗余通道的全部可訓練參數和激活值,可以同時達到加速神經網絡推理過程和壓縮模型體積的效果。由于對神經網絡進行通道剪枝后獲得的是結構化稀疏的網絡,因此不需要特殊的硬件支持就可以獲得實際的加速效果。
目前很多網絡輕量化的工作[1,2,3]利用結構稀疏正則化(下文簡稱為結構正則化)來對神經網絡進行通道剪枝。如公式1所示,這類方法通過在訓練過程中加入結構正則化來對網絡權重進行結構化約束,使得訓練過程中神經網絡不同通道的重要性分離開來。在剪枝過程中,網絡中重要的通道得以繼續保存,而更多冗余的通道可以在不損失網絡精度的情況下被安全的移除。
然而當前基于結構正則化的通道剪枝方法將結構正則化分離地應用于神經網絡中的各個層的out-channels,忽略了神經網絡中連續層之間的關聯關系,本研究稱之為分離式的結構正則化。
本研究提出了一種新的結構正則化形式Out-In-Channel Sparsity Regularization (OICSR)來克服分離式結構正則化的缺陷。OICSR充分考慮了網絡中連續層之間的關聯關系,將結構正則化同時運用于連續網絡層中相互對應的out-channels和in-channels,從而可以在更小的精度損失下移除更多的冗余通道。
Out-In-Channel結構稀疏正則化
連續兩層網絡的關聯關系如圖1所示,本研究用相同的顏色來標識連續層之間相互對應的out-channel和in-channel。
連續兩層網絡中相互對應的輸入輸出通道在網絡運行過程中是相互合作相互依賴的,第l層的輸入與第l層中第i個out-channel的權重向量共同生成第l層的第i個輸出特征圖,緊接著第l層的第i個輸出特征圖和第l+1層中第i個in-channel的權重向量共同生成第l+1層的輸出。
除此之外,在網絡通道剪枝過程中連續層之間對應的out-channel和in-channel會被共同保留或者移除。所以,有理由認為在剪枝工作中,連續層之間對應的out-channels和in-channels應該被共同且平等地考慮。
圖1 連續層網絡的關聯關系及Out-In-Channel的定義
分離式結構正則化的缺陷在于僅僅使得第l層網絡的out-channels維度的重要程度分離開來,然而第l+1層中對應的in-channels卻被忽略了。存在這樣的情況,第l層網絡的第i個out-channel因為分離式結構正則化,在訓練過程變得冗余,因此在通道剪枝過程中被移除。然而被同時移除的l+1層網絡中對應的第i個in-channel可能還是相對重要的,這時網絡的能力和精度就被嚴重的破壞了。
本研究因此提出在應用結構正則化進行剪枝時,應將連續層之間對應的out-channel和in-channel當成一個正則化組out-in-channel來進行結構化約束。在網絡訓練過程中,帶有OICSR的優化目標如公式2和公式3所示:
其中的符號‘+’表示對第l層和第l+1層中對應輸入輸出通道的權重向量進行拼接,從而可以對同一個out-in-channel正則化組內的權重向量進行結構化約束。不同于分離式結構正則化,OICSR可以使得神經網絡中out-in-channels的重要性分離開來,也就是說,對于連續網絡層中共同作用相互對應的out-channels和in-channels,它們將會同時變得重要或者同時變得冗余。因此在對網絡進行剪枝時,可以在更小的精度損失下,移除更多冗余的out-in-channels.
OICSR是一種通用的結構正則化形式,很多結構正則化項GroupLasso [4], GrOWL regularization [5]等都可以拓展OICSR的形式。例如Group Lasso拓展成OICSR的形式如公式4所示:
通道剪枝框架
圖2 迭代剪枝流程
本研究的迭代剪枝流程如圖2所示。在通道剪枝過程中,涉及到冗余通道選取的問題。當前的很多工作僅僅使用第l層的統計信息來選擇第l層和第l+1層之間的冗余通道,然而第l+1層中的統計信息又被忽略了。沿用out-in-channel的思想,認為應當同時利用連續兩層網絡的統計信息來選取兩層網絡間冗余的out-in-channels。為了簡潔性表示,本研究使用了通道能量(當然也很有效果)作為通道重要性的評判標準,通道重要性準則如公式5所示:
實際上神經網絡中每一層的冗余程度都不同,當前的很多工作為每一層網絡設定均等的剪枝比例或者根據經驗人為地設定剪枝比例是不夠合理的。因此本研究提出一個全局貪婪剪枝算法(Algorithm 1),來全局地決定每一層網絡的剪枝比例。首先根據公式8計算出網絡中全部out-in-channels的通道能量,接著對這些通道能量進行全局排序,最后根據預先設定的全局目標剪枝比例,來貪婪地選取網絡中的冗余通道,最后每層的剪枝比例因此也被確定下來。
全局貪婪剪枝算法
實驗結果
在實驗階段將Group Lasso拓展為OICSR的形式(OICSR-GL),并使用AlexNet, ResNet, DenseNet 與 SeNet等網絡架構在CIFAR-10/100和ImageNet-1K數據集上驗證OICSR的有效性。OICSR-GL將和一下的baseline作對比:
(1)L2. 在網絡訓練過程中只使用L2正則項,而不適用結構正則項
(2)GL. Group Lasso的原始形式,分離地被應用于網絡各層的out-channels.
(3)L1-BN [3]. L1-BN使用L1 regularization對BN層的scale因子進行約束,是另一種形式的結構正則化。
圖3 使用不同正則化約束進行網絡訓練后的通道能量分布圖
首先可視化了使用不同正則化約束進行訓練后神經網絡內通道能量 (通道能量定義為公式5) 的分布圖。ResNet-56網絡 (on CIFAR-100 dataset) 內layer4.2.conv1和layer4.2.conv2之間的通道能量分布如圖3所示,縱軸表示通道能量的高低,橫軸表示通道的坐標。相比于非結構正則化L2和分離式結構正則化GL, OICSR-GL顯然能更大程度的分離通道間的重要程度,故更多的冗余通道能被安全的移除。
圖4 通道剪枝后,重訓練前的網絡精度對比
接著論文展示了使用OICSR-GL及其baselines對網絡進行通道剪枝后,進行重訓練之前的網絡精度。剪枝后剩余的網絡參數/精度可以看成網絡重訓練的初始點,好的網絡初始點可以使得網絡重訓練后的精度更高。如圖3所示,在相同的FLOPs剪枝比例下,OICSR-GL在不同的網絡架構上下均能保存更多的網絡精度。
最后和其他的state-of-the-art通道剪枝方法在ResNet-50 ImageNet-1K上做了對比,如表1所示,在不同的FLOPs剪枝比例下,本研究的方法均優于目前最好的工作。
表1 在ResNet-50(ImageNet-1K dataset)和當前state-of-the-art
通道剪枝方法的對比結果
-
神經網絡
+關注
關注
42文章
4771瀏覽量
100720 -
算法
+關注
關注
23文章
4607瀏覽量
92842 -
AI
+關注
關注
87文章
30758瀏覽量
268902
原文標題:CVPR 2019:北郵提出新AI模型壓縮算法,顯著降低計算復雜度
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論