特徴マップ (G検定)

特徴マップ

1. 定義と概要

特徴マップ(feature map、特徴量マップ)とは、畳み込み層でカーネル(フィルタ。入力データの一部を切り取って特徴を検出する、学習される小さな行列)を入力データ上でスライドさせながら積和演算(対応する数値同士を掛け合わせて合計する計算)を行った結果として得られる2次元の出力データです。エッジやテクスチャといった、カーネルが検出した特徴が元のデータのどの位置にどの程度強く現れているかを、空間的な分布として表現しています。

1枚のカーネルにつき1枚の特徴マップが生成されるため、畳み込み層で複数のカーネルを使用すると、その枚数分の特徴マップが得られます。それらを重ねたものが、その層の出力になります。

従来の画像認識では、人間があらかじめ着目すべき特徴を設計する特徴量エンジニアリング(モデルの精度を上げるために、どのデータ項目に着目し数値化するかを人間が設計する作業)が前提でした。CNN(畳み込みニューラルネットワーク)は畳み込み層を積み重ねることで、データから特徴そのものを自動的に学習する仕組みを備えており、この学習アプローチは表現学習(特徴量を人間ではなくモデル自身が自動で獲得する学習の考え方)と呼ばれます。

入力に近い浅い層ではエッジやコーナーのような単純な特徴を捉えた特徴マップが生成されます。層が深くなるにつれて、形状や物体パーツのような抽象度の高い特徴を捉えた特徴マップへと変化していきます。

2. 試験対策ポイント

まず整理したいのは、畳み込み層で使用するカーネルの枚数と、その層が出力する特徴マップの枚数の関係です。1枚のカーネルにつき1枚の特徴マップが生成されるため、カーネルを5枚使用すればチャネル(特徴マップの枚数を数える単位。例えばカラー画像はRGBの3チャネル)も5になるという対応関係にあります。

また、畳み込み層の出力サイズ、すなわち特徴マップの縦横のサイズを求める計算式もあわせて確認しておきたい内容です。式に登場する記号は次の4つにあたります。

記号 意味
W 入力サイズ
F カーネルサイズ
P パディング(入力データの周囲を0などの値で埋めて出力サイズを調整する処理)
S ストライド(カーネルを動かす間隔。何マスずつずらすか)

これらを用いると、畳み込み層の出力サイズは(W-F+2P)/S+1という式で求められます。

CNNは層が深くなるほど、各層の特徴マップが表す特徴がエッジのような低レベルの単純な特徴から、形状や物体パーツのような高レベルの抽象的な特徴へと段階的に変化するという階層性を持ちます。

関連用語もあわせて確認しておきたいところです。プーリング層(特徴マップの縦横のサイズを縮小して情報を要約する層)は、特徴マップの空間サイズを縮小する一方でチャネル数は変えません。

また、グローバルアベレージプーリング(GAP)は、各チャネルの特徴マップをまとめて1つの値に集約する処理で、全結合層(すべてのノードを結びつけて最終的な判断を行う層)の代わりに使われます。この仕組みはパラメータ(モデルが学習によって調整する内部の数値)の数を減らし、過学習(学習データに適合しすぎて未知のデータへの精度が下がること)を抑える効果につながる点が、押さえておきたいポイントです。

3. 関連概念との比較・相違点

特徴マップは、特徴量・カーネル・表現学習と混同されやすい用語です。それぞれ何と何を比べているのかを整理すると、次のようになります。

比較対象 違いの軸 特徴マップ側の位置づけ
特徴量 次元と具体性 空間的な分布を保った2次元の出力データ
カーネル 入力側か出力側か カーネルを適用した結果として生じる出力
表現学習 概念かその実体か 学習過程で実際に生成される中間出力データ

特徴量とは、表形式データの各列や画像全体を要約した数値やベクトルとして表される情報です。特徴マップとの最大の違いは次元と具体性にあり、特徴量が抽象的な数値表現であるのに対し、特徴マップはCNNの畳み込み層が出力する2次元の空間分布データであり、特徴量の空間版という位置づけにあります。

カーネルとの最大の違いは、入力側か出力側かという点です。カーネルは畳み込み演算に使われる学習対象の重みパラメータであるのに対し、特徴マップはそのカーネルを入力データに適用した結果生じる出力データにあたります。

表現学習との最大の違いは、概念とその実体という関係にあります。表現学習はデータから特徴を人手を介さず自動で獲得する学習アプローチを指す考え方であるのに対し、特徴マップはその学習過程でCNNの畳み込み演算によって実際に生成される中間出力データそのものを指します。

4. ビジネス・実務での活用シナリオ

製造業の外観検査では、畳み込み層が生成する特徴マップを可視化し、製品画像のどの位置でキズやムラへの反応が強く出ているかを人が確認できるようにする取り組みが進んでいます。AIの判断根拠を示しながら不良品検知に活用することで、検査担当者がAIの判定を鵜呑みにせず、根拠を確認したうえで最終判断を下せる体制につながります。

医療画像診断の分野では、MRIやレントゲン画像に対してCNNが段階的に生成する特徴マップを重ねることで、病変に相当する領域の特徴を抽出する取り組みが進められています。層が深くなるほど抽象度の高い特徴が捉えられる性質を生かし、医師の読影を支援する材料として役立てられています。

自動運転の分野では、カメラ映像から生成される特徴マップを通じて歩行者・車両・車線といった対象物の形状特徴を抽出し、後段の物体検出処理の入力として利用します。浅い層のエッジ検出から深い層の形状認識まで段階的に特徴を積み上げる仕組みが、刻々と変化する道路状況を捉える処理の土台になっています。

5. 要点まとめ

  • 特徴マップは畳み込み層がカーネルで入力を走査した結果得られる2次元の出力データであり、使用するカーネルの枚数がそのまま特徴マップの枚数(チャネル数)になる関係にあります。
  • 出力サイズは(W-F+2P)/S+1という式で計算し、層が深くなるほど特徴マップが表す特徴はエッジのような低レベルの特徴から物体の形状のような高レベルの特徴へと段階的に変化します。
  • プーリング層は特徴マップの空間サイズを縮小しチャネル数は変えない一方、グローバルアベレージプーリング(GAP)は各チャネルを1つの値に集約して全結合層を代替し、パラメータ数の削減に結びつきます。

6. 確認問題

問1畳み込み層で使用するカーネル(フィルタ)の枚数は、その層が出力する特徴マップの枚数(チャネル数)と一致する。

解答・解説をみる

○ 正しい

1枚のカーネルにつき1枚の特徴マップが生成されるため、カーネルの枚数がそのまま出力される特徴マップの枚数(チャネル数)になる関係にあります。

問2畳み込み層の出力サイズは、入力サイズ・カーネルサイズ・ストライド・パディングの値から(W-F+2P)/S+1という式で計算できる。

解答・解説をみる

○ 正しい

Wは入力サイズ、Fはカーネルサイズ、Pはパディング、Sはストライドを表し、この式で出力される特徴マップの縦横のサイズが求まります。

問3CNNでは、入力に近い浅い層ほど物体の形状のような抽象度の高い特徴を捉え、層が深くなるほどエッジのような単純な特徴を捉えるようになる。

解答・解説をみる

× 誤り

正しくは逆の関係で、浅い層はエッジやコーナーのような低レベルの単純な特徴を捉え、層が深くなるほど形状や物体パーツのような高レベルの抽象的な特徴を捉えるようになります。層の深さと抽象度の関係を逆にした記述です。