アテンションメカニズムの概要(個人利用向け)

コンピューター ビジョンにおける注意メカニズム:調査

コンピュータビジョンにおける注意メカニズム: 論文論文の調査
近年の注意メカニズムは、チャネル注意、空間注意、時間的注意、分岐注意、および 2 つの組み合わせた注意メカニズム、空間チャネル注意メカニズムと時間的および空間的注意メカニズムに分けられます。
注意メカニズムの分類

チャンネルの注目度

チャネル アテンション メカニズムは
SENet (スクイーズと励起)を説明します。これは主に 2 つの部分、スクイーズ モジュールと励起モジュールに分かれています。前者は、グローバル平均プーリングを使用してチャネルを圧縮し、h×w×c 特徴マップを 1×1×c に圧縮し、次に非線形活性化と各チャネルに対応する乗算器への完全接続を介して、最後に入力特徴マップを使用します。乗じた。
SE-Net

GSoP-Net (グローバル 2 次プーリング) :
以下の図は GSoP モジュールの構造であり、SE モジュールに似ており、2 段階のスクイーズ励起を使用します。スクイーズ操作は、入力テンソルのチャネル次元に沿って 2 次統計をモデル化するために使用されます。まず、h ' × w ' × c ' の入力テンソル (実際には特徴マップ) が、1x1 畳み込みによって h ' × w ' × c に次元削減され、次にチャネル間の相関が計算されて A c × が得られます。 c 共分散行列. この共分散行列は意味があり、i 行目の要素は i 番目のチャネルと他のチャネル間の統計的依存性を示します。二次演算にはデータの順序の変更が含まれるため、共分散行列に対して行単位の正規化が実行され、固有の構造情報が保存されます。SENet は GAP を使用して各チャネルの平均値のみを取得するため、統計モデリング機能が制限されます。

次に、励起モジュールは、上記の共分散特徴マップに対して非線形行ごとの畳み込みを実行して 4c の構造情報を取得し、畳み込みを使用して入力チャネル番号 c ' 次元に調整し、入力チャネルをチャネルごとに乗算して完了します。チャンネル注意力。

GSoP-Net は圧縮方法を変更し、SE-Net の 1 次元圧縮形式を Cov の 2 次元圧縮に変更しました。

