本文轉自【TechWeb】;
近日,騰訊優圖實驗室在模型壓縮任務中獲得創新性突破,提出的基於濾波器骨架的逐條剪枝算法(Stripe-Wise Pruning,SWP),刷新了濾波器剪枝的SOTA效果。相關論文(Pruning Filter in Filter)已被機器學習領域的國際頂級會議Conference on Neural Information Processing Systems(NeurIPS 2020)收錄。
神經網絡的具有結構和參數這兩個屬性,這兩個屬性都具有重要意義。本文指出神經網絡的濾波器除了通常使用的參數屬性以外,還有一種形狀屬性。形狀屬性之前一直隱含在參數中,通過訓練每個濾波器的參數使其獲得不同的形狀。濾波器的形狀屬性具有重要的意義。具有合適形狀的濾波器,即使參數是隨機的,也能具有較好的性能。
因此本文通過一種名為濾波器骨架(Filter Skeleton,FS)的模塊來顯性地學習濾波器的形狀(如圖中①)。當訓練結束,我們可以將FS乘回參數上,因此不會引入額外的參數(如圖中②)。
對於不在骨架上的參數,使用逐條裁剪的方法將其整條(stripe,1*1濾波器)裁剪掉。
具體的,首先通過卷積計算順序的變換,可以將濾波器從Filter wise等價變換為stripe wise(如圖中③)。接下來就可以使用正常的濾波器剪枝方法對其進行裁剪(如圖中④)。
該方法的創新點包括:
(1) 提出濾波器除了參數屬性外,還存在形狀屬性,並且形狀屬性具有重要意義。
(2) 提出濾波器骨架的模塊來學習濾波器的形狀,並可以指導模型剪枝。
(3) 通過變換普通卷積為Stripe-Wise Convolution,結構化的實現逐條剪枝後的模型。
逐條剪枝算法在CIFAR10和ImageNet數據集上達到了SOTA效果。