畳み込みニューラルネットワークの「機能マップ」(別名「活性化マップ」)の定義は何ですか?


32

 イントロの背景

たたみ込みニューラルネットワーク内では、通常、次のような一般的な構造/フローがあります。

  1. 入力画像(つまり、2Dベクトルx

(最初の畳み込み層(Conv1)はここから始まります...)

  1. w12D画像に沿ってフィルターのセット()を畳み込みます(つまり、z1 = w1*x + b1内積の乗算を行います)。ここz1で3D b1はバイアスです。
  2. アクティベーション関数(ReLuなど)を適用して、z1非線形(egなどa1 = ReLu(z1))を作成しa1ます。ここで3Dです。

(2番目の畳み込み層(Conv2)はここから始まります...)

  1. 新しく計算されたアクティベーションに沿って一連のフィルターを畳み込みます(つまり、z2 = w2*a1 + b2内積の乗算を行います)。ここでz2は3Dであり、b2バイアスです。
  2. アクティベーション関数(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の数字の配列であり、これをアクティベーションマップまたはフィーチャマップと呼びます。

回答:


27

機能マップまたはアクティベーションマップは、特定のフィルター(この場合はa1)の出力アクティベーションであり、定義はどのレイヤーに関係なく同じです。

機能マップアクティベーションマップの意味はまったく同じです。これは、画像のさまざまな部分のアクティブ化に対応するマッピングであるため、アクティブ化マップと呼ばれます。また、画像内の特定の種類の機能の場所のマッピングでもあるため、機能マップです。高いアクティベーションは、特定の機能が見つかったことを意味します。

「修正された機能マップ」は、Reluを使用して作成された機能マップにすぎません。ドット積(z1)の結果に使用される「機能マップ」という用語が表示される可能性があります。これは、実際には画像内の特定の機能の場所のマップでもあります。


1
入力いただきありがとうございます。私の理解であなたの応答を揃える(すなわち、活性化マップがあるa1a2など)。Conv2ではa1、入力アクティベーションマップとa2出力アクティベーションマップを呼び出すと思います。Conv1ではx、入力画像とa1出力アクティベーションマップがあります。
Atlas7

4

特徴マップの意味について話す前に、特徴ベクトルの用語を定義してみましょう。

特徴ベクトルは、オブジェクトのベクトル表現です。たとえば、車は[車輪の数、ドアで表すことができます。窓、年齢..など]。

特徴マップは、ある空間で特徴ベクトルを取り、別の空間で特徴ベクトルに変換する関数です。たとえば、特徴ベクトル[ボリューム、重量、高さ、幅]が与えられた場合、[1、ボリューム/重量、高さ*幅]または[高さ*幅]、または単に[ボリューム]を返すこともできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.