GSoPネットSRM (sytel-based recalibration module) :
スクイーズ モジュール: グローバル平均プーリングとグローバル標準偏差プーリングを組み合わせたスタイル プーリング (SP) を使用します。以下に示すように。(出力は C × d です。グローバル平均プーリングのみを使用する場合は C × 1、グローバル平均プーリングとグローバル標準偏差プーリングを使用する場合は C × 2、グローバル平均プーリングとグローバル標準偏差プーリングを使用する場合は C × 2、グローバルが使用されます。最大プーリングは C × 3 です。

励起モジュール: チャネルと同じ幅の CFC (チャネルごとに完全に接続された層)。これは、チャネルの寸法が [C, d] から [C, 1] に変化することを意味します。つまり、チャネルごとに、 full 接続層の入力は d、出力は 1 で、C 次元の注目ベクトルは BN 層とシグモイド関数 (σ) を使用して取得されます。

SRMはスクイーズ時はSPプーリング、励起時はチャネルごとの畳み込みを使用するため、SEの全結合層に比べて計算量が少なく、より多くの箇所に配置できます。

SRM
FcaNet (効率的なチャネル アテンション) :
GAP にも無視できない問題があります。つまり、GAP は豊富な入力表現をキャプチャできず、GAP を通じて取得される特徴の多様性の欠如につながります。これは主に、GAP が空間要素をすべて取得するためです。この平均値は、実際には、さまざまなチャネルの情報を表現するには十分ではありません。著者は、グローバル平均プーリング (GAP) の理論的分析を実施し、最終的に次の結論に達しました: まず、異なるチャネルは同じ平均値を持つ可能性が高いですが、それらの意味情報は異なります。次に、周波数領域の観点から、著者は、GAP が実際には離散コサイン変換 (DCT) の最も低い周波数成分であり、実際には他の多くの有用な成分を無視していることを証明しました。
これらの結論に基づいて、著者らは新しい効率的なマルチスペクトル チャネル アテンション フレームワークを設計します。GAP が特殊な形式の DCT であることに基づいて、このフレームワークは周波数領域での GAP チャネル アテンション メカニズムを促進し、最低周波数 GAP のみの代わりに制限付きで複数の周波数成分を使用することを提案しています。

FcaNet は GAP の欠点を数学的な観点から提唱し、改善しています。これは非常に望ましいことです。しかし、モジュールは全結合形式を保持しているため、その計算量は SEnet に匹敵し、畳み込み演算後に大規模に出現することは不可能です。DCT としての GAP の理論的導出は、FcaNet の解釈にあります。

ECA (効率的なチャネル アテンション) :
この論文では、次元削減を回避し、クロスチャネル インタラクションを効果的にキャプチャする、ディープ CNN 用の効率的なチャネル アテンション (ECA) モジュールを提案します。次元を削減せずにチャネルごとのグローバル平均プーリングを行った後、ECA は各チャネルとその k 個の最近傍を考慮することにより、ローカルなクロスチャネル インタラクションを捕捉します。pytorch の実装コードは次のとおりです。
ここに画像の説明を挿入します
したがって、ECA には 2 つのコアがあります。入力チャネル C に従って適応的に変換された畳み込みカーネル k と、励起リンクの conv1d です。k の式は次のとおりです入力チャネル C に加えて、コンボリューション カーネルのサイズを決定する 2 つのハイパーパラメータがあります。さらに、上記のコードでは、conv1d は、k*1 畳み込みカーネルを使用した入力特徴マップの行ごとの畳み込みに相当します。つまり、各チャネルと隣接する k 個のチャネルの情報を統合しますここに画像の説明を挿入します

ECA は、SE 励起における次元削減操作を回避し、代わりにクロスチャネル情報統合に conv1d 畳み込みを使用します。励起のみが変更されました。ある程度の精度は向上しますが、計算の複雑さの点では SEnet や FcaNet と似ています。

GCT (ゲート付きチャネル変換) :
GCT モジュールは、グローバル コンテキストの埋め込み、チャネル正規化、およびゲート適応の 3 つの部分で構成されます。3 段階の式を以下に示します。特定の原理については、GTC 原理の説明を参照してください。
スクイーズ モジュール: グローバル コンテキストの埋め込みで (B,C,H,W) を (B,C,1,1) に変更します。空間情報の圧縮を完了し、純粋なチャネル情報に変換します。そして、各チャンネルの重みを調整するためにトレーニング可能なαが追加されます。
励起モジュール: 各チャネルを区別するためにゲート適応に β と γ を導入し、活性化に Tanh を使用します。SE の完全に接続された層と比較して、GCT の各チャネルはより独立しており、より明確な表現を持っています。

グローバルコンテキストの埋め込みチャネルの正規化ゲート適応GTCの構造

GTC はスクイーズと励起の両方を改善しており、特に後者ではこれまでの全結合または畳み込み活性化法を廃止し、tanh 活性化を採用し、構造全体のパラメータを減らしています。これは最も軽量であり、各畳み込みの後ろに配置できます。

チャネル アテンション メカニズムの概要:
ここに画像の説明を挿入しますここに画像の説明を挿入します

空間的注意

空間注意のメカニズムの説明

STN :
STN アルゴリズムの説明.
DCN を学習した後に STN を理解することは実際には難しくありません. STN は 2 つの特徴マップ間に空間変換 (スケーリング、回転など) を導入することに相当します。具体的な処理は、パラメータ予測:Localization net、座標マッピング:Grid Generator、ピクセル収集:Sampler の 3 つの部分に分かれています。
ここに画像の説明を挿入しますパラメーター予測は、スケーリングを例として、変換操作用の行列を生成するために使用されます。このステップの目的は、この [[2,0],[0,2]] 行列を生成することです。
ここに画像の説明を挿入します座標マッピングは、元の画像上でターゲット画像をサンプリングすることです。毎回、元の画像からターゲット画像までの異なる座標からピクセルが収集され、ターゲット画像を埋める必要があります。ターゲット画像の座標は、毎回横断する必要があります。収集された元の画像の座標は固定されていないため、このマッピングが使用されます。つまり、対象画像から入力画像への座標の写像関係となります。
ピクセルの取得は、双一次補間を使用して 10 進座標のピクセル値を取得するのと似ています。

self-attention とそのバリエーション:
self-attention のメカニズムの詳細な説明
このブログ記事では、self-attention のメカニズムにおける K、Q、V の意味を基本原理と行列演算、計算の観点から具体的に紹介します。マルチヘッド アテンション メカニズムのプロセス。
この論文に戻って、バリアント モジュールのこの部分については簡単に説明したので、あまり詳しく調べずに、そのまま次の論文に進みましょう。

ビジョン トランスフォーマー:
計算ビジュアル メディアのトランスフォーマー: 調査 この文書は、マシン ビジョンにおけるトランスフォーマーの使用について説明しています。

GENet :
この論文には解釈情報がほとんどなく、現在理解されているのは概念的な機能のみです。最初のステップでは、入力フィーチャとその近傍フィーチャを集約し、異なる空間位置間の関係をモデル化します。2 番目のステップでは、まず補間を使用して、入力特徴マップと同じサイズのアテンション マップを生成します。入力特徴マップ内の各位置は、アテンション マップ内の対応する要素を乗算することによってスケーリングされます。プロセス全体は次のように説明されます。
ここに画像の説明を挿入します
実際、最初のステップの収集は、フィーチャ上の各ポイントのチャネル情報を統合するために、チャネルごとの畳み込みやグローバル平均プーリングなどの多くの方法で置き換えることができます。地図。これは、SENet と自然に関連付けることができる注意メカニズムであると言うべきです。

一時的な注意

「いつ」の注意メカニズムに関しては、主にビデオ検出に使用されており、あまり研究されていません。

ブランチアテンション

高速道路ネットワーク
高速道路ネットワークは2015年に提案されたネットワークです。当時のモデルは深化・広域化の方向を追求しており、高速道路ネットワークもその一つでした。resnet と比較すると、ショートカットのアイデアはすでにありますが、大胆さが足りません。ゲート係数 T は 0 または 1 にすることはできませんが、分岐注意の考え方を反映した中間値のみにすることができます。
ここに画像の説明を挿入します
ここに画像の説明を挿入しますSKNet :
SKNet を使用すると、ニューロンが受容野サイズを適応的に調整できるようになります。つまり、異なるカーネル サイズの複数のカーネル間で「選択カーネル」(SK) 畳み込みを実行できます。入力された特徴マップは、まず 3 3 回と 5 5 回の畳み込みを経て特徴マップが得られ、合計された後、全結合層に送信され、最後に 2 つの重み係数 a と b が生成されます。V=a×U1+b×U2。したがって、出力特徴マップは 2 つの畳み込みカーネルの結果を組み合わせたものになります。つまり、出力特徴マップは 2 つの受容野の特性を持ちます。
ここに画像の説明を挿入しますCondConv :
従来の畳み込みの特性を打ち破るために、著者はCondConvの畳み込みカーネルを複数の専門知識の線形結合としてパラメータ化しました (a1、a2、a3、...an は勾配降下法を通じて学習された重み係数です)。 : ( a1W1+a2W2+…+anWn)*x, x は入力サンプル エキスパートの数を増やすことでモデルの容量を増やすことができ、コンボリューション カーネルのサイズを増やすより効果的です。 、専門家の知識は、効率的な推論を維持しながらモデルの能力を向上させるために1 つの線形結合のみを必要とします
SKNet は、以下の図 b のソリューションに似ており、最初に各コンボリューション カーネルでコンボリューションを実行し、それらの特徴マップを融合します。CondConv は図 A の状況です。最初に各「エキスパート」コンボリューション カーネルの重みを計算し、コンボリューション カーネルを融合した後に 1 つのコンボリューションのみを実行します。CondConv のソリューションは明らかに SKNet よりも少ない計算を必要とします。
ここに画像の説明を挿入します
ダイナミック コンボリューション:
ダイナミック コンボリューションの構造を次の図に示します。

ここに画像の説明を挿入します
入力 x はまず、アテンションを通じて K 個のコンボリューション カーネルの重みを生成します (ソフトマックス後の重みの合計は 1 なので、重ね合わせ後に大きくなりすぎることを心配する必要はありません)。重みはそれぞれの重みで乗算され、重ね合わされます。 kernel_size を指定してから畳み込みが実行されます。CondConv と比較すると、主に制約パラメータ
に関するものです最初は重み出力に関するもので、ソフトマックスを通じて 0 ~ 1 にスケーリングされ、合計は 1 になります。次に、各コンボリューション カーネルの重みに関するものです。アテンションの重みのほとんどが疎であるため (CondConv 実験と同様)、ほとんどのこの問題を解決するために、著者は平滑化のための次の公式を提案しました: (この段落については上記のリンクを参照してください) ここで、z_{k} は第 2 層 FC の出力を表します。理解しやすいように例を挙げてみましょう。層に K=2 のカーネルがあり、z zz の出力結果が (0.01, 0.99) であると仮定すると、2 番目のカーネルはバックプロパゲーション中によりよく学習できますが、最初のカーネル パラメーターの学習は抑圧される。したがって、上記の式を使用すると、ハイパーパラメータ \tau=30 の場合、この時点の \pi_{1} の値は平滑化を行わない前よりも大幅に大きくなります。z_{1} が 30 分の 1 に減少しても、指数関数は依然として 1 に近づき、z_{2} が 30 分の 1 に減少すると、注意力はe {0.99} から e {0.03} に低下します。この弱化範囲は次のようになります。巨大な。したがって、平滑化操作は、すべてのカーネルのパラメータの反復更新に役立ちます。ブランチ アテンション メカニズムの概要SKNet は、融合畳み込みカーネルではなく融合機能マップであるため、依然として最初のカテゴリに分類されます。もちろん、今見てみると、2 番目の方法の方がまだ計算量は少なくなります。
ここに画像の説明を挿入します


ここに画像の説明を挿入します

チャンネルと空間への注意

チャネルスペースアテンションメカニズムの説明

CBAM
CBAM は比較的古典的な注意メカニズムであり、核となるアルゴリズムはこれら 3 つの画像にあります。読むときは、コードの理解と組み合わせて読んでください。
CBAM の全体的なブロック図: (2 つのモジュールの順序に注意してください)
ここに画像の説明を挿入しますチャネルの注意: (重みを共有する MLP は、実際には完全に接続された層を共有する maxpool と avgpool の出力です)
ここに画像の説明を挿入します空間の注意: (プールの完了後)チャネルの場合、7×7 畳み込み (7×7 は 3×3 よりも優れています) 演算を経て、次元を 1 チャネル、つまり H×W×1 に減らす必要があります) BAM
ここに画像の説明を挿入します
: BAM
、 CBAMの著者。
ここに画像の説明を挿入しますチャネル アテンションと空間アテンションを直列に接続する CBAM とは異なり、ここでは並列のアイデアが採用されています。チャネル アテンション ベクトルと空間アテンション特徴マップは放送を通じて重畳され、その重畳サイズは元の入力ベクトル F と同じになります。最後に、それらは残留構造を通じて結合されます。

