RepVGGネットワーク

導入

論文リンク: https://arxiv.org/pdf/2101.03697v1.pdf

ペーパーコード: https://github.com/DingXiaoH/RepVGG

著者単位: 清華大学 (Ding Guiguang のチーム)、Megvii Technology (Sun Jian et al.)、香港科技大学、アベリストウィス大学

シンプルで強力な畳み込みニューラル ネットワーク構造を提案し、推論段階は3*3 畳み込みと RELU のみからなるVGG スタイルの構造、学習段階はマルチブランチ構造を持ちます。このトレーニングと推論の切り離しは、「再パラメータ化」と呼ばれる技術を使用して実現され、それがネットワーク RepVGG の名前の由来です。ImageNet 上で 80% 以上のトップ 1 精度を達成できます。これは、ストレート スルー ネットワークがこのような高いパフォーマンスを達成したのは初めてです。NVIDIA 1080Ti GPU では、RepVGG は ResNet-50 より 83%、ResNet-101 より 101% 高速でありながら、より高い精度を実現します。EfficientNet や ResNet などの現在の SOTA モデルと比較して、RepVGG は精度と速度のバランスを実現できます。

VGG は複雑な構造を持たないシンプルなプレーン ネットワークであり、CNN 層と RELU 層を積み重ねるだけで高いパフォーマンスを実現できます。Inception、ResNet、DenseNet などの後のネットワークは、ますます複雑に設計され、ネットワークのパフォーマンスは向上しましたが、欠点も明らかです。

  • 複雑なブランチ設計 (ResNet や Inception など) により、適用とカスタマイズが難しくなり、推論速度が遅くなり、メモリ使用量が高くなります
  • 一部のコンポーネント (Xception および MobileNets の深さ方向の畳み込み、ShuffleNets のチャネル シャッフル モジュールなど) はメモリ アクセス コストを増加させ、適切なハードウェアを欠いています。

また、FLOPS は実行速度を表すものではなく、FLOPS が低いモデルもありますが、速度は速くありません (追記: 特に EfficientNet や深さ方向の畳み込みを使用するその他のネットワーク)。

複雑な分岐の設計はトレーニング プロセスには有益ですが、推論プロセスには不利となるという欠点があります。

そこで著者は、学習・推論段階でネットワークを分離し、学習中は多分岐、推論中はプレーンにするRepVGGを提案する。主に次のような利点があります。

  • このモデルは、分岐のない VGG スタイルのプレーン (フィードフォワードとも呼ばれる) ネットワーク構造を持っています。つまり、各層は前の層の出力のみを入力として受け取り、この層の出力は入力としてのみ使用されます。次の層の。
  • モデルの本体は 3*3 畳み込みと RELU のみを使用します

3x3 コンボリューションを使用する理由) 3x3 コンボリューションは GPU 上でパッケージ化され最適化されており、他のコンボリューションよりも計算密度が高くなります。
単一モデルとマルチブランチ モデルでは、マルチブランチ モデルのトレーニング効果がより優れていることは明らかです。したがって、著者はネットワークを設計するときにマルチブランチ構造を放棄せず、推論中にそれを単一のパスに融合しました。

ここに画像の説明を挿入

RepVGGの利点

  1. 再パラメータ化を使用すると、推論の速度が大幅に向上し、モデルの展開に役立ち、実用性が向上します。
  2. メモリを節約し、マルチブランチ モデルを採用します。各計算では、各ブランチの結果を保存するためにメモリの複数のコピーが必要となるため、メモリ消費量が大きくなります。
    ここに画像の説明を挿入

構造再パラメータ化の実装プロセス

ここに画像の説明を挿入ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_54372122/article/details/130049001