プーリング層とは
プーリング層(Pooling Layer)は、CNNにおいて特徴マップの空間的なサイズを縮小するために使用される層です。ダウンサンプリングとも呼ばれ、計算量とメモリ使用量を削減しながら、特徴の位置に対する頑健性を高める役割を果たします。プーリングにはいくつかの方式があり、それぞれ異なる特性を持っています。
最大プーリングと平均プーリング
最も一般的なプーリング方式は最大プーリング(Max Pooling)で、各領域から最大値を選択します。これにより、最も強い特徴応答が保持されます。一方、平均プーリング(Average Pooling)は各領域の平均値を計算し、より滑らかな特徴表現を生成します。Global Average Pooling(GAP)は特徴マップ全体の平均を取り、全結合層の代替として分類に使用されることもあります。
プーリングの設計パラメータ
プーリング層の動作は、ウィンドウサイズとストライドによって制御されます。一般的に2x2のウィンドウでストライド2を使用し、特徴マップのサイズを半分に縮小します。ストライドをウィンドウサイズより小さくすると重複プーリングとなり、より多くの情報が保持されます。
プーリングの役割と近年の動向
プーリング層は過学習の抑制や計算効率の向上に貢献しますが、空間情報の一部が失われるという欠点もあります。近年のアーキテクチャでは、ストライド付き畳み込み(Strided Convolution)でプーリングを置き換える設計も増えています。これにより、ダウンサンプリングの方法もモデルが学習できるようになり、より柔軟な特徴抽出が可能になります。