特徴マップとは

とくちょうまっぷfeature map

1行定義

特徴マップとは、CNNの畳み込み層でフィルタを入力に適用した出力で、フィルタが捉える特徴が入力のどの位置にどの程度現れているかを表す値の並びのことです。

くわしく

特徴マップは、CNNが「画像のどこに、どんな特徴があるか」を記録した地図です。畳み込み層の出力そのもので、次の層への入力にもなります。

どうやって作られるか

畳み込み層では、フィルタ(カーネル)と呼ぶ小さな重みの表を、入力の上で少しずつずらしながら当てます。各位置で重なった値どうしを掛けて合計し、その値を元の位置関係のまま並べます。こうしてできた2次元の表が、1枚の特徴マップです。学習で更新されるのはフィルタの重みで、特徴マップは入力が変わるたびに計算し直される出力です。

たとえば縦線に反応するフィルタなら、入力に縦線がある場所で大きな値になります。1枚のフィルタは入力の全チャネルにまたがって計算し、1枚の特徴マップを作ります。そのため、出力のチャネル数はフィルタの枚数と同じです。カラー画像(3チャネル)に64枚のフィルタを使えば、64チャネルの特徴マップが出力されます。

サイズの求め方

特徴マップの縦横のサイズは、次の式で求めます。割り切れないときは、小数点以下を切り捨てます。

出力サイズ = (入力サイズ + 2 × パディング − フィルタサイズ) ÷ ストライド + 1

パディングで入力の周囲を埋めると小さくなりにくく、ストライドを大きくすると小さくなります。プーリング層は、チャネルごとに縦横を縮める処理で、チャネル数は変えません。

層による違い

入力に近い層の特徴マップは、エッジや色の変化のような単純な模様に反応します。層が深くなるにつれて、目や車輪のような部位、さらに物体全体のような抽象的な特徴に反応するようになります。深い層ほど、縦横が小さくなる代わりにチャネル数が増えるのが一般的です。

最後の畳み込み層の特徴マップは、Grad-CAMによる判断根拠の可視化や、物体検出・セグメンテーションのモデルでも使われます。

覚え方

「フィルタ1枚につき、地図が1枚」と覚えます。

G検定での出題

フィルタの枚数と出力チャネル数の関係、パディングやストライドを含めた出力サイズの計算、層が深くなるにつれて抽象的な特徴を表すようになる性質が問われます。

混同しやすい用語

用語意味
カーネル(畳み込み)CNNの畳み込み層で入力の上をずらしながら当てる小さな重みの配列で、局所的な特徴を取り出す役割をもつもの

◯×チェック

  1. 3チャネルのカラー画像に、3×3のフィルタを16枚使う畳み込み層を適用すると、出力される特徴マップは入力と同じ3チャネルになる。

    答えを見る

    答え × 誤り

    1枚のフィルタは入力の3チャネルすべてにまたがって計算し、1枚の特徴マップを作ります。出力のチャネル数はフィルタの枚数と同じ16です。

  2. 特徴マップの値は、フィルタの重みと同じように、誤差逆伝播法による学習で直接更新されるパラメータである。

    答えを見る

    答え × 誤り

    学習で更新されるのはフィルタの重みとバイアスです。特徴マップは入力ごとに計算される中間の出力で、入力の画像が変われば値も変わります。

  3. 画像分類に使われる一般的なCNNでは、層が深くなるにつれて、特徴マップの縦横は小さくなり、チャネル数は増えていく。

    答えを見る

    答え ◯ 正しい

    VGG16では、最初の畳み込み層の出力が224×224×64、最後の畳み込み層の出力が14×14×512です。プーリングで縦横を縮めながら、フィルタの枚数を増やしていきます。

練習問題

特徴マップの問題(11問)
  1. 畳み込みの出力サイズ計算
  2. 畳み込み層の構成要素の役割
  3. 畳み込み層のパラメータ数
  4. 畳み込みの設定と出力の変化
  5. エッジ検出フィルタの出力計算
  6. 畳み込みと位置ずれへの性質
  7. 1×1畳み込みの役割
  8. 最大値プーリングの計算
  9. 射影ショートカットの重みの数
  10. FPNによるマルチスケール検出
  11. 解釈手法の弱点と注意点

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術18

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習