2. 引言
近年來(lái),卷積神經(jīng)網(wǎng)絡(luò)(CNNs)取得了顯著的成功,但較高的計(jì)算成本阻礙了其實(shí)際應(yīng)用部署。為了實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)加速,許多模型壓縮方法被提出,如模型剪枝、知識(shí)蒸餾和模型量化。然而,大多數(shù)早期方法依賴于原始訓(xùn)練集(即所有訓(xùn)練數(shù)據(jù))來(lái)恢復(fù)模型的準(zhǔn)確性。然而,在數(shù)據(jù)隱私保護(hù)或?qū)崿F(xiàn)快速部署等場(chǎng)景中,可能只有稀缺的訓(xùn)練數(shù)據(jù)可用于模型壓縮。
例如,客戶通常要求算法提供商加速其CNN模型,但由于隱私問題,無(wú)法提供全部訓(xùn)練數(shù)據(jù)。只能向算法提供商提供未壓縮的原始模型和少量訓(xùn)練樣本。在一些極端情況下,甚至不提供任何數(shù)據(jù)。算法工程師需要自行合成圖像或收集一些域外的訓(xùn)練圖像。因此,僅使用極少樣本甚至零樣本情況下的模型剪枝正成為亟待解決的關(guān)鍵問題。
在這種少樣本壓縮場(chǎng)景中,大多數(shù)先前的工作采用了濾波器級(jí)剪枝。然而,這種方法在實(shí)際計(jì)算設(shè)備(如GPU)上無(wú)法實(shí)現(xiàn)高加速比。在沒有整個(gè)訓(xùn)練數(shù)據(jù)集的情況下,過往方法也很難恢復(fù)壓縮模型的準(zhǔn)確性。為解決上述問題,本文提出了三大改進(jìn):
關(guān)注延遲-準(zhǔn)確性的權(quán)衡而非FLOPs-準(zhǔn)確性
在少樣本壓縮場(chǎng)景中,塊級(jí)(block-level)剪枝在本質(zhì)上優(yōu)于濾波器級(jí)(filter-level)。在相同的延遲下,塊級(jí)剪枝可以保留更多原始模型的容量,其準(zhǔn)確性更容易通過微小的訓(xùn)練集恢復(fù)。如圖 1 所示,丟棄塊在延遲-準(zhǔn)確性權(quán)衡方面明顯優(yōu)于以前的壓縮方案。
提出“可恢復(fù)性”度量指標(biāo),代替過往“低損害性”度量指標(biāo)[1]。具體來(lái)講,過往很多剪枝方法優(yōu)先剪去對(duì)最終 loss 影響最小的模塊,而本文優(yōu)先剪去最易通過微調(diào)恢復(fù)性能的模塊。
圖 1. 僅使用 500 個(gè)訓(xùn)練圖像的不同壓縮方案比較,Block-level 優(yōu)于 filter-level。
圖 1. 僅使用 500 個(gè)訓(xùn)練圖像的不同壓縮方案比較,Block-level 優(yōu)于 filter-level。
本文提出了PRACTISE(Practical networkacceleration withtinysets of images),以有效地使用少量數(shù)據(jù)加速網(wǎng)絡(luò)。PRACTISE 明顯優(yōu)于先前的少樣本剪枝方法。對(duì)于22.1%的延遲減少,PRACTISE 在 ImageNet-1k 上的 Top-1 準(zhǔn)確性平均超過先前最先進(jìn)方法 7.0%(百分點(diǎn),非相對(duì)改進(jìn))。它還具有很強(qiáng)的魯棒性和泛化能力,可以應(yīng)用于合成/領(lǐng)域外圖像。
3. 方法
圖 2. PRACTISE 算法偽代碼
圖 2. PRACTISE 算法偽代碼
本文所提出的方法思想非常樸素——即依次模擬每個(gè)塊去掉后的恢復(fù)效果,按照推理延遲的提速需求,去掉最易恢復(fù)的塊,最后再在少樣本數(shù)據(jù)集上微調(diào)。該方法有三個(gè)細(xì)節(jié)值得講一講:可恢復(fù)性度量指標(biāo)、評(píng)估可恢復(fù)性的過程和少樣本微調(diào)過程。
3.1 可恢復(fù)性度量指標(biāo)
圖 3. 不同層微調(diào)前后的誤差及不同度量指標(biāo)的數(shù)值對(duì)比
圖 3. 不同層微調(diào)前后的誤差及不同度量指標(biāo)的數(shù)值對(duì)比
為了進(jìn)一步改進(jìn)塊剪枝,本文研究了選擇要丟棄哪些塊的策略,特別是在僅有少量訓(xùn)練樣本的情況下。作者注意到盡管丟棄某些塊會(huì)顯著改變特征圖,但它們很容易通過端到端微調(diào)(甚至使用極少的訓(xùn)練集)恢復(fù)。因此,簡(jiǎn)單地測(cè)量剪枝/原始網(wǎng)絡(luò)之間的差異是不合理的。為了解決這些問題,本文提出了一種新的概念,即可恢復(fù)性,以更好地指示要丟棄的塊。該指標(biāo)用于衡量修剪后的模型恢復(fù)精度的能力,相較于過去的低損害性指標(biāo),該指標(biāo)更能反映“哪些模塊更應(yīng)該被剪去“。圖 3 表明可恢復(fù)性指標(biāo)幾乎完美預(yù)測(cè)了微調(diào)后網(wǎng)絡(luò)的誤差。可恢復(fù)性計(jì)算公式可定義為:
其中, 是原始模型, 是丟棄 塊后的模型, 是模型參數(shù), 表示排除 的參數(shù), 為適配器參數(shù),適配器用于模擬恢復(fù)過程,只包括線性算子。
另一個(gè)影響因素是不同塊的延遲差異,在具有相同可恢復(fù)性的情況下,較高延遲的塊應(yīng)該被優(yōu)先丟棄,因此可定義加速比為:
最終的剪枝重要性得分為:
3.2 評(píng)估可恢復(fù)性的過程
圖 4. 塊丟棄及評(píng)估過程的模型結(jié)構(gòu)圖
圖 4. 塊丟棄及評(píng)估過程的模型結(jié)構(gòu)圖
在評(píng)估階段,PRACTISE 算法將依次去掉每一個(gè)塊,在去掉 塊后將在它之前的層后插入適配器,在之后的層前插入適配器,適配器均為 的卷積層。由于卷積操作是線性的,所有適配器都可以和相鄰的卷積層融合(如圖 4 右側(cè)所示),同時(shí)保持輸出不變。在評(píng)估階段,算法將凍結(jié)模型參數(shù),在少樣本數(shù)據(jù)集上更新適配器參數(shù),對(duì)比不同塊去掉后在相同訓(xùn)練輪次下的恢復(fù)損失,作為其可恢復(fù)性度量。
3.3 少樣本微調(diào)過程
最簡(jiǎn)單的微調(diào)方法就是利用交叉熵?fù)p失。然而,正如先前的工作指出的那樣,修剪后的模型很容易受到過擬合的影響[2]。因此本文采用知識(shí)蒸餾中的特征蒸餾來(lái)緩解過擬合問題,同時(shí)這樣的微調(diào)方法也可以在合成數(shù)據(jù)和域外數(shù)據(jù)上實(shí)現(xiàn)少樣本微調(diào)。具體微調(diào)損失函數(shù)為:
4. 實(shí)驗(yàn)
少樣本剪枝性能對(duì)比:如表 1 所示,PRACTISE 以顯著優(yōu)勢(shì)超過其余所有方法,最多提升了 7%的 Top-1 準(zhǔn)確率。該表也說(shuō)明,對(duì)于少樣本數(shù)據(jù)集來(lái)說(shuō),丟棄塊的延遲-準(zhǔn)確率權(quán)衡性價(jià)比優(yōu)于濾波器級(jí)剪枝。
表 1. ResNet-34 在 ImageNet-1k 上的 Top-1/Top-5 準(zhǔn)確率對(duì)比(Baseline 為 73.31%/91.42%)
表 1. ResNet-34 在 ImageNet-1k 上的 Top-1/Top-5 準(zhǔn)確率對(duì)比(Baseline 為 73.31%/91.42%)
Data-free 剪枝方法對(duì)比:表 2 顯示,在合成數(shù)據(jù)上,PRACTISE 也取得了最優(yōu)的延遲-準(zhǔn)確率權(quán)衡(更低延遲下更高性能)。
表 2. data-free 剪枝方法在 ImageNet-1k 上的性能對(duì)比
表 2. data-free 剪枝方法在 ImageNet-1k 上的性能對(duì)比
域外數(shù)據(jù)剪枝結(jié)果:如表 3 所示,PRACTISE 在域外數(shù)據(jù)上也有很強(qiáng)的魯棒性和泛化性。
表 3. 域外訓(xùn)練數(shù)據(jù)下 ImageNet-1k 的剪枝性能展示
表 3. 域外訓(xùn)練數(shù)據(jù)下 ImageNet-1k 的剪枝性能展示
審核編輯 :李倩
-
濾波器
+關(guān)注
關(guān)注
160文章
7728瀏覽量
177685 -
算法
+關(guān)注
關(guān)注
23文章
4599瀏覽量
92643 -
卷積神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
4文章
366瀏覽量
11851
原文標(biāo)題:CVPR 2023:基于可恢復(fù)性度量的少樣本剪枝方法
文章出處:【微信號(hào):GiantPandaCV,微信公眾號(hào):GiantPandaCV】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論