Building efficient convnets using redundant feature pruning

1.abstract:

本篇論文是基於Pruning filters for effecient convnets上的一個改進,前一篇論文選擇留下了最大的權重然後進行retrain來壓縮模型,在VGG16-CIFAR10的模型上得到了壓縮34%的結果,而套用本篇論文後壓縮的效果可以提升至40%,在Resnet-110也有相互比較但是只從38%變成39%,僅僅提升1%。

2.main method:

主要的概念就是引入分群法的概念來對channel做分群的動作,以cosin 距離來當作分群依據,在向量的世界中cosin距離越大的代表兩個向量的距離越相近,因此作者拿來當作刪除channel的依據,因為若兩者channel的向量相近的話代表其中一個是冗員,那麼即使刪除掉對整體準確率也不會造成太大的影響,因此此演算法的第一步就是將所有的channel做分群的動作,要砍成剩下多少channel數量就分成幾群,之後再從群集中隨便挑選一個代表,其餘的全部刪除,詳細演算法如下:

分群的方法是採取agglomerative clustering,此方法藉由合併兩個最相似的群集最終可以獲得一個tree的形狀,根據所選的群集數量可以在此一tree上任一劃一刀取出,演算法圖解如下,動畫圖摘自參考資料2:

上述演示的是以euclidean distance當作距離來量測,而本篇論文是採用cosine distance來當作距離量測,因此論文中定義兩群集合的平均距離如下所示,當兩個群集的相似度大於設定值時,則將兩個群集合在一起,最終會形成如上列所示的樹狀圖,之後再依造需求選取指定的群集然後做刪減channel的動作。

C_a: 叢集a,包含一群vector,單個代號以i表示
C_b: 叢集b,包含一群vector,單個代號以j表示

3.experiments

下表即為本篇論文與2017年論文(Pruning filters for effecient convnets)的互相比較,從表中可以得出在VGG-16這個網路中的確是優於前一篇論文許多,但在其他網路中相對的就沒顯得那麼出色了

4.reference

1.階層式分群法
2.https://dashee87.github.io/data science/general/Clustering-with-Scikit-with-GIFs/

arrow
arrow
    全站熱搜

    Darwin的AI天地 發表在 痞客邦 留言(0) 人氣()