プーリング層(シラバス 技術20)

学習目標

畳み込み層の出力を小さくまとめるプーリング層の目的を理解し、最大値プーリング・平均値プーリング・グローバルアベレージプーリングの計算の違いと、プーリングによって小さな位置ずれに強くなる理由を説明できるようにします。

要点

プーリング層の役割

プーリング層は、畳み込み層が出力した特徴マップを、小さな領域ごとに1つの値へまとめて縮小する層です。CNNでは、畳み込み層とプーリング層を交互に重ねる構成がよく使われます。目的は主に2つです。

  • 計算量を減らす:縦横のサイズが小さくなり、後ろの層の計算量やメモリが減ります。
  • 不変性の獲得:ウィンドウの中で特徴の位置が少しずれても、まとめた値はあまり変わりません。画像の中で対象がわずかに動いても、同じ特徴として扱いやすくなります。

プーリングには、学習で調整する重みがありません。どの値を残すかは、最大値や平均といった決まった計算で決まります。

最大値プーリングと平均値プーリング

2×2のウィンドウをストライド2で動かす例で比べます。あるウィンドウの中の値が1、3、2、8だったとします。

種類計算この例の結果性質
最大値プーリング最も大きい値を残す8強く反応した特徴をはっきり残す
平均値プーリング値の平均をとる3.5領域全体の傾向をなめらかに残す

この設定では、4×4の特徴マップが2×2になり、縦横がそれぞれ半分になります。出力サイズは、パディングなしの畳み込みと同じく (入力サイズ − ウィンドウサイズ) ÷ ストライド + 1 で求められます。プーリングはチャンネルごとに別々に行うので、チャンネル数は変わりません。

グローバルアベレージプーリング(GAP)

GAPは、各チャンネルの特徴マップ全体の平均をとり、1チャンネルを1つの値にまとめる処理です。たとえば7×7×512の特徴マップは、長さ512のベクトルになります。

以前のCNNは、最後の特徴マップを1列に並べて全結合層に入れていました。VGG16では、7×7×512の値を4,096個のユニットに結合する最初の全結合層だけで、重みが約1億個あります。GAPを使えば、全結合層に入る値が512個に減り、パラメータが大幅に減るため、過学習も起きにくくなります。入力画像の大きさが変わっても、出力の長さがチャンネル数で決まる点も利点です。

GAPは2013年のNetwork In Networkで提案され、GoogLeNetやResNetでも分類の直前に使われています。モデルが画像のどこを見て判断したかを可視化するCAMも、GAPを使う構造を前提にした手法です。

G検定で問われる深さ

ウィンドウの大きさとストライドから出力サイズを求められること、各プーリングが何を計算するか、学習するパラメータがないこと、GAPで全結合層を置き換える利点を説明できれば十分です。プーリングの細かな変種や理論的な解析までは不要です。

つまずきやすい点

  • プーリング層には学習で調整する重みがなく、最大値や平均といった決まった計算をするだけである点。フィルタの重みを学習する畳み込み層と混同しやすい
  • プーリングは縦と横のサイズを小さくするが、チャンネルごとに別々に計算するため、チャンネル数は変わらない点
  • グローバルアベレージプーリングは各チャンネルの特徴マップ全体を1つの値にまとめる処理で、出力はチャンネル数と同じ長さのベクトルになる点
  • プーリングで得られる不変性は小さな位置ずれに対するもので、大きな移動や回転、拡大・縮小まで吸収できるわけではない点

シラバスのキーワード

グローバルアベレージプーリング(GAP)、最大値プーリング、不変性の獲得、平均値プーリング

練習問題

  1. プーリングの種類と働き
  2. 最大値プーリングの計算
  3. GAPと入力画像の大きさ
  4. プーリング層の誤差逆伝播
  5. プーリングの選択と不変性の範囲

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術20

改訂履歴

ディープラーニングの要素技術の中項目
  1. 全結合層
  2. 畳み込み層
  3. 正規化層
  4. プーリング層
  5. スキップ結合
  6. 回帰結合層
  7. Attention
  8. オートエンコーダ
  9. データ拡張

表示設定

テーマ
文字の大きさ
問題演習