特徴マップ

Feature Map

特徴マップとは

特徴マップ(Feature Map、活性化マップとも呼ばれる)は、CNNの畳み込み層がフィルタを適用した結果として生成される2次元の配列です。入力データから特定のパターンや特徴がどこにどの程度存在するかを空間的に表現したもので、各畳み込み層の出力として複数の特徴マップが生成されます。

特徴マップの階層性

CNNの浅い層で生成される特徴マップは、エッジ、コーナー、色の変化などの低レベルな特徴に対応しています。層が深くなるにつれて、テクスチャ、パーツ、物体全体など、より抽象的で高レベルな特徴が表現されるようになります。この階層的な特徴抽出がCNNの強みです。

特徴マップのサイズと計算

特徴マップのサイズは、入力サイズ、フィルタサイズ、ストライド、パディングによって決まります。一般的に深い層ほど空間解像度は小さくなり(プーリングやストライドにより)、チャネル数は増加します。出力サイズの計算式はO = (I - K + 2P) / S + 1で表されます(I: 入力サイズ、K: カーネルサイズ、P: パディング、S: ストライド)。

特徴マップの可視化と解釈

特徴マップの可視化は、モデルがどのような特徴に注目しているかを理解するために重要です。Grad-CAMやActivation Maximizationなどの手法を用いて特徴マップを可視化することで、モデルの判断根拠を解釈できます。これはモデルのデバッグや信頼性の向上に役立ちます。