[論文レビュー] Centripetal SGD for Pruning Very Deep Convolutional Networks with Complicated Structure
本稿では、畳み込みニューラルネットワークの複数のフィルタを重み空間内で同一のパラメータ値に収束させる新しい最適化手法であるCentripetal SGD (C-SGD) を提案する。冗長なフィルタを1つの代表的フィルタに統合し、入力チャネルパラメータを再分配することで、微調整なしに即座にネットワークスリミングが可能となり、精度の損失なしに実現される。CIFAR-10およびImageNetにおいて、最小限の精度低下で最先端の結果を達成する。
The redundancy is widely recognized in Convolutional Neural Networks (CNNs), which enables to remove unimportant filters from convolutional layers so as to slim the network with acceptable performance drop. Inspired by the linear and combinational properties of convolution, we seek to make some filters increasingly close and eventually identical for network slimming. To this end, we propose Centripetal SGD (C-SGD), a novel optimization method, which can train several filters to collapse into a single point in the parameter hyperspace. When the training is completed, the removal of the identical filters can trim the network with NO performance loss, thus no finetuning is needed. By doing so, we have partly solved an open problem of constrained filter pruning on CNNs with complicated structure, where some layers must be pruned following others. Our experimental results on CIFAR-10 and ImageNet have justified the effectiveness of C-SGD-based filter pruning. Moreover, we have provided empirical evidences for the assumption that the redundancy in deep neural networks helps the convergence of training by showing that a redundant CNN trained using C-SGD outperforms a normally trained counterpart with the equivalent width.
研究の動機と目的
- 構造的依存関係を伴う非常に深く複雑なCNNにおける制約付きフィルタプルーニングに対処すること。
- ネットワークスリミング時に性能損失をゼロに保つことで、プルーニング後の微調整の必要性を排除すること。
- 深層ネットワークにおける冗長性が、学習収束性および一般化性能を向上させることを検証すること。
- フィルタの大きさをゼロに設定する手法よりも、表現能力をより良く保持する方法を開発すること。
- 冗長なフィルタの収束が学習安定性および性能向上に寄与することを実証的に示すこと。
提案手法
- C-SGDは、層内の複数のフィルタが重みハイパースペース内で同一のパラメータ値に収束するように導く新しい損失項を導入する。
- この手法は、フィルタパラメータを共通の中心点に向かって引き寄せる「向心力に類似した」更新ルールを用い、クラスタ内のフィルタ間の二乗偏差の合計を最小化する。
- フィルタはクラスタにグループ化される(例:1層あたり5/8のフィルタ)。最適化は、$\chi = \sum_{i\in\mathcal{L}} \sum_{j\in\mathcal{P}_i} \| \mathbf{K}^{(i)}_{:,:,:.j} - \mathbf{c}^{(i)} \|_2^2 $ で定義される乖離度を最小化する。ここで $\mathbf{c}^{(i)}$ はクラスタ中心を表す。
- トレーニング後、同一のフィルタは1つに統合され、残りのフィルタにその入力チャネルパラメータが加算される。これにより、微調整なしに即座にプルーニングが可能となり、精度に損失が生じない。
- この手法はグループLasso正則化を避けており、代わりに直接的なパラメータクラスタリングを用いることで、大きさに基づく正則化と比較して計算コストを低減する。
- C-SGDは一定の学習率を用いて通常のトレーニング中に適用され、フィルタクラスタの指数的収束を達成する。
実験結果
リサーチクエスチョン
- RQ1CNN内のフィルタをパラメータ空間で同一化させることで、微調整なしにプルーニングが可能になるか?
- RQ2同一のフィルタを統合することで、フィルタの大きさをゼロにする手法と比較してネットワークの表現能力をより良く保てるか?
- RQ3C-SGDは、残差接続や密接続構造を有する非常に深く複雑なネットワークにおいて、学習収束性および一般化性能を向上させられるか?
- RQ4C-SGDはグループLasso正則化および大きさに基づくプルーニングと比較して、精度および安定性において優れているか?
- RQ5冗長なフィルタのクラスタリングは、同等のネットワーク幅を持つ標準的なトレーニングと比較して、より優れた性能を発揮するか?
主な発見
- C-SGDは、ResNet-56およびDenseNet-40において、微調整なしにプルーニング後に性能損失なしに動作し、大きさに基づく手法やグループLasso手法とは異なり、精度を維持する。
- CIFAR-10では、C-SGDを用いたプルーニングにより、1層あたり3つのフィルタに削減したResNet-56で、トップ1精度93.8%を達成し、大きさに基づく手法やAPoZ手法を上回った。
- ImageNetでは、1層あたり3つのフィルタに削減したプルーニング済みResNet-56で、C-SGDが76.1%のトップ1精度を達成し、ベースライン手法を2%以上上回った。
- C-SGD下での二乗カーネル乖離度 $\chi$ は単調かつ指数的に減少し、フィルタクラスタの安定的かつ高速な収束を示している。
- グループLasso正則化は600エポックを要し、依然としてプルーニング後に約10%の精度低下を生じたが、C-SGDは100エポック未満で同等またはより優れた性能を達成した。
- C-SGDのトレーニングは、正則化に必要なコストの高い平方根演算を回避するため、グループLassoよりも2倍速かった。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。