1行定義
最大値プーリングとは、特徴マップを小さな領域に区切り、各領域の最大値だけを取り出して縮小する、CNNのプーリング処理のことです。
くわしく
最大値プーリング(マックスプーリング)は、CNNで特徴マップを縮小するために使う処理です。畳み込み層の後に置かれることが多く、VGGをはじめ多くのCNNで使われてきました。
計算のしかた
特徴マップを2×2などの小さな窓に区切り、窓の中の最大値を1つ取り出します。たとえば窓の中の値が1、3、2、8なら、出力は8です。2×2の窓をストライド2で重ならないように動かすと、縦と横はそれぞれ半分になり、値の数は4分の1になります。
処理はチャネルごとに別々に行うので、チャネル数は変わりません。窓の大きさとストライドは設計者が決めるハイパーパラメータで、学習する重みはありません。
何に役立つか
- 計算量を減らす:特徴マップが小さくなり、後ろの層の計算量やメモリが減ります。
- 位置ずれに強くなる:特徴が窓の中で少し動いても、最大値は変わりにくくなります。これを不変性の獲得と呼びます。縦の線に反応する特徴が1画素ずれても、同じ窓の中なら出力は同じです。
- 強い反応を残す:畳み込み層の出力が大きい位置は、その特徴がはっきり現れた場所です。最大値をとれば、「この範囲にこの特徴があった」という情報が残ります。
平均値プーリングとの違い
平均値プーリングは、窓の中の平均をとります。弱い反応も含めてならすので、際立った特徴は薄まりやすくなります。最大値プーリングは、背景のような弱い反応を無視し、最も目立つ反応だけを通します。
誤差逆伝播での扱い
逆伝播では、出力に使われた最大値の位置にだけ勾配が流れ、ほかの位置には0が伝わります。
弱点
窓の中のどこに特徴があったかという細かな位置の情報は捨てられます。画素単位の位置が大切なセグメンテーションでは、これを補う工夫が必要です。たとえばSegNetは、最大値をとった位置を記録しておき、拡大するときに使います。
覚え方
「窓の中のチャンピオンだけが次の層へ進む」と覚えます。
G検定での出題
出題のされ方
領域内の最大値を出力する計算、学習するパラメータを持たない点、小さな位置ずれに対する不変性、平均値プーリングやグローバルアベレージプーリングとの違いが問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| 最大値プーリングこのページの用語 | 特徴マップを小さな領域に区切り、各領域の最大値だけを取り出して縮小する、CNNのプーリング処理 |
| 平均値プーリング | 特徴マップを小さな領域に区切り、各領域に含まれる値の平均を出力して縮小する、CNNのプーリング処理 |
| グローバルアベレージプーリング | CNNの特徴マップをチャネルごとに全体で平均し、1チャネルを1つの値にまとめる処理 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
2×2の窓の最大値プーリングを1回かければ、特徴が画像の中で窓の大きさを超えて大きく移動しても、出力は変わらない。
答えを見る
答え × 誤り
不変性が得られるのは、最大値が同じ窓の中にとどまる程度の小さなずれだけです。特徴が窓をまたいで動けば、最大値の出る位置も変わります。
-
最大値プーリングでは、すべてのチャネルの値をまとめて比べ、位置ごとに1つの最大値を出力する。
答えを見る
答え × 誤り
最大値は、チャネルごとに窓の中の値から選びます。チャネルどうしを比べることはないため、出力のチャネル数は入力と同じです。
-
誤差逆伝播法では、最大値プーリングの勾配は、窓の中で最大値をとった位置にだけ伝わり、それ以外の位置には0が伝わる。
答えを見る
答え ◯ 正しい
出力に影響したのは最大値の要素だけだからです。最大値以外の要素を少し変えても、出力は変わりません。