GALA :
グローバルおよびローカル アテンション (GALA) モジュールは、次の図で理解できます。グローバル アテンション (チャネル アテンション) はグローバル平均プーリングによって取得され、ローカル アテンション (空間アテンション) は 2 つの連続する 1×1 畳み込みによって取得されます。2 つの特徴ベクトル (行列) は展開され、tanh 非線形活性化関数に送信されて最終的なアテンション行列が得られます。この行列は元の行列と乗算できます。
ここに画像の説明を挿入します
それはグローバルかつローカルな注意であると言われていますが、本質的にはチャネルおよび空間的な注意です。ただし、この記事の処理方法は、非線形活性化のために 2 つの学習可能なパラメーター a と m が導入されているという点で BAM とは異なります。
ここに画像の説明を挿入します

scSE :
scSE は、チャネル アテンションと空間アテンションを並列重ね合わせで組み合わせます。違いは、空間的注意の具体的なステップにあります。実装原理は非常にシンプルで、画像を見てスキップするだけです。これは興味深いことではありません。以前の空間チャネル アテンション メカニズムと比較して、カップリング方法はアテンション ベクトルを拡張してから追加することであり、これは各カップリングの後に追加される特徴行列です。
ここに画像の説明を挿入します
トリプレット アテンション:
トリプレット アテンション メカニズムの構造を次の図に示します。
ここに画像の説明を挿入します
上の図には 3 つのブランチがあり、それぞれが H、W、C の任意の 2 つのドメイン間のクロスドメイン相互作用を捕捉する役割を果たします。最初のブランチは最も一般的な空間注意メカニズムであり、H と W の間の情報の相互作用に焦点を当て、2 番目のブランチは C と W の間の相互作用に焦点を当てます。3 つの分岐を取得したら、最終出力を重ね合わせます。このメカニズムは、異なるチャネル間の相互作用の重要性に注意を払っていますが、実際に使用すると、他の注意メカニズムと比較して、モデルのパフォーマンスが大幅に改善されず、計算量が増加することがわかります。

