e4exp / paper_manager_abstract

0 stars 0 forks source link

DS-Net++: Dynamic Weight Slicing for Efficient Inference in CNNs and Transformers #652

Open e4exp opened 3 years ago

e4exp commented 3 years ago

ダイナミックネットワークは、推論中の入力にアーキテクチャを適応させることで、理論上の計算量を削減する有望な能力を示してきた。 しかし、非効率的なスパース性のために、実用的な実行時間は理論的な加速に遅れをとっています。 これは、様々な難易度の入力に対して、ネットワークパラメータの一部を適応的にスライスするもので、パラメータを静的かつ連続的にハードウェアに保存することで、スパース計算の余分な負担を防ぐことができる。 この方式に基づき、CNNのフィルター数を入力に依存して調整することで、ダイナミック・スライサブル・ネットワーク(DS-Net)と、CNNとトランスフォーマーの両方の多次元をそれぞれ調整することで、ダイナミック・スライサブル・ネットワーク(DS-Net++)を提案します。 サブネットワークの汎用性とルーティングの公平性を確保するために、インプレースブートストラップ(IB)、マルチビューコンシステンシー(MvCo)、サンドイッチゲートスパース化(SGS)などの学習技術を用いて、スーパーネットとゲートを別々に学習するdisentangled two-stage optimizationスキームを提案する。 4つのデータセットと3つの異なるネットワーク・アーキテクチャを用いた大規模な実験により、本手法が最先端の静的および動的モデル圧縮法を一貫して大差(最大6.6%)で上回ることが実証されました。 また,DS-Net++は,MobileNet,ResNet-50,Vision Transformerと比較して,2~4倍の計算量の削減と1.62倍の実世界での高速化を達成しており,ImageNetでの精度低下は最小限(0.1~0.3%)です.コードリリース:このhttpsのURL

https://github.com/changlin31/DS-Net

e4exp commented 3 years ago

1 はじめに

深層ニューラルネットワークは,より優れた性能を実現するために,より深く,より広くなっています。 自動運転車,スマートフォン,ドローン,ロボットなどの一般的なモバイルプラットフォーム向けに,効率的なモデルを探求することが急務となっています。 近年、ニューラルネットワークの推論効率を向上させるために、様々なアプローチが提案されており、ネットワークプルーニング[1]、[2]、[3]、[4]、[5]、[6]、重み量子化[7]。知識の抽出 [8], [9], [10],効率的なネットワークの手動および自動設計 [11], [12], [13], [14], [15], [16], [17], [18], [19], [20],動的推論 [21], [22], [23], [24], [25], [26], [27]などがあります.

これらの手法のうち,動的推論法は,データセット全体に対してアーキテクチャを最適化する静的なNAS(Neural Architecture Search)やPruning法とは異なり,異なる入力に対してアーキテクチャを自動的に調整することで計算の冗長性を低減できるという有望な機能を持つため,注目を集めています(図1(b)参照). 指数関数を用いてシミュレーションした性能と複雑さのトレードオフを図1(a)に示しますが、動的ネットワークの最適解は、静的なNASやプルーニングの解よりも優れています。 理想的には、ダイナミックネットワークルーティングは、モデルの効率を大幅に改善することができます。

しかし、[28]で指摘されているように、動的ネットワークの実用的な実行時間は、通常、理論的な複雑さに遅れをとっています。 例えば、動的な幅を持つネットワーク、すなわち、動的な刈り込み手法[26]、[27]、[29]は、動的な深さを持つ直交する対応策とは異なり、実世界の実装で実際の加速を達成したことはありません。 ネットワーク・プルーニングの自然な拡張として,ダイナミック・プルーニング法は,実行時に異なる入力に関して畳み込みフィルターを予測的にプルーニングします. 変化するスパースパターンは、ハードウェア上での計算とは相容れません。 実際、それらの多くは、ゼロマスキングや非効率なパスインデックスとして実装されており、理論的な解析と実用的な加速の間に大きなギャップが生じています。 同様の問題は、ピクセル単位の動的推論法 [30], [31], [32], [33], スパース・アテンション変換器 [34], [35], 適応型カーネルCNN [36], [37], [38], などにも存在する。

動的ネットワークにおける前述の問題を解決するために,我々はハードウェア的に効率の良い動的推論レジームを探求している. 一般化された残差学習の分析と一連の制御された実験に基づいて、ダイナミックスーパーネットの設計のためのいくつかの実用的なガイドラインを導き出した。 本研究では、このガイドラインに基づいて、動的なウェイトスライシング方式を提案する。 畳み込みフィルタを予測的に刈り込んだり、重要な重み要素を適応的に選択するのではなく、一般化残差学習によって動的スーパーネットの中に異なる重要度を持つ高密度の重みスライスをあらかじめ定義する。 推論時には、重要度の高い要素から重要度の低い要素へと重みを段階的にスライスし、多様な難易度の入力に対して異なるモデル容量を実現する。

本研究では、ダイナミック・ウェイト・スライシング方式に基づき、異なる入力に対する推論時に畳み込みニューラルネットワークのフィルタ数を適応的に調整することで、Dynamic Slimmable Network (DS-Net)を初めて提案する。 ダイナミック・スパースティによるハードウェアへの余分な負荷を避けるため、ネットワークの幅を調整する際にはフィルタを静的かつ連続的に維持します。 ダイナミック・ウェイト・スライシングをCNNと変換器の両方の多次元(カーネルサイズ、埋め込み次元、ヘッドの数など)に拡張することで、さらにダイナミック・スライス可能なネットワーク(DS-Net++)を提示する。 ダイナミックルーティングは、アテンションヘッドとルーティングヘッドで構成される双頭のダイナミックゲートによって実現されますが、余分な計算コストはごくわずかです。

動的ネットワークの学習は、非常に複雑な二層最適化問題です。 サブネットワークの汎用性とゲートの公平性を確保するために、スーパーネットとゲートを別々に最適化するdisentangled two-stage optimization schemeを提案する。 ステージIでは,動的スーパーネットの最適化を,「in-place bootstrapping (IB)」と呼ばれる重み共有ネットワークのための新しい学習法を用いて行う. IBは、momentum supernetを導入し、momentum supernet内の最大のサブネットワークの出力を予測することで、小さなサブネットワークを学習します。 さらに、アンサンブル・インプレース・ブートストラッピング(Ensemble in-place bootstrapping)は、モメンタムスーパーネット内のより大きなサブネットワークの出力確率アンサンブルに適合するように最小のサブネットワークを奨励することで、スーパーネットの学習を安定化させるために、IBの変形として提案されている。

さらに、DS-Net++の性能を向上させるために、階層的インプレースブートストラップ(H-IB)と多視点一貫性(MvCo)という高度な学習技術が提案されています。 H-IB方式では、教師モデルからの中間的な監視を用いて、サブネットワーク間のギャップを減らし、収束の苦労を和らげます。 MvCo方式では、同一の学習サンプルに対して、異なるサブネットワークを用いて、異なる拡張ビューから予測される結果の不一致を減らすことで実行されます。 Stage-IIでは、多目的最適化問題において、動的なゲートが静的なゲートに崩れてしまうことを防ぐために、Sandwich Gate Sparsification (SGS)と呼ばれるゲートトレーニングを支援する技術を提案する。 SGSは、ゲートトレーニング中に、簡単なサンプルと難しいサンプルをオンラインで識別し、さらにダイナミックゲートのグランドトゥルースラベルを生成します。 全体として、我々の貢献は以下の通りです。

image