【CVPR 2023】FasterNet論文の詳細解説

ペーパー タイトル: 走れ、歩かない: ニューラル ネットワークを高速化するためのより高い FLOPS の追求

論文アドレス: https://arxiv.org/abs/2303.03667

著者らは、FPOP が非効率的であるため、FPOP を削減しても、必ずしも同様のレベルのレイテンシの削減にはつながらないことを発見しました。冗長な計算とメモリアクセスを同時に削減することにより、空間特徴を効率的に抽出することを提案しました。次に、PConv に基づいて、精度に基づいてより高速な FasterNet がさらに提案されます。

1.PConv

単純な PConv は、計算の冗長性とメモリ アクセスを同時に削減するために提案されています。図 4 の左下隅は、PConv がどのように機能するかを示しています。空間特徴抽出のために入力チャネルの一部に通常の Conv を適用するだけで、残りは変更されません。シーケンシャルまたは通常のメモリ アクセスの場合、最初または最後の連続するチャネルは、計算用のフィーチャ マップ全体の代表と見なされます。入力と出力の特徴マップは、一般性を失うことなく同じ数のチャネルを持つと見なされます。したがって、PConv の FLOP は通常の r=1/4 に対して 1/4 にすぎず、PConv の FLOP は通常の Conv の 1/16 にすぎません。さらに、PConv はメモリ アクセスが少なくなります。つまり、r = 1/4 の場合、通常の Conv の 1/4 にすぎません。

すべてのチャネルからの情報を十分かつ効率的に利用するために、ポイントごとの畳み込み (PWConv) がさらに PConv に追加されます。入力特徴マップ上のそれらの有効な受容野は、T 字型の Conv のように見えます。これは、パッチを均一に処理する通常の Conv よりも中心位置に焦点を当てています。

この T 字型の受容野を正当化するために、最初にフロベニウス ノルムを計算して各位置の重要性を評価します。仮説的には、フロベニウス ノルムが他の位置よりも大きい場合、その位置はより重要になる傾向があります。通常の Conv フィルターの場合、その位置でのフロベニウス ノルムは によって計算されます。ここで、著者は顕著な位置を最大のフロベニウス ノルムを持つ位置と見なします。次に、事前トレーニング済みの ResNet18 で各フィルターがまとめて検査され、顕著な位置が特定され、顕著な位置のヒストグラムがプロットされます。図 6 の結果は、中央の位置がフィルター内で最も頻繁に目立つ位置であることを示しています。つまり、中央の場所は周囲の場所よりも重み付けされます。これは、中央の場所を中心とした T 字型の計算と一致しています。T 字型畳み込みは効率的な計算に直接使用できますが、著者らは、T 字型畳み込みを PConv と PWConv に分解する方がよいことを示しています。これは、分解がフィルター間の冗長性を利用し、FLOP をさらに節約できるためです。

2.FasterNet

新しい PConv と既製の PWConv が主な演算子であることを考慮して、FasterNet がさらに提案されています。これは、非常に高速に実行され、多くの視覚タスクに非常に効果的なニューラル ネットワークの新しいファミリです。著者の目標は、アーキテクチャを可能な限りシンプルに保ち、全体的にハードウェア フレンドリーにすることでした。

全体的なアーキテクチャを図 4 に示します。これには 4 つの階層レベルがあり、それぞれの前に埋め込み層 (ストライド 4 の通常の 4×4 畳み込み) またはプーリング層 (ストライド 2 の通常の 2×2 畳み込み) があり、空間ダウンサンプリングとチャネル数拡張を行います。各ステージには、一連の FasterNet ブロックがあります。著者は、最後の 2 段階のブロックが消費するメモリ アクセスが少なく、FLOPS が高くなる傾向があることを観察しています。したがって、より多くの FasterNet ブロックが配置され、それに応じて最後の 2 段階により多くの計算が割り当てられます。各 FasterNet ブロックには、2 つの PWConv (または Conv 1×1) レイヤーが続く PConv レイヤーがあります。それらは一緒に、反転された残差ブロックとして表示されます。ここで、中間レイヤーには拡張された数のチャネルがあり、入力フィーチャを再利用するためにショートカットが配置されます。

正規化層と活性化層も高性能ニューラル ネットワークに不可欠です。ただし、以前の多くの作業では、ネットワーク全体でこれらのレイヤーが過剰に使用されているため、機能の多様性が制限され、パフォーマンスが低下する可能性があります。また、全体的な計算速度が遅くなる可能性があります。対照的に、機能の多様性を維持し、待ち時間を短縮するために、それらは各中間 PWConv の後にのみ配置されます。

他の代替手段の代わりにバッチ正規化 (BN) を使用します。BN の利点は、他のレイヤーと同じくらい効果的でありながら、より高速な推論のために隣接する Conv レイヤーに組み込むことができることです。活性化レイヤーについては、ランタイムと効率の両方を考慮して、より小さな FasterNet バリアントの GELU とより大きな FasterNet バリアントの ReLU が経験的に選択されました。最後の 3 つのレイヤー、つまりグローバル平均プーリング、畳み込み 1×1、全結合レイヤーは、特徴の変換と分類に一緒に使用されます。

おすすめ

転載: blog.csdn.net/Zosse/article/details/129692956