イントロの背景

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

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

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

  1. 2D画像に沿って一連のフィルター(w1)を畳み込みます(つまり、z1 = w1*x + b1内積乗算)。ここで、z1は3Dであり、b1はバイアスです。
  2. アクティベーション関数(例:ReLu)を適用して、z1を非線形(例:a1 = ReLu(z1))にします。ここで、a1は3Dです。

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

  1. 新しく計算された活性化に沿って一連のフィルターを畳み込みます(つまり、z2 = w2*a1 + b2内積乗算を実行します)。ここで、z2は3Dであり、b2はバイアスです。
  2. 活性化関数を適用します(例: ReLu)z2を非線形(例:a2 = ReLu(z2))にします。ここで、a2は3Dです。 。

質問

用語の定義"機能マップ"は文学ごとに異なるようです。具体的には:

  • 最初の畳み込み層の場合、"特徴マップ"は入力ベクトルに対応しますかx、または出力ドット積z1、または出力アクティベーションa1、または"プロセス" xa1、または他の何か?
  • 同様に、2番目の畳み込み層の場合、"特徴マップ"は対応しますか入力アクティベーションa1、または出力ドット積z2、または出力アクティベーションa2 、または"プロセス" a1a2、または他の何か?

さらに、"という用語は本当ですかure map "は正確に アクティベーションマップ"? (または、実際には2つの異なる意味ですか?)

その他の参考資料:

ニューラルネットワークとディープラーニングのスニペット-第6章

*ここでは命名法が大まかに使用されています。特に、私は"特徴マップ"を使用して、畳み込み層によって計算された関数ではなく、隠れたニューロンは層から出力されます。この種の軽度の命名法の乱用は、研究文献ではかなり一般的です。


Matt Zeilerによる畳み込みネットワークの視覚化と理解:

この論文では、次のような視覚化手法を紹介します。モデル内の任意のレイヤーで個々の特徴マップを励起する入力刺激を明らかにします。[…]対照的に、私たちのアプローチは、不変性の非パラメトリックビューを提供し、トレーニングセットのどのパターンが特徴マップをアクティブにするかを示します。[。 ..]特徴マップ全体の応答を正規化するローカルコントラスト操作。[…]特定の畳み込みアクティブ化を調べるために、レイヤー内の他のすべてのアクティブ化をゼロに設定し、特徴マップを渡します。 ■接続された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 x1の数値の配列であることがわかります。アクティベーションマップまたは機能マップ。

回答

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

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

「修正された特徴マップ」は、Reluを使用して作成された単なる特徴マップです。ドット積(z1)の結果に使用される「特徴マップ」という用語が表示される場合があります。これは、実際には特定の特徴が画像内のどこにあるかを示すマップでもあるためですが、これは一般的ではありません。

コメント

  • ご意見ありがとうございます。あなたの回答は私の理解と一致しています(つまり、アクティベーションマップはa1a2などです)。 Conv2では、a1を入力アクティベーションマップと呼び、a2を出力アクティベーションマップと呼ぶと思います。 Conv1では、入力画像をx、出力アクティベーションマップをa1します。

回答

ここに画像の説明を入力

CNNの用語では、3×3マトリックスは「フィルター」または「カーネル」または「特徴検出器」と呼ばれ、フィルターを画像上でスライドさせて内積を計算することによって形成されるマトリックスは、 「畳み込み機能」または「アクティベーションマップ」または「機能マップ」。フィルタは元の入力画像からの特徴検出器として機能することに注意することが重要です。

ソース: https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/

回答

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

特徴ベクトルは、オブジェクトのベクトル表現です。たとえば、車は[ホイールの数、ドアで表すことができます。 windows、age..etc]。

特徴マップは、ある空間の特徴ベクトルを取得し、それらを別の空間の特徴ベクトルに変換する関数です。たとえば、特徴ベクトル[volume、weight、height、width]が与えられると、[1、volume / weight、height * width]または[height * width]、あるいは単に[volume]

を返すことができます。