[初心者 Bai Xiang - 基本的な高度な数学とライン生成の知識しか持っていないように感じます] - SE (スクイーズと励起) モジュールの原理理解と説明 - 主に他の人の記事に自分の理解を加えたもの

第 1 章 SE モジュールの原理の説明 (理解を早くするためにコピーしました)

++++チャネル アテンション メカニズム SE (スクイーズと励起) モジュールと動的アクティベーション機能がバックボーン ネットワーク xx に導入され、主要オブジェクトの主要な特徴を抽出する特徴抽出モジュールの機能が強化され、勾配集中化アルゴリズムを使用して高速化されます。モデルのトレーニングを強化し、モデルの汎化能力を向上させるために、改良されたネットワーク フレームワークを図 1.1 に示します (まだ描画されていません)。具体的には、チャネル アテンション メカニズム SE モジュールは、バックボーン ネットワーク xx の各ボトルネック層の最後のバッチ正規化層の後に埋め込まれているため、モデルは入力特徴の情報の重要性に応じて異なる重みを選択的に割り当てることができます。(以下内容は SE モジュールとは関係ありませんが、参考と理解のために抜粋することができます。動的アクティベーション関数は、バックボーン ネットワーク xx の元の ReLU アクティベーション関数を置き換えるために使用され、モデルが動的にパラメータを調整できるようにします。入力特徴に従って活性化関数を実行し、主要オブジェクト特徴のより良い実装を実現します。勾配集中化アルゴリズムは、ネットワーク モデルの逆伝播プロセス中に勾配更新に直接作用して、モデルのトレーニング速度と汎化能力を向上させます。)

++++ (第 1 章の最初のセクションのすべてのテキスト内容は、論文 [1] Sun Yibo によるものです。残留ネットワークに基づく歩行者再識別方法 [D]。中国人民公安大学、2022 年。DOI: 10.27634 /d.cnki.gzrgu.2022.000213.ダウンロード方法:CNKIダウンロード)

1.1 SCPNet モデルに組み込まれたチャネル アテンション SE モジュール

++++ディープ ニューラル ネットワークの構造設計では、アテンション メカニズムによって再割り当てされたリソースは重みを参照します。異なる重みの割り当てを通じて、限られた注意を重要な領域に集中させ、無関係な領域を無視してリソースを節約できます。したがって、アテンション メカニズムを使用すると、ネットワーク モデルは、少数のパラメーターを導入することで、大量の情報を含む画像からより判断力のある視覚的特徴を迅速に取得できます。(名詞の説明、重要な役割、最後の文に相当し、利点とメリットと機能を分析する論文の中心的な目的と結合されます)
++
図1.2 SEモジュール
図 1.2 SE モジュール

