畳み込みニューラルネットワークの「機能マップ」(別名「活性化マップ」)の定義は何ですか?
イントロの背景 たたみ込みニューラルネットワーク内では、通常、次のような一般的な構造/フローがあります。 入力画像(つまり、2Dベクトルx) (最初の畳み込み層(Conv1)はここから始まります...) w12D画像に沿ってフィルターのセット()を畳み込みます(つまり、z1 = w1*x + b1内積の乗算を行います)。ここz1で3D b1はバイアスです。 アクティベーション関数(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の数字の配列であり、これをアクティベーションマップまたはフィーチャマップと呼びます。