イントロの背景
たたみ込みニューラルネットワーク内では、通常、次のような一般的な構造/フローがあります。
- 入力画像(つまり、2Dベクトル
x
)
(最初の畳み込み層(Conv1)はここから始まります...)
w1
2D画像に沿ってフィルターのセット()を畳み込みます(つまり、z1 = w1*x + b1
内積の乗算を行います)。ここz1
で3Db1
はバイアスです。- アクティベーション関数(ReLuなど)を適用して、
z1
非線形(egなどa1 = ReLu(z1)
)を作成しa1
ます。ここで3Dです。
(2番目の畳み込み層(Conv2)はここから始まります...)
- 新しく計算されたアクティベーションに沿って一連のフィルターを畳み込みます(つまり、
z2 = w2*a1 + b2
内積の乗算を行います)。ここでz2
は3Dであり、b2
バイアスです。 - アクティベーション関数(ReLuなど)を適用して、
z2
非線形(egなどa2 = ReLu(z2)
)を作成しa2
ます。ここで3Dです。
質問
「機能マップ」という用語の定義は、文学ごとに異なるようです。具体的に:
- 1番目の畳み込み層の場合、「機能マップ」は入力ベクトル
x
、または出力ドット積z1
、または出力アクティベーションa1
、またはに変換x
する「プロセス」a1
、または他の何かに対応しますか? - 同様に、2番目の畳み込み層の場合、「機能マップ」は入力アクティベーション
a1
、または出力ドット積z2
、または出力アクティベーションa2
、またはに変換a1
する「プロセス」a2
、または他の何かに対応しますか?
また、「機能マップ」という用語が「アクティベーションマップ」とまったく同じというのは本当ですか?(または、実際には2つの異なる意味ですか?)
追加の参照:
ニューラルネットワークとディープラーニングのスニペット-章6:
*ここで命名法は大まかに使用されています。特に、「機能マップ」を使用して、畳み込み層によって計算された関数ではなく、層から出力される隠されたニューロンの活性化を意味しています。このような命名法の軽度の乱用は、研究文献ではかなり一般的です。
Matt Zeilerによる畳み込みネットワークの視覚化と理解からの抜粋:
このペーパーでは、モデル内の任意のレイヤーで個々の機能マップを励起する入力刺激を明らかにする視覚化手法を紹介します。[...]これとは対照的に、アプローチは不変量のノンパラメトリックビューを提供し、トレーニングセットのどのパターンが機能マップをアクティブにするかを示します。[...]フィーチャマップ全体の応答を正規化するローカルコントラスト操作。[...]指定されたconvnetアクティベーションを調べるために、レイヤー内の他のすべてのアクティベーションをゼロに設定し、接続されたdeconvnetレイヤーへの入力として機能マップを渡します。[...] convnetは、relu非線形性を使用します。これにより、フィーチャマップが修正され、フィーチャマップが常に正であることが保証されます。[...] convnetは、学習したフィルターを使用して、前のレイヤーの機能マップを畳み込みます。[...]図6 これらの視覚化は、モデル内の特定の機能マップを刺激する入力パターンの正確な表現です。パターンに対応する元の入力画像の部分が遮られると、機能マップ内のアクティビティが明確に低下します。[...]
備考:図1に「機能マップ」と「修正された機能マップ」という用語も導入されています
スニペットCNNのスタンフォードCS231n章:
[...]この視覚化で簡単に気付かれる危険な落とし穴の1つは、いくつかのアクティベーションマップが多くの異なる入力に対してすべてゼロになる可能性があることです。猫の写真を見ている訓練を受けたAlexNetの最初のCONVレイヤー(左)と5番目のCONVレイヤー(右)の典型的な外観のアクティベーション。すべてのボックスには、フィルターに対応するアクティベーションマップが表示されます。アクティベーションがまばらであり(この視覚化では黒で示されているように、ほとんどの値はゼロです)、ほとんどローカルであることに注意してください。
A-Beginner's-Guide-To-Understanding-Convolutional-Neural-Networksのスニペット
[...]入力ボリューム上の一意の場所ごとに番号が生成されます。すべての場所でフィルターをスライドすると、残っているのは28 x 28 x 1の数字の配列であり、これをアクティベーションマップまたはフィーチャマップと呼びます。
a1
、a2
など)。Conv2ではa1
、入力アクティベーションマップとa2
出力アクティベーションマップを呼び出すと思います。Conv1ではx
、入力画像とa1
出力アクティベーションマップがあります。