1行定義
グローバルアベレージプーリングとは、CNNの特徴マップをチャネルごとに全体で平均し、1チャネルを1つの値にまとめる処理のことです。
くわしく
グローバルアベレージプーリング(GAP)は、CNNの最後の段階でよく使われるプーリングです。特徴マップの1チャネル分の値をすべて平均し、1つの数値にします。
処理の内容
通常のプーリングは、2×2などの小さな窓ごとに値をまとめます。GAPは、この窓を特徴マップ全体に広げたものです。たとえば縦7×横7×512チャネルの特徴マップなら、チャネルごとに49個の値を平均し、512個の値からなるベクトルにします。チャネル数は変わらず、縦横の広がりだけがなくなります。
全結合層を置き換える理由
以前のCNNでは、特徴マップを1列に並べ直し、大きな全結合層につないで分類していました。この全結合層は重みの数が多く、過学習の原因になりやすい部分でした。
GAPは平均を取るだけで、学習するパラメータを持ちません。2013年にLinらがNetwork In Networkで提案し、全結合層より過学習しにくいと報告しました。その後、GoogLeNetやResNetなど多くのモデルが、GAPの後に分類用の全結合層を1つだけ置く構成をとっています。
その他の利点
縦横をまとめてしまうため、入力画像のサイズが学習時と違っても、同じ長さのベクトルが得られます。また、各チャネルの値は「その特徴が画像全体にどれだけ現れたか」を表すので、特徴と分類結果の対応が読み取りやすくなります。
この性質を利用したのがCAMです。GAPの後ろの重みを使って特徴マップを重み付きで足し合わせると、モデルが画像のどこを根拠に判断したかを可視化できます。
注意点
GAPを通すと、特徴が画像のどこにあったかという位置の情報は失われます。画像全体に対して1つの答えを出す分類のような課題に向いた処理です。
覚え方
「1チャネルを丸ごと平均して、1つの数字にする」と覚えます。
G検定での出題
出題のされ方
特徴マップをチャネルごとに1つの値へ平均する処理の内容、全結合層を置き換えてパラメータ数と過学習を減らす効果、CAMによる判断根拠の可視化との関係が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| グローバルアベレージプーリングこのページの用語 | CNNの特徴マップをチャネルごとに全体で平均し、1チャネルを1つの値にまとめる処理 |
| 平均値プーリング | 特徴マップを小さな領域に区切り、各領域に含まれる値の平均を出力して縮小する、CNNのプーリング処理 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
グローバルアベレージプーリングは、チャネルごとに特徴マップ内の最大値を1つ取り出す処理である。
答えを見る
答え × 誤り
最大値を取り出すのはグローバル最大値プーリング(global max pooling)です。GAPは名前のとおり、チャネルごとに全体の平均を取ります。
-
グローバルアベレージプーリングを使うと、入力画像の縦横のサイズが学習時と違っていても、同じ長さのベクトルを出力できる。
答えを見る
答え ◯ 正しい
特徴マップの縦横がいくつでも、チャネルごとに1つの値にまとめるためです。出力の長さはチャネル数で決まります。
-
全結合層の代わりにグローバルアベレージプーリングを使うと、一般にパラメータ数が増えるため、過学習が起きやすくなる。
答えを見る
答え × 誤り
GAP自体は学習するパラメータを持たないため、パラメータ数は大きく減ります。提案した論文でも、過学習しにくい点が利点とされています。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目20 プーリング層)
- Min Lin, Qiang Chen, Shuicheng Yan, Network In Network (2013)
- Bolei Zhou, Aditya Khosla, Agata Lapedriza, Aude Oliva, Antonio Torralba, Learning Deep Features for Discriminative Localization (2015)
- Christian Szegedy et al., Going Deeper with Convolutions (2014)