座標的注意:
CA は空間的注意メカニズムとしてみなされるべきだと思います。
ここに画像の説明を挿入しますまず、w と h に対して平均プーリングを実行し、スプライシング後、次元削減のために 1×1 畳み込みに送信し、BN と活性化関数によって個別に分離および畳み込みを行い、最後に元の値に重み係数を乗算します。入力です。
これは、クロスチャネル機能に焦点を当てた 3 ヘッド アテンション メカニズムに非常に似ていると思いますが、これは最も一般的なチャネルごとのプーリングをキャンセルし、分割操作を追加します。このモデル設計の出発点は小規模なモデルで使用されることであるため、計算量は比較的少なく、性能も SE や CBAM に比べて大幅に向上します。

デュアル アテンション:
デュアル アテンションは、セルフ アテンション メカニズムを備えたデュアル アテンション ネットワークを導入します。SEやCBAMよりも軽量で高性能なのが大きな特徴です。全体的なフローチャートは次のとおりです。
ここに画像の説明を挿入します
上部は空間情報の抽出に使用されます。3 つの畳み込みを使用して、BCD の 3 つの特徴マップが生成されます。これは、自己注意メカニズムの KQV に相当します。B と C は行列乗算によって結合され、次に C と乗算され、最後に入力特徴マップ A と重ねられます。
ここに画像の説明を挿入します
下部はチャンネル情報を抽出するために使用されます。上の部分とは異なり、次の 3 つの特徴マップは畳み込み処理されず、重ね合わせのために直接再整形されます。
ここに画像の説明を挿入します
RGA
関係認識に対する世界的な注目: このブログ投稿ではあまり明確に説明されていないため、チャネルの空間的注意のレビューに関する論文と併せて理解する必要があります。
以下は 2 つのコア モジュールであり、チャネルと空間アテンション メカニズムのインポート メソッドです。空間注意モジュールを例にとると、まず特徴マップを入力すると、まず各ピクセル点間の相関行列が生成されます。相関行列の生成式は以下のとおりです。入力特徴マップと関係行列を乗算すると、2 つの行列が得られます。2 つの行列は相互に転置されるはずです。3 つの行列が結合され、チャネルごとの畳み込みが実行されます。チャネル アテンション モジュールにも同じ計算手順があります。
ここに画像の説明を挿入します

