グローバルアベレージプーリング(Global Average Pooling: GAP)は、畳み込みニューラルネットワーク(CNN)におけるプーリング層の一種であり、特徴マップの空間的な情報を集約するために用いられる手法です。従来のプーリング層(最大プーリングや平均プーリング)とは異なり、特徴マップ全体に対して平均値を計算し、特徴マップの空間的な次元を削減します。
グローバルアベレージプーリングの仕組み
グローバルアベレージプーリングは、入力された特徴マップの各チャンネルに対して、空間的な平均値を計算し、その結果を1つの値として出力します。これにより、特徴マップの空間的な次元(高さと幅)が1に削減され、チャンネル数のみを持つベクトルが得られます。
例えば、高さH、幅W、チャンネル数Cの特徴マップが入力された場合、グローバルアベレージプーリングは、各チャンネルcに対して、以下のように平均値を計算します。
output[c] = (1 / (H * W)) * Σ(i=1 to H) Σ(j=1 to W) input[i, j, c]
ここで、input[i, j, c]は、特徴マップの(i, j)座標におけるチャンネルcの値を示します。
グローバルアベレージプーリングの利点
グローバルアベレージプーリングは、以下の利点を持つため、CNNの最終層付近でよく用いられます。
- パラメータ数の削減:
- 全結合層の代替として使用することで、ネットワークのパラメータ数を大幅に削減し、過学習を抑制します。
- 空間的な情報の集約:
- 特徴マップ全体の平均値を計算することで、空間的な情報を集約し、よりロバストな特徴表現を獲得します。
- 特徴マップと出力クラスの対応:
- 各チャンネルの平均値が、出力クラスの活性度に対応するように設計することで、解釈性の高いモデルを構築できます。
グローバルアベレージプーリングの応用
グローバルアベレージプーリングは、画像認識や物体検出などのタスクにおいて、広く応用されています。特に、以下のような場合に有効です。
- 大規模な画像認識モデル:
- パラメータ数を削減し、メモリ使用量を抑制することで、大規模なモデルの学習を可能にします。
- 解釈性の高いモデル:
- 特徴マップと出力クラスの対応を明確にすることで、モデルの予測根拠を理解しやすくします。
- 転移学習:
- 事前学習済みのモデルの最終層をグローバルアベレージプーリングに置き換えることで、新しいタスクへの適用を容易にします。
グローバルアベレージプーリングの注意点
グローバルアベレージプーリングは、空間的な情報の平均値を計算するため、局所的な特徴を捉える能力は低下します。そのため、局所的な特徴が重要なタスクでは、他のプーリング手法や全結合層との組み合わせを検討する必要があります。