ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression筆記

前言

致力於濾波器的剪枝,論文的方法不改變原始網絡的結構。論文的方法是基於下一層的統計信息來進行剪枝,這是區別已有方法的。算法

VGG-16上能夠減小3.31FLOPs和16.63倍的壓縮,top-5的準確率只降低0.52%。在ResNet-50上能夠下降超過一半的參數量和FLOPs,top-5的準確率只下降1%。網絡

 

如上圖所示,在虛線框中找到那些弱通道(weak channels)和他們對應的濾波器(黃色高亮部分),這些通道和對應的濾波器對總體性能貢獻較小,所以能夠丟棄,這樣就獲得一個剪枝後的模型,而後經過微調(fine-tune)恢復模型的準確率。框架

 

ThiNet框架

(1)濾濾波器選擇性能

不一樣於已有的方法(使用layer(i)層的統計數據對layer(i)濾波器進行剪枝),論文對layer(i+1)的統計信息來對layer(i)層進行剪枝。思路以下:若是能夠使用layer(i+1)的子集通道(subset channels)的輸入來逼近layer(i+1)的輸出,那麼其它的通道就能夠從layer(i+1)的輸入移除,而layer(i+1)的輸入是由layer(i)的濾波器產生的。spa

(2)剪枝blog

在layer(i+1)的弱通道和其對應的layer(i)層的濾波器將被去除,模型將變得更小。剪枝後的網絡的結構不變,但擁有較少的濾波器和通道數。重構

(3)微調channel

經過大量數據的訓練來恢復網絡性能方法

數據驅動的通道選擇

使用來表示layer(i)的卷積過程,其中表示輸入的張量(tensor),是一組KxK的核大小的濾波器,使用D個channels生成新的張量。im

咱們的目標是移除中不重要的濾波器。能夠看出,若是中的一個濾波器被移除了,在中相應的通道也會被移除。這樣的操做下,layer(i+1)的濾波器的數目和他輸出張量的大小保持不變,所以也保持不變。

收集訓練樣本

 

通道選擇——貪心算法

 

最小化重構偏差

相關文章
相關標籤/搜索