++(以下の内容に数式が含まれる場合はスクリーンショットで解除してください)
ここに画像の説明を挿入します
++以下は2日目の学習内容です++
ここに画像の説明を挿入します
番号001 [赤字部分は自作のコメントです。コメントはテキスト内容ではありません]
注 1) 理解できない場合は、SE モジュールのベースライン ペーパーや分析を参照すると理解できるはずです。( 4 日目の答え: 2 次元行列: 入力がカラー画像であると仮定すると、3 セットの 2 次元行列があり、それぞれ、3 つのカラー チャネルの対応するピクセル位置によって生成されたカラー値を表します。コンピューターの色覚、および各カラー チャネル 対応する 2 次元数値行列は、記事で参照されている c 番目の 2 次元行列です。下付き文字 c は、この例では 3 に対応する必要があります (画像は 2 次元、したがって、2 次元の数値行列があります))
注 2) 予備的な理解 : C (小文字はスカラーを、大文字はベクトルを指します) は特徴マップの数を指し、チャネルの数でもあります。特徴マップの数とチャネルの数は同じものを指します。したがって、図では、図の最後の色付き立方体のように、立方体を複数の直方体に分割し、重ね合わせて立方体にする必要があります (図 1.2)
ここに画像の説明を挿入します
No. 002 [各セクションは注釈付きの赤でマークされています。ここでは 4 つあります]赤枠部分】
注1)理解できません。マークを付けます ( 4 日目の回答: 全結合層のチャネル次元を圧縮するには、全結合層の演算プロセスを確認できます。チャネル次元は入力データ (例: 入力カラー画像) を参照する必要があります。 ) 畳み込み演算子を介して実行されます。畳み込み演算後、生成されるチャネルの数は畳み込み演算子の数に対応します。チャネルの数はチャネルの次元でなければなりません。)
注 2) 特徴次元に戻る目的は何ですか活性化関数層を介した出力の? さらに、「出力フィーチャーの次元」とは、SE モジュールの入力次元または出力次元であるか、または Squeeze 操作後の出力次元であるかにかかわらず、どの特定の次元を指します。
注3)「出力機能の寸法」とは何を指しますか?「特徴チャンネル数」とは何ですか?
注4)「入力特徴量が同じ重み値」とは何を意味しますか?チャネル間の相関モデリングとは何ですか? ( 4 日目の回答:「入力特徴量」とはチャネル数を指します。これは、Squeeze 圧縮操作の後、各チャネルは 1 つの特徴量のみに対応するためです。詳細については、後の Squeeze 操作の詳細な分析を参照してください)チャンネル間の相関関係がまだよく分かりません)
ここに画像の説明を挿入します
No.003
注1) 抽象的すぎます。抽象的な概念は理解できますが、具体的なプロセスはまだ理解できません(4日目の視聴: の感覚を理解する)注
2) この関数は、このギリシャ文字を使って表しますか? (注: 私は信号システムのクラスで学習したいくつかの基本的な関数を実際に考えています。各関数には、対応する表現用のギリシャ文字があることに注意してください。まだ見つけていません)
注3)同上、ギリシャ文字
++ 以下、3日目の学習内容です ++注4)ノートの内容には数式が含まれているため、絵付き
で示しています(4日目: 新しいテンソルは X 添字 c 上付き ~ です。その時はタイプミスをしてしまい、この明らかな間違いに気づきませんでした。理解できて少し嬉しかったのでしょう。)
ここに画像の説明を挿入します
++++追加後のモデル構造SE モジュールを図 1.3 に示します。

ここに画像の説明を挿入します
図1.3 SEモジュール追加後のモデル構成

1.2 CSDN WebサイトのSEモジュールの原理説明

++++ (このセクションのテキストは、この Web サイトのブロガーの記事から引用しています。リンクは次のとおりです: http://t.csdn.cn/XcZT9)
++++従来の畳み込み演算では、各入力チャネルを畳み込み、各チャネルの畳み込み結果を合計します。、この操作は畳み込みを学習します空間特徴とチャネル特徴が混在している;SE モジュールは、この種の混乱を抽出するためのものです。モデルはチャネルの特徴を直接学習します
No.004 (色の変更方法が分からないので、画像に表示されているテキストマークの色と一致しません。)
注1) 現時点ではまだ抽象的すぎるので、最初に行う必要があります。 「畳み込み演算が各チャネルに対して行うこと」を理解する(4日目の視聴:Indeed)
注2)同様に、空間特徴とチャネル特徴とは何ですか?これも理解する必要があります (うーん)
注 3) 予備理解: (間違っている可能性があるので、戻って修正する必要があるかどうかを確認する必要があります) チャネル機能はモデルの完全な入力信号として機能し、この入力信号パラメータのフィードバック結果に従ってモデル自体を調整します。4日目鑑賞:分かりません)
(以下本文)
++++SE モジュール - 機能チャネル間の相互依存性をモデル化し、学習を通じて各チャネルの重要性を取得します。そして、この重要度に従って各チャネルの特徴に重み付けを行い、それによって重要な特徴を強調し、重要でない特徴を抑制します。簡単に言えば、各チャネルの特徴マップに重みを付けるために一連の重みをトレーニングすることです。
本質的には、SE モジュールは、チャネル次元でアテンションとゲート操作を実行します。このアテンション メカニズムにより、モデルは重要なチャネル特徴により多くの注意を払うことができます。SE モジュールは他のネットワーク アーキテクチャに簡単に移植でき、コンピューティング パフォーマンスをわずかに低下させながら精度を大幅に向上させることができます。
ここに画像の説明を挿入します

ここに画像の説明を挿入します
図1.4 SEモジュール構成図

