プーリング
読み: ぷーりんぐ
特徴マップの空間解像度を縮小し、計算量を削減しつつ位置ずれに対する頑健性を高めるダウンサンプリング操作。
プーリング (Pooling) は、畳み込みニューラルネットワーク (CNN) において特徴マップの空間サイズを縮小する操作である。指定したウィンドウ (カーネル) 内の値を 1 つの代表値に集約することで、パラメーター数と計算量を削減し、特徴の微小な位置変動の影響を受けにくくする。
例えば 2x2 ウィンドウ / ストライド 2 のマックスプーリングでは、各領域の最大値を選択する。これにより特徴マップの幅と高さがそれぞれ半分になり、空間解像度は 1/4 に縮小される。VGG-16 では 5 回のマックスプーリングにより 224x224 の入力を 7x7 まで段階的に縮小する。
- マックスプーリング: 領域内の最大値を取る。エッジや角などの顕著な特徴を保持しやすい
- アベレージプーリング: 領域内の平均値を計算する。テクスチャ情報を滑らかに保持し、最終層のグローバルアベレージプーリング (GAP) ではチャンネルごとに全空間を 1 値に集約する
- ストライド畳み込み: プーリング層の代わりにストライド 2 の畳み込みを使う手法。学習可能なパラメーターでダウンサンプリングを行う
プーリング層をストライド畳み込みに置き換えるアーキテクチャもあり、GAP は全結合層の代替としても使われる。セグメンテーションタスクでは、空間情報の損失を抑えるためにプーリングインデックスの保存やアトラス畳み込み (Dilated Convolution) などの工夫が施される。