サブサンプリング層(Subsampling Layer)

サブサンプリング層(Subsampling Layer)は、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)において、特徴マップの空間的な次元を削減するために用いられる層です。この層は、入力された特徴マップを小さな領域に分割し、各領域から代表的な値を抽出することで、情報の圧縮と重要な特徴の抽出を同時に行います。

サブサンプリング層の役割

サブサンプリング層の主な役割は以下の通りです。

  • 空間的な次元削減
    • 特徴マップのサイズを小さくすることで、計算量を削減し、メモリ使用量を低減します。
  • 位置不変性の獲得
    • わずかな位置のずれに対して、出力が変化しない性質(位置不変性)を獲得し、モデルの汎化性能を向上させます。
  • 重要な特徴の抽出
    • 各領域から代表的な値を抽出することで、重要な特徴を強調し、ノイズの影響を低減します。

サブサンプリング層の種類

サブサンプリング層には、主に以下の2つの種類があります。

  • 最大プーリング(Max Pooling)
    • 各領域から最大値を抽出します。これにより、最も顕著な特徴が強調されます。
  • 平均プーリング(Average Pooling)
    • 各領域の平均値を抽出します。これにより、特徴の平均的な傾向が保持されます。

サブサンプリング層の仕組み

サブサンプリング層は、入力された特徴マップを小さな領域(プーリングウィンドウ)に分割し、各領域に対してプーリング操作を行います。プーリングウィンドウのサイズやストライド(移動量)は、ハイパーパラメータとして設定できます。

例えば、2×2のプーリングウィンドウとストライド2を使用する場合、入力された特徴マップは2×2の領域に分割され、各領域から1つの値が抽出されます。これにより、特徴マップのサイズは半分に削減されます。

サブサンプリング層の応用

サブサンプリング層は、画像認識、物体検出、セマンティックセグメンテーションなど、様々な画像処理タスクにおいて、CNNの重要な構成要素として利用されています。

補足

  • 近年では、サブサンプリング層の代わりに、ストライド付き畳み込み層を使用するケースも増えています。
  • サブサンプリング層は、プーリング層とも呼ばれます。