To prune, or not to prune: exploring the efficacy of pruning for model compression

To prune, or not to prune: exploring the efficacy of pruning for model compression

1.abstract

這是篇Google2017年發佈的論文,主要是透過將矩陣變稀疏進而提升網路的運行速度。 文中最重要的重點就是發現大模型並加上稀疏矩陣表現會比小模型網路的準確度還高上許多。

2.method

稀疏矩陣視意圖:

在每次訓練之中會把權重由大排到小,只選擇那些較大的權重數字,其他較小的權重就由稀疏矩陣乘上0消除那個權重對網路的整體影響,且這個稀疏矩陣的稀疏度是慢慢增加的,如下圖所示,隨著學習率的慢慢遞減,稀疏矩陣的稀疏度慢慢的增加到設定值。文中表示一開始的學習率不能設太高,設太高的話會導致訓練結果不會收斂,像本篇論文實做在mobilenet的時候學習率是設為原本學習率的十分之一。

下面公式就是描述稀疏度的公式,藉由給定開始稀疏度與結束稀疏度以及時間區間就能計算出各個step的稀疏度出來

 

3.result

下圖是作者比較 Inception V3 各個稀疏度的準確率,由表可以發現,稀疏度50%的網路,準確率和沒加的只有差一點點,幾乎快一樣了,但是權重卻硬生生的少了一半,說明此方法很有用阿。



下圖是緊實(Dense) mobilenet與 稀疏(sparse) mobilenet的互相比較圖,作者使用非零參數總量來做對比,由圖可以很清楚的發現sparse model都比dense model好很多,這也是本文一直強調的重點。作者另外在文中提及實作mobilenet-pruning的小細節,作者說由於depthwise layer 和standard convolution layer占總參數的比例非常少,大概只有1.1%,因此這些參數不參予稀疏矩陣的學習。

由表中可以更仔細的看,75%稀疏度訓練出的網路參數量為1.09M對比擁有1.32M的緊實網路,參數量不但比較少且準確率又比Dense mobilenet高,又再一次證實了稀疏網路比緊實網路更好的論點

作者不只在CNN 模型上做驗證,同時也在語意模型上用LSTM網路做實驗,一樣可以得到相同的結論

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments