サブサンプリング層(Subsampling Layer)は、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)において、特徴マップの空間的な次元を削減するために用いられる層です。この層は、入力された特徴マップを小さな領域に分割し、各領域から代表的な値を抽出することで、情報の圧縮と重要な特徴の抽出を同時に行います。
サブサンプリング層の役割
サブサンプリング層の主な役割は以下の通りです。
- 空間的な次元削減
- 特徴マップのサイズを小さくすることで、計算量を削減し、メモリ使用量を低減します。
- 位置不変性の獲得
- わずかな位置のずれに対して、出力が変化しない性質(位置不変性)を獲得し、モデルの汎化性能を向上させます。
- 重要な特徴の抽出
- 各領域から代表的な値を抽出することで、重要な特徴を強調し、ノイズの影響を低減します。
サブサンプリング層の種類
サブサンプリング層には、主に以下の2つの種類があります。
- 最大プーリング(Max Pooling)
- 各領域から最大値を抽出します。これにより、最も顕著な特徴が強調されます。
- 平均プーリング(Average Pooling)
- 各領域の平均値を抽出します。これにより、特徴の平均的な傾向が保持されます。
サブサンプリング層の仕組み
サブサンプリング層は、入力された特徴マップを小さな領域(プーリングウィンドウ)に分割し、各領域に対してプーリング操作を行います。プーリングウィンドウのサイズやストライド(移動量)は、ハイパーパラメータとして設定できます。
例えば、2×2のプーリングウィンドウとストライド2を使用する場合、入力された特徴マップは2×2の領域に分割され、各領域から1つの値が抽出されます。これにより、特徴マップのサイズは半分に削減されます。
サブサンプリング層の応用
サブサンプリング層は、画像認識、物体検出、セマンティックセグメンテーションなど、様々な画像処理タスクにおいて、CNNの重要な構成要素として利用されています。
補足
- 近年では、サブサンプリング層の代わりに、ストライド付き畳み込み層を使用するケースも増えています。
- サブサンプリング層は、プーリング層とも呼ばれます。