論文アドレス: http://arxiv.org/abs/2002.10179
github アドレス: https://github.com/lmbxmu/HRank
この記事は厦門大学のメディア分析およびコンピューティング研究室から提供されたもので、最初に新しい枝刈り分類方法を提案します。その他の分類基準には、ソフト プルーニングとハード プルーニング、グローバル/レイヤーごとのプルーニングなどがあります。この論文で提案されたマトリックスベースのランク付け方法は、プロパティの重要性とハードプルーニングに属します。
モチベーション
既存の枝刈り手法には、ネットワークコンポーネントに関する特別な理論的指針がなく、枝刈り設計における学習効率の低さや人件費の高さなどの問題があります。プロパティの重要性に関する以前の論文では、入力データの分布を推定するために大量の画像入力が必要であり、非効率的でした。したがって、この記事は、データ駆動型の制約を軽減できる枝刈り方法を見つけることを目的としています。
方法
この記事では、特徴マップのランクに基づいたチャネル プルーニング方法を提案します。この方法は次の 2 つの点に基づいています。
- 特徴マップは中間変数として機能し、フィルターの属性と入力画像の情報の両方を反映します。同じレイヤー内であっても、単一の機能マップがネットワーク内で異なる役割を果たします。そして、特徴マップは、入力画像の各レイヤーでの変換プロセスを示し、最終的に予測ラベルに変換されます。
- 著者らは、フィルタ出力のランク (つまり、特徴マップのランク) の期待値が入力画像に対してロバストであることを経験的に観察しています。異なる画像は異なるランクを持つ可能性がありますが、分散は無視できるほど小さいことがわかります。
次に、その特定の枝刈りアルゴリズムを紹介します。
前述の基礎に従って、著者はネットワークを層ごとに圧縮します。各層に少数の画像(本稿では500枚の画像を選択)を入力し、特徴マップのランクを計算してソートし、特異値分解によると、ランクが大きいほど量が多くなることがわかります。含まれる情報の量が少ないため、ランクが小さい特徴マップの重要性は低くなります。各層において、平均ランクの小さい特徴マップに対応するコンボリューションカーネルは一定の割合で切り捨てられる。次に、残りのフィルター パラメーターを初期値として微調整して、プルーニングされたネットワークを取得します。
実験
データセット: CIFAR-10、ImageNet
モデル: VGGNet、GoogleNet、ResNet、DenseNet
特徴マップのランクの計算に使用される入力画像の数: 500
バッチサイズ: 128、
重み減衰: 0.0005、運動量: 0.9
オプティマイザー: SGD(lr: 0.01 、0.001@5、0.0001@10エポック)
エポック: 30
GPU: NVIDIA GTX 1080Ti ×2
結果