畳み込み層の説明に必ず登場する「特徴マップ」。フィルタや畳み込み操作とセットで出てくるため、どれが入力でどれが出力なのか混乱しがちです。この記事では「特徴マップ=畳み込みの出力」という位置づけを軸に、その中身と役割をすっきり整理します。

📖 ひと言でいうと

特徴マップとは、入力データにフィルタ(カーネル)を適用した結果として得られる出力データのことで、「どの場所にどんな特徴がどれくらい強く存在するか」を表した地図のようなものです。

身近な例えでは、宝探しで使う「反応マップ」を想像してください。金属探知機(フィルタ)を地面(入力画像)の上でくまなく動かし、反応の強さを地図に記録していくと、金属がある場所ほど濃く塗られた地図(特徴マップ)ができあがります。厳密には、畳み込みの積和演算の結果が大きい位置ほど「そのフィルタが探す特徴が強く存在する」ことを示す数値の並びです。

🖼 1枚でわかる特徴マップ

特徴マップ=「特徴のありか」を示す出力データ
  • 正体 — フィルタを適用して得られる畳み込み層の出力データ
  • 中身 — エッジやテクスチャなど局所特徴の強さと位置の記録
  • 役割 — 「データの特徴を際立たせる」畳み込み層の成果物
  • 枚数 — フィルタ1枚につき特徴マップ1枚が生成される
  • 行き先 — 次の層(プーリング・畳み込み)の入力として渡される
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

入力データに対してフィルタ(カーネル)を適用し、抽出された特徴を表現する出力データのことを指す。畳み込み層では、フィルタを用いて画像データから様々な特徴を際立たせる処理を行い、これにより得られるのが特徴マップである。特徴マップは、入力画像に対してフィルタを適用し、エッジやテクスチャなどの局所的な特徴を抽出する役割を持つ。これにより、モデルは画像の高次元な特徴を学習し、分類や認識といったタスクに活用することが可能となる。また、畳み込み層の役割を一言で表すと「データの特徴を際立たせる層」であり、フィルタを用いて画像データから様々な特徴を際立たせる処理を行っている。

かみ砕くと、特徴マップは畳み込み層の「作業成果物」です。畳み込み層の仕事は「データの特徴を際立たせる」ことであり、フィルタという道具で入力画像を処理した結果、エッジやテクスチャが強調されたデータ——それが特徴マップです。CNNはこの特徴マップをさらに次の層へ渡して処理を重ね、最終的な分類や認識に役立てます。

🔍 しっかり理解する

入力→フィルタ→特徴マップという3点セット

畳み込みまわりの用語は、データの流れで整理すると迷いません。

入力データ
元の画像(または前の層の特徴マップ)
フィルタ適用
スライドしながら積和演算(畳み込み操作)
特徴マップ
特徴の強い位置ほど大きな値が並ぶ出力
次の層へ
プーリングや次の畳み込みの入力になる

重要なのは、フィルタが「道具」、特徴マップが「結果」という関係です。たとえば縦線に反応するフィルタを画像に適用すると、縦のエッジがある場所だけ値が大きい特徴マップが得られます。横線用のフィルタなら横エッジの地図ができます。

フィルタの枚数だけ特徴マップができる

実際の畳み込み層は、1種類ではなく数十〜数百枚のフィルタを持ちます。フィルタ1枚から特徴マップが1枚生まれるので、フィルタが64枚あれば特徴マップも64枚(64チャネル)できます。つまり畳み込み層の出力は「縦×横×チャネル数」の3次元データで、チャネルごとに異なる特徴の地図が重なっている状態です。この「出力チャネル数=フィルタ数」という対応は、ネットワーク構造を読み解くうえでの基本になります。

層が深くなるほど「高次元な特徴」の地図になる

1層目の特徴マップは、エッジや色の変化といった単純な特徴の地図です。しかしCNNでは、この特徴マップが次の畳み込み層の入力になります。2層目のフィルタは「エッジの組み合わせ」に反応するため、その特徴マップは角や曲線の地図になります。層を重ねるほど「目」「車輪」「顔の輪郭」のような複雑で抽象的な特徴の地図へと進化していきます。公式テキストの「画像の高次元な特徴を学習」とは、この積み重ねのことです。

なお、特徴マップのサイズは畳み込みの設定で決まります。入力幅W、フィルタサイズF、パディングP、ストライドSのとき、特徴マップの幅は (W+2P-F)/S+1 です。パディングなしで畳み込むと特徴マップは入力より少し小さくなり、プーリング層を通るとさらに縮小されます。

💡 具体例で考える

学習済みCNNに猫の写真を入力し、途中の特徴マップを画像として可視化してみると、この概念が一気に腹落ちします。1層目の特徴マップには、猫の輪郭線だけが白く浮かび上がったもの、ヒゲの斜め線だけに反応したもの、毛のざらざらした質感に反応したものなどが並びます。深い層の特徴マップでは、耳や目の位置だけがぼんやり光るような、より抽象的な反応が見られます。「CNNは画像をどう見ているのか」を覗く窓が特徴マップなのです。

この可視化は実務でも役立ちます。たとえば検品AIが誤判定したとき、特徴マップを確認すると「傷ではなく照明の反射に強く反応していた」といった原因の手がかりが得られ、モデル改善につながります。

⚠️ よくある誤解・紛らわしい用語

💡 ポイント
  • フィルタ(カーネル)との混同 — フィルタは特徴を検出するための重みの行列(入力に適用する道具)、特徴マップはその適用結果(出力データ)です。試験では「特徴マップはフィルタのことである」といった入れ替え選択肢に注意してください。
  • 「特徴マップ=入力画像」ではない — 元の画像そのものではなく、フィルタで処理された後のデータです。ただし2層目以降にとっては、前の層の特徴マップが「入力データ」になります。
  • 活性化マップとの関係 — 畳み込みの出力に活性化関数を通した後のものを指して同様の言葉が使われることもありますが、G検定では「フィルタ適用で得られる出力データ」という公式の定義を軸に理解すれば十分です。
  • 「特徴マップは1枚だけ」ではない — フィルタの枚数分だけ生成され、チャネルとして重なります。

📝 試験でのポイント

💡 ポイント
  • 「入力データにフィルタを適用し、抽出された特徴を表現する出力データ」という定義がそのまま正誤問題・穴埋め問題になります。「出力」という言葉がキーです。
  • 畳み込み層の役割を一言で表す「データの特徴を際立たせる層」というフレーズも公式の表現として押さえておきましょう。
  • フィルタ・畳み込み操作・特徴マップの3語の関係(道具・処理・結果)を問う対比問題を想定してください。
  • プーリング層の説明文で「特徴マップの空間サイズを縮小する」と登場するなど、他キーワードの定義文の中にも現れる用語なので、文脈で見ても意味が取れるようにしておきましょう。

📚 まとめ

特徴マップは、入力データにフィルタを適用して得られる畳み込み層の出力データで、エッジやテクスチャなど局所的な特徴の「ありか」と「強さ」を記録した地図です。フィルタ1枚につき1枚生成され、層を重ねるごとに単純な特徴から高次元な特徴の地図へと進化します。フィルタ(道具)→畳み込み操作(処理)→特徴マップ(結果)という流れで覚えれば、紛らわしい用語問題にも迷わず対応できます。