No.005
注1) チャネルとは何を指すのか、また、チャネルの特性がそれほど抽象的ではない場合、具体的には何を指すのでしょうか。( 4 日目の回答: 良い質問です... 1 日で 3 回も質問しました... (無力) チャネルはカラー チャネルの数を参照する必要があります (例: 入力はカラー画像です))
注 2 ) ここではSEモジュールの話をしているような気がします 経済的意義、利用メリット
注3) ちょっと違う気がします 畳み込み前後のデータ次元は必ずしも同じとは限らないので、別の文字で表現する必要があります。

1.2.1 圧縮(スクイーズ)

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

No.006
注1)本当ですか?深層学習における畳み込み演算についてはさらに学ぶ必要があります(4日目の回答:知っています、知っています)
注2)各チャネル(チャネルと理解しています)を空間的に圧縮すると理解してよいでしょうか?チャネルに属する固有値。つまり、各チャネルは固有値に圧縮され、固有値はチャネルの空間特性に関連付けられます。4日目に見る:はい、その通りだと思います)
注3)この写真を何と呼ぶか​​分かりません(4日目に見る:このように呼ぶのも正しいです)

1.2.2 励起

(ここでちょっとした問題があります。このセクションの図は前のセクションに移動しました。)
ここに画像の説明を挿入します
ここに画像の説明を挿入します
No. 007
注 1) 予備理解 (自分の言葉で訳してください): 圧縮後の各チャネルの固有値は 1 つだけであるという特徴を取得します。図では、特徴マップを全結合層に入力して特徴値の重み割り当てを予測および分析し、重み付けされた特徴マップを非圧縮特徴マップに適用して、パスのみ (パスだけではなく接続された) チャネルを取得します。は特徴情報から圧縮された固有値の関数です。したがって、この特徴マップには、チャネル特徴情報と密接に関係する重みが与えられ、この画像におけるチャネル特徴に関連する特徴が反映される。何?つまり、チャネルに関連付けられた特徴のキー領域が取得されます。( 3 日目の回答: 上記の記述は間違っています。特徴マップには固有値のみが含まれており、重みが割り当てられていないため、次のものはありません。) (4 日目の回答 : はい、圧縮演算の結果はチャネルです)
++以下は3日目の学習内容です++注2) 不思議なことに、チャンネル付きの特徴マップには全結合層が
含まれています。計算や解析のために付加される固有値 チャネル特性値に関わる重要な情報ですが、SERadioはスケーリングパラメータであり、チャネル数の削減と計算量の削減が目的ですが、重要な情報は削減されるのでしょうか?
注 3) ここで注意してください:「入力」と「入力次元」、この 2 つに違いはありますか?また、次元とは具体的に何を意味しますか? ( 4日目の回答: 記事中のこの文では、両者の意味に違いはありません。次元をどう説明したらよいかまだわかりません。)
注4) では、インセンティブ操作の役割は何でしょうか。( 3 日目の答え: スティミュレーション操作は、圧縮操作で得られた特徴マップに基づいて重み値を割り当て、その重み値が付加された特徴マップを出力することです。つまり、次元が増加した特徴マップは増加し、チャネル数に関連します。接続の重み値。)

1.2.3 スケール (元の特徴マップとチャネル重みを乗算)

ここに画像の説明を挿入します
ここに画像の説明を挿入します
No.008
注1) 2次元行列の掛け算はなぜ行われるのか 前回の記事にも公式が出てきましたが、どう理解すればよいでしょうか?( 3 日目の回答: 2 次元行列は、畳み込み演算や全結合演算などの深層学習の最も基本的な演算と組み合わせて理解する必要があります。) ( 4 日目の回答: これが画像を処理するプログラムなので、二次元行列とは画像の各色チャネルの数値行列を指します)
注2)まあ、一見すると非常にわかりにくいので、読み進めてみましょう。
注3)このモデルはこれまでに存在しませんでした。特別にマークしてください。

1.2.4 SEがアテンションメカニズムを実装する原理(理由)

ここに画像の説明を挿入しますここに画像の説明を挿入します
No.009
注1)自分で出した直接の結論。それが正しいかどうかはわかりません。
注2)どれくらいの計算量が削減できるでしょうか?それはモデルの実際の動作に関連しているでしょうか?

