畳み込みニューラル ネットワーク
各コンボリューション カーネルは異なる特徴を抽出します。各畳み込みカーネルは入力を畳み込み、特徴マップを生成します。この特徴マップは、入力から畳み込みカーネルによって抽出された特徴を反映します。異なる特徴マップは、画像内の異なる特徴を示します。
- 浅い畳み込みカーネル抽出: エッジ、色、パッチなどの基礎となるピクセル特徴。
- 中レベルのコンボリューションカーネル抽出: ストライプ、ライン、形状などの中レベルのテクスチャ特徴。
- 高レベルのコンボリューションカーネル抽出: 目、タイヤ、テキストなどの高レベルのセマンティック特徴。
最後に、分類出力層は最も抽象的な分類結果を出力します。
上の図は、浅い畳み込みカーネルによって抽出された特徴を示しています。一部の畳み込みカーネルは形状を抽出し、一部は色を抽出することがわかります。ガボールフィルターに似た畳み込み機能です。
上の図は、中間および深層コンボリューション カーネルによって抽出された特徴を示しています。中間コンボリューション カーネルは、より大きな色とテクスチャのブロックを抽出します。深層コンボリューション カーネルによって抽出された特徴には、人間またはいくつかの具体的なものが含まれる場合があります。
CAMの解釈可能性
上の図では、入力された元の画像が層ごとに畳み込まれ、最後の層では512 個の畳み込みカーネルと 512 個のチャネルが存在します。つまり、GAP (グローバル平均プーリング) の後、512 個の深さの特徴が抽出されます。チャネル特徴ごとに平均が計算され、各特徴値の重み (係数) が FC (完全接続層) 層 - \(W_1, W_2, W_3,..., W_n\)を通じて取得されます。 category で得られるスコア値(score)を取得できます。
\(スコア=W_1*青の固有値+W_2*赤の固有値+...+W_n*緑の固有値\)
取得され、最終的に CNN 分類のプロセスであるソフトマックスを通じて確率値が計算されます。CAM ヒート マップでは、主に特徴量の重み\(W_1, W_2, W_3,..., W_n\)に反映されます。最終的な分類結果がさまざまな特徴に注ぐ注目度を示します。
- CAMの欠点
- GAP レイヤーが存在する必要があります。そうでない場合は、モデル構造を変更して再トレーニングする必要があります。
- 最後の畳み込み層の出力のみを分析でき、中間層は分析できません。
- 画像分類タスクのみ
GradCAM
GradCAM では、GAP 層を使用する代わりに、FC 層を完全に使用して、 \(y^c\)で表される全結合層を通じてスコアを出力できます。
- 行列の導関数
1. ベクトルに関するスカラー関数の導関数:
これは 2 次元のスカラー関数です。この関数の最小値は次のようになります。
\({df(y)\over dy}=0\)
この関数が 2 つの独立変数から構成される 3 次元のスカラー関数である場合、イメージは次のようになります
この二項関数の最小値を同時に求めます
- \({∂f(y_1,y_2)\over ∂y_1}=0\)
- \({∂f(y_1,y_2)\over ∂y_2}=0\)
スカラー関数に n 個の独立変数\(f(y_1,y_2,y_3,...,y_n)\)がある場合、ベクトルを定義します。
Y=[ ]
次に、ベクトル Y に関する関数の偏導関数は次のように定義できます。
\({∂f(Y)\over ∂Y}=\) \([\) \(]\)
これは n*1 列ベクトルであり、その行数は分母 Y と同じであることがわかります。このレイアウトは分母レイアウトと呼ばれます。
同様に、ベクトル Y に関する関数の偏導関数を次のように定義することもできます。
\({∂f(Y)\over ∂Y}=[{∂f(Y)\over ∂y_1}{∂f(Y)\over ∂y_2}...{∂f(Y)\over ∂y_n }]\)
これは 1*n 行ベクトルであり、その行数は分子 f(Y) (1*1 スカラー) と同じであることがわかります。このようなレイアウトは分子レイアウトと呼ばれます。
分母レイアウトと分子レイアウトは相互に転置されます。
例 1: \(f(y_1,y_2)=y_1^2+y_2^2\)
分母のレイアウト:
Y=[ ]とします。
しかし
\({∂f(Y)\over ∂Y}=\) [ ]=[
]
分子配置:
令\(Y=[y_1 y_2]\)
しかし
\({∂f(Y)\over ∂Y}=[ {∂f(Y)\over ∂y_1} {∂f(Y)\over ∂y_2}]=[2y_1 2y_2]\)
2. ベクトル関数のベクトルに関する導関数
関数もベクトルの場合
F(Y)=[ ]
ここでの各\(f_x(Y)\) (x=1,2,3,...,m) は、上記のスカラー関数 f(Y) (独立変数はベクトル Y)、F(Y ) と同等です。は m*1 のベクトル関数です。
例 1:
- Y=[
]
- F(Y)=[
]=[
]
ベクトルに関するベクトル関数の偏導関数、分母のレイアウトは次のとおりです。
\({∂F(Y)\over ∂Y}=\) [ ]=[
]
例 1 と同様に、次のものがあります。
\({∂F(Y)\over ∂Y}=\) [ ]=[
]=[
]
これは 3*2 の行列です。
1990 年代生まれのプログラマーがビデオ移植ソフトウェアを開発し、1 年足らずで 700 万以上の利益を上げました。結末は非常に罰的でした。 Google は、Flutter、Dart、Python チームの中国人プログラマーの「35 歳の呪い」に関係する人員削減を認めた 。Microsoft は 、 無力な中年者にとっては幸運なおもちゃでもある。強力で GPT-4.5 の疑いがある; Tongyi Qianwen オープンソース 8 モデルWindows 1.0 が 3 か月以内に正式に GA Windows 10 の市場シェアは 70% に達し、Windows 11 GitHub がAI ネイティブ開発ツール GitHub Copilot Workspace JAVAをリリースOLTP+OLAP を処理できる唯一の強力なクエリです。これが最高の ORM です。