天天看點

CVPR 2020 Oral | 不引入限制,浮點運算和參數量顯著減少,紀榮嵘教授團隊提出基于高秩特征圖的濾波器剪枝方法

CVPR 2020 Oral | 不引入限制,浮點運算和參數量顯著減少,紀榮嵘教授團隊提出基于高秩特征圖的濾波器剪枝方法

HRank 的靈感來自于這樣一個發現:無論 CNN 接收的圖像批數是多少,由單個濾波器生成的多個特征圖的平均秩總是相同的。在 HRank 的基礎上,研究者還提出了一種針對低秩特征圖所對應濾波器進行剪枝的算法。剪枝的原理是低秩特征圖包含的資訊較少,是以剪枝後的結果可以很容易地再現。

 引言

盡管剪枝領域已經誕生了許多優秀的工作,但其中仍然存在着許多開放的問題:一方面我們追求更高的壓縮率和加速比,另一方面我們又受到繁重的機器訓練時間和人力成本的限制。對此,廈門大學媒體分析與計算實驗室等機構的研究者認為,該問題可以歸因于缺乏關于濾波器重要性和備援的實用與理論指導。 是以,他們提出了 HRank,用于對剪枝進行更有效的指導。這是一個基于屬性重要性的濾波器剪枝方法,它不需要引入額外的輔助限制或重新訓練模型,進而簡化了剪枝的複雜性。

 同時,通過實驗和定量觀察,研究者發現無論 CNN 接受多少資料,由單個濾波器生成的特征圖的平均秩總是相同的。結果表明,利用資料集中的一小部分圖像,就可以準确、高效地估計出 CNN 中特征圖的秩。 本文貢獻主要有三點: (1)實驗表明,由單個濾波器生成的特征圖的平均秩幾乎不變;(2)從數學上證明了低秩特征圖所對應的濾波器資訊量較小,是以對保持模型精度作用較小,可以優先剪去;(3)展示了 HRank 在模型壓縮和加速方面的高效和有效性。

 算法

剪枝架構

CVPR 2020 Oral | 不引入限制,浮點運算和參數量顯著減少,紀榮嵘教授團隊提出基于高秩特征圖的濾波器剪枝方法

研究者對模型的訓練可分為三個階段,分别是特征圖生成階段、濾波器選擇階段以及微調階段。 在第一階段,他們将部分圖像輸入模型,得到各個濾波器對應的特征圖;接下來,根據得到的特征圖,計算每個濾波器對應的秩,作為濾波器選擇的準則;最後,根據上一階段的選擇結果,剪去上圖中紅色部分的濾波器,并對修剪後的模型進行微調,得到最終的結果。

理論解釋

本文中利用特征圖的秩作為資訊的有效度量和輸入圖像分布的穩定表示,其公式如下: 

CVPR 2020 Oral | 不引入限制,浮點運算和參數量顯著減少,紀榮嵘教授團隊提出基于高秩特征圖的濾波器剪枝方法

為了在理論上說明該觀點的有效性,如下所示,他們對特征圖進行了奇異值分解:

CVPR 2020 Oral | 不引入限制,浮點運算和參數量顯著減少,紀榮嵘教授團隊提出基于高秩特征圖的濾波器剪枝方法

如上,可以将其分解為一個秩較低的特征圖和一些附加資訊,這表明了高秩特征圖相比低秩特征圖确實包含了更多的資訊,對于模型有更大的貢獻。

算法優化

CVPR 2020 Oral | 不引入限制,浮點運算和參數量顯著減少,紀榮嵘教授團隊提出基于高秩特征圖的濾波器剪枝方法

他們通過實驗觀察到,單個濾波器産生的秩的期望對于輸入圖像的個數是魯棒的,這意味着方差可以忽略不計。是以,可以使用少量輸入圖像來精确估計特征圖秩的期望值。

剪枝流程

CVPR 2020 Oral | 不引入限制,浮點運算和參數量顯著減少,紀榮嵘教授團隊提出基于高秩特征圖的濾波器剪枝方法

首先,計算某個特征圖的秩的平均,對這些秩進行降序排列;然後,确定某一卷積層的待保留濾波器數量和待修剪濾波器數量,其實也就是确定卷積層對應的壓縮率;最後,根據計算得到的秩,從所有濾波器中篩選出秩較高的那些,進而建立剪枝後的模型。

實驗

實驗設定

研究者在 CIFAR-10 和 ImageNet 兩個資料集上進行了實驗,使用 VGGNet、GoogLeNet、ResNet 和 DenseNet 作為 Baseline 模型,以測試本文方法對于各種結構的适用性。另外,在實驗中,研究者随機抽取 500 張圖像來估計每個特征圖的平均秩。

CVPR 2020 Oral | 不引入限制,浮點運算和參數量顯著減少,紀榮嵘教授團隊提出基于高秩特征圖的濾波器剪枝方法

他們的剪枝方式如上圖所示,值得注意的是,對于 Inception 結構的 3x3 和 5x5 分支,他們隻對 3x3 的卷積層進行剪枝。

CIFAR-10實驗結果

CVPR 2020 Oral | 不引入限制,浮點運算和參數量顯著減少,紀榮嵘教授團隊提出基于高秩特征圖的濾波器剪枝方法
CVPR 2020 Oral | 不引入限制,浮點運算和參數量顯著減少,紀榮嵘教授團隊提出基于高秩特征圖的濾波器剪枝方法

研究者在 CIFAR-10 資料集的 VGG-16、GoogLeNet、ResNet56/110 和 DenseNet-40 共 5 個模型上驗證了算法的性能,并與其他前沿剪枝算法進行了比較。可見,HRank 對于各種結構的神經網絡都有較出色的壓縮與加速能力。

ImageNet 實驗結果

CVPR 2020 Oral | 不引入限制,浮點運算和參數量顯著減少,紀榮嵘教授團隊提出基于高秩特征圖的濾波器剪枝方法

他們還在更具有挑戰性的 ImageNet 資料集上對 ResNet-50 進行了實驗。由上圖可見,HRank 在各個方面基本上都超過了其他方法,包括 Top1 和 Top5 的精度,以及 FLOPs 和參數的減少量。

消融實驗

研究者構造了 HRank 的 3 個變種來證明用特征圖的秩來決定濾波器這一思想的恰當性,3 個變種分别是:Edge(同時剪去低秩和高秩特征圖所對應的濾波器)、Random(随機裁剪濾波器)和 Reverse(剪去低秩特征圖所對應的濾波器),實驗結果如下圖所示: 

CVPR 2020 Oral | 不引入限制,浮點運算和參數量顯著減少,紀榮嵘教授團隊提出基于高秩特征圖的濾波器剪枝方法

可見,HRank 優于它的其它變種,而 Edge 又是變種中效果最優的,通過對該結果的分析,可以發現高秩特征圖所對應的濾波器确實更優,這與上文的讨論也互相印證。

繼續閱讀