Skip to main content
QUICK REVIEW

[論文レビュー] Manipulating Identical Filter Redundancy for Efficient Pruning on Deep and Complicated CNN

Xiaohan Ding, Tianxiang Hao|arXiv (Cornell University)|Jul 30, 2021
Advanced Neural Network Applications参考文献 90被引用数 4
ひとこと要約

本稿では、畳み込みニューラルネットワーク(CNN)におけるフィルタの同一冗長性をクラスタリングによって誘導し、逆誤差伝搬中に同じ値に収束させる新しい訓練手法、Centripetal SGD(C-SGD)を提案する。完全に冗長なフィルタを生成することで、微調整を必要とせず1ステップで精度を保持した pruning が可能となり、計算コストの増加を最小限に抑えつつ、CIFAR-10、ImageNet、およびResNet/DenseNetアーキテクチャで最先端の性能を達成する。

ABSTRACT

The existence of redundancy in Convolutional Neural Networks (CNNs) enables us to remove some filters/channels with acceptable performance drops. However, the training objective of CNNs usually tends to minimize an accuracy-related loss function without any attention paid to the redundancy, making the redundancy distribute randomly on all the filters, such that removing any of them may trigger information loss and accuracy drop, necessitating a following finetuning step for recovery. In this paper, we propose to manipulate the redundancy during training to facilitate network pruning. To this end, we propose a novel Centripetal SGD (C-SGD) to make some filters identical, resulting in ideal redundancy patterns, as such filters become purely redundant due to their duplicates; hence removing them does not harm the network. As shown on CIFAR and ImageNet, C-SGD delivers better performance because the redundancy is better organized, compared to the existing methods. The efficiency also characterizes C-SGD because it is as fast as regular SGD, requires no finetuning, and can be conducted simultaneously on all the layers even in very deep CNNs. Besides, C-SGD can improve the accuracy of CNNs by first training a model with the same architecture but wider layers then squeezing it into the original width.

研究の動機と目的

  • スキップ接続や密ブロックを有する非常に深く複雑なCNNにおいて、標準的な pruning 手法が非一様なフィルタ重要度のため性能低下を引き起こすという制約のあるフィルタ pruning の課題に対処すること。
  • 微調整を必要としない、性能損失なしの完全な冗長フィルタを生成することで、pruning 後の微調整の必要性を排除すること。
  • 小さなノルム正則化に依存するのではなく、理想的な同一フィルタパターンへの冗長性の組織化により、フィルタ pruning の効率性と有効性を向上させること。
  • 層ごとのまたはフィルタごとの pruning 戦略に起因する制限を克服し、非常に深いネットワークにおいてすべての層を同時にグローバルに pruning することを可能にすること。
  • 構造的冗長性が学習収束性とモデル性能を向上させうるかを検証し、性能向上のための新しい訓練パラダイム「Scaling and Squeezing」を提案すること。

提案手法

  • C-SGD は、各クラスタ内のフィルタ間の二乗偏差の和を最小化することで、フィルタクラスタリングを強制する修正された損失関数を導入する。
  • バックプロパゲーション中に、各フィルタクラスタの重心更新を計算するために、学習可能な平均化行列 $\bm{\Gamma}$ と減少する行列 $\bm{\Lambda}$ を使用する。
  • 超パrameter $\epsilon$ を介して向心力が適用され、各クラスタ内のフィルタが一定速度で平均値に向かって駆動され、同一重みへの収束が保証される。
  • アルゴリズムは標準的なSGD訓練に統合されており、1層あたり1イテレーションで追加の行列乗算が2回のみ必要であり、計算コストは無視できるほど小さい。
  • 冗長性は訓練中に生成されるため、訓練終了後すぐに微調整なしに pruning を実行可能である。
  • このアプローチはエンドツーエンドの訓練と pruning をサポートし、ResNet-164 や DenseNet-121 といった深層ネットワークのすべての層を同時に pruning することが可能である。

実験結果

リサーチクエスチョン

  • RQ1訓練中に同一フィルタ冗長性を誘導することで、微調整を必要とせず1ステップで損失なしの pruning が、深層CNNで可能になるか?
  • RQ2スキップ接続や密ブロックにより制約の厳しい複雑なアーキテクチャ(例:ResNet や DenseNet)において、C-SGD はどのように性能を示すか?
  • RQ3提案された冗長性パターン(同一フィルタ)は、小ノルム冗長性(例:group-Lasso)に比べ、pruning 効率と精度保持性において優れているか?
  • RQ4C-SGD はすべての層を同時にグローバルに適用可能であり、非常に深いネットワークにおいてもモデル精度を維持または向上させるか?
  • RQ5「スケーリングとスイーピング」という訓練戦略(C-SGD を用いて幅を広げて訓練し、元の幅に pruning する)は、C-SGD によって最終精度が向上するか?

主な発見

  • C-SGD は、ResNet-164 および DenseNet-121 において、すべての層を同時に pruning しても精度に低下がなく、非常に深いネットワークにおける堅牢性を示している。
  • CIFAR-10 では、ResNet-56 を2倍の幅に pruning した後も76.25%のtop-1精度を達成し、微調整を必要とし精度損失を被る従来手法を上回っている。
  • ImageNet では、ResNet-56 を2倍の幅に pruning した後も75.88%のtop-1精度を達成し、類似設定下で誤差増加が0.94(ベースライン)であるのに対し、C-SGD では0.74にとどまり、優れた性能を示している。
  • 計算コストは非常に効率的である:訓練速度は標準的なSGDと区別がつかず、多くの従来手法とは異なり微調整を必要としない。
  • C-SGD は向心力強度 $\epsilon$ に対して頑健であり、$\epsilon = 1\times 10^{-3}$、$2\times 10^{-3}$、$1\times 10^{-2}$ のすべての設定で収束性と性能が安定している。
  • 「スケーリングとスイーピング」戦略—C-SGD を用いて幅を広げて訓練し、元の幅に pruning する—は最終精度を向上させ、冗長性が収束性と一般化性能を向上させる可能性を示唆している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。