最大値プーリング(Max Pooling)は、畳み込みニューラルネットワーク(CNN)において、特徴マップの空間的な次元を削減するために使用されるプーリング層の一種です。この層は、入力された特徴マップを小さな領域に分割し、各領域から最大値を抽出することで、重要な特徴を強調し、計算量を削減します。
最大値プーリングの仕組み
最大値プーリングは、以下の手順で特徴マップを処理します。
- 領域分割
- 入力された特徴マップを、指定されたサイズの小さな領域(プーリングウィンドウ)に分割します。
- 最大値抽出
- 各領域から最大値を抽出します。
- 出力生成
- 抽出された最大値を集めて、新しい特徴マップ(プーリングされた特徴マップ)を生成します。
最大値プーリングの利点
最大値プーリングは、以下の利点を持ちます。
最大値プーリングの応用
最大値プーリングは、画像認識、物体検出、セマンティックセグメンテーションなど、様々な画像処理タスクにおいて、CNNの重要な構成要素として利用されています。
最大値プーリングの例
例えば、4×4の特徴マップに対して、2×2のプーリングウィンドウで最大値プーリングを行う場合、以下のような処理が行われます。
入力特徴マップ:
[[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]]
プーリングウィンドウ: 2x2
ストライド: 2
出力特徴マップ:
[[6, 8],
[14, 16]]
この例では、入力特徴マップが2×2の領域に分割され、各領域から最大値が抽出されています。
補足
- 最大値プーリングは、平均値プーリング(Average Pooling)と並んで、CNNでよく使用されるプーリング手法です。
- プーリングウィンドウのサイズやストライド(移動量)は、ハイパーパラメータとして設定できます。