1.3 SE 論文分析 (CSDN Web サイトから記事を収集しました)

++++ (このセクションのテキストは、この Web サイトのブロガーの記事から引用しています。リンクは次のとおりです: http://t.csdn.cn/fbnZo)
++++用紙名: Squeeze-and- Excitation Networks (SENet)
+ +++主なアイデア: SEblock が提案されています。利点: 拡張機能チャネル
++++ 最初に示されているのは、図 1.7 に示すように、元の論文の Squeeze-and-Exciliation モジュールです。これは、前のセクションの主要な図と同じです (写真は変わっていません)。
ここに画像の説明を挿入します
図 1.7 Squeeze-and-Exciliation モジュールの構造図

ここに画像の説明を挿入します
No.010
注1) このセクションでは、これらのプロセスや文字が何を意味するかを理解できます。

1.3.1 入力データの畳み込み演算

ここに画像の説明を挿入します
++++コンボリューション カーネル パラメーターは入力データで乗算されます。(要約すると、コンボリューション カーネル パラメーターは入力データを乗算して特徴マップを取得します。複数のコンボリューション カーネルが入力データを畳み込み、特徴マップ行列を取得します。括弧内は私自身の予備的な理解であり、間違っている可能性があります。
)畳み込み演算の視覚化を図 1.8 に示します。

ここに画像の説明を挿入します
図 1.8 畳み込み演算の視覚的な図

ここに画像の説明を挿入します
No.011
注1) 予備知識:このように、いくつのコンボリューションカーネルがいくつのチャネルを表すでしょうか?(左の式の説明は式の後に書いてあります)
注2)括弧内の意味が未だに分かりません。畳み込み演算や深層学習の基本演算を読む必要があるかもしれません。
注3) このnoteの内容には数式が含まれるため、画像を載せておきます
ここに画像の説明を挿入します

注4)疲れた、1時間後:戻る
注5)ノートには数式が含まれているので画像を載せる
ここに画像の説明を挿入します
++ 以下は4日目の学習内容です ++

1.3.2 圧縮処理(スクイーズ)

ここに画像の説明を挿入しますここに画像の説明を挿入します
ここに画像の説明を挿入します
図 1.9 スクイーズ (圧縮) 操作の視覚化回路図
ここに画像の説明を挿入します
No.012
注1)計算式がありますので、画像をあげてください
ここに画像の説明を挿入します

注2) 暫定修正:ここでは、図中の添字を基に統一修正を行っております。ただし、式中の添え字にマークを付ける必要があるかどうかは疑問です
注 3) 私にとってはまだ少し一般的ですが、「数値分布」をどのように理解すればよいでしょうか?
注 4) ここの英語は理解できません。事前理解: 入力特徴マップの次元は
? 注 5) ここにあります。前に理解したように、各 2 次元特徴チャネル (特徴マップ) は実数になります。(セクション 1.2 の圧縮に関するコメントを参照してください)
注 6) なぜこれがここで当てはまるのかは明らかではありません。
注7)ここでの分析は今のところ理解できません。その中には理解できない知識がたくさんあります。
注8) この模式図により、多次元の特徴行列がどのようにして「1次元」の特徴マップになるのかをより直観的に理解することができます
注9) 予備理解:学習された特徴マップは、入力データを演算して得られる特徴マップ、学習とは深層学習の内容である畳み込み演算を指しますので、「学習」は畳み込み演算を指します 注
10) 予備解析:行っておりません。この理解に同意します。私の基礎知識が足りないのかもしれませんが、現在の理解では圧縮操作がグローバル情報に関わるものであることには何の問題もありません(ただし抽象的で具体的には理解できません)特徴情報間の関係についての私の理解はまったく逆です。特徴情報間の関係(チャネル全体の特徴情報が実際の値に還元される)ではなく、特徴情報間の関係だと思います。特徴チャンネル間の関係(チャンネル間の接続は数式や数値変化に現れない)
注11) お腹が空いた、まだ元気だけどお腹が空いた。

おすすめ

転載: blog.csdn.net/Timeloser_tong/article/details/129988964