ここに画像の説明を挿入します
このモデルは主に歩行者の再識別のための他のアルゴリズムと比較されるため、ターゲット検出の分野でのモデルのパフォーマンスについて言うのは困難です。ただし、計算量は多くありませんが、全接続ではなく1×1畳み込みを使用しているため(全接続>3×3畳み込み>1×1畳み込み)。

Self-Calibrated Convolutions :
SCNet は、各空間位置が遠隔地からの情報コンテキストを適応的にエンコードできるようにします。端的に言えば、適応的に受容野を増加させます。
ここに画像の説明を挿入します
アルゴリズムのプロセスは比較的単純です。入力特徴量が 2 つに分割され、平均プーリング ダウンサンプリングと差分アップサンプリングの後、上半分が X1 に加算されてシグモイドが取得され、注目行列が取得されます。次に、K3 コンボリューション カーネルを通過した X1 が乗算され、最後に K4 コンボリューション カーネル出力を通じて Y1 が得られ、Y1 と Y2 が接続されて出力特徴マップが形成されます。遠隔地の情報コンテキストをどのように取得するか? 主に X1 の注意メカニズムにあります。アップサンプリングおよびダウンサンプリングされた特徴は、より広い受容領域を持ちます。
これはデュアル アテンション メカニズムに似ていますが、このアテンション メカニズムは 1 つのブランチにのみ導入されており、本質的にはセルフ アテンション メカニズムです。もう一つの違いは、抽出される特徴が異なることであり、二重注意はチャネルと空間に分かれていますが、そうではありません。このモジュールの利点は、4 つの畳み込み演算であるように見えます。しかし、実際には、各コンボリューション カーネルは以前の 1/4 (C/2、C/2、H、W) であるため、増加する計算量は比較的限られています。

ストリップ プーリング
SPNet は、水平プーリングと垂直プーリングを別々に実行し、kernel=3 で 1 次元の畳み込みによって拡張し、加算または乗算によって結合するという図だけでも簡単に理解できます。モデルが全体像を把握しやすくなります。
ここに画像の説明を挿入します

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/smallbig12/article/details/129651536