AI・生成AIの用語一覧へ
このページの目次

プーリング層とは?

最終更新:2026/08/18

3秒でわかる

CNNで特徴マップを縮小する層。位置が少しずれても同じ特徴として拾えるようにし、あわせて以降の計算量も大きく減らします。

もう少し詳しく

どういうものか

プーリング層は、畳み込みニューラルネットワーク(CNN)で畳み込み層の出力を一定の窓ごとにまとめ、小さな特徴マップへ縮める層です。窓の中の最大値を取る最大値プーリングと、平均を取る平均値プーリングが代表的です。2かける2の窓を2つ飛ばしで動かすと、縦横がそれぞれ半分になります。

なぜ必要か

理由は2つあります。1つは計算量とパラメータの削減です。特徴マップが半分になると、以降の層の計算量はおよそ4分の1になります。もう1つは位置ずれへの強さです。猫の耳が数ピクセル右にずれても、窓の中の最大値はほとんど変わりません。この性質を平行移動不変性と呼び、少ない学習データでも汎化しやすくなります。

具体例

import torch import torch.nn as nn x = torch.randn(1, 16, 32, 32) # バッチ1, チャネル16, 32x32 pool = nn.MaxPool2d(kernel_size=2, stride=2) print(pool(x).shape) # torch.Size([1, 16, 16, 16]) # 分類器の直前で空間方向を1点に潰すやり方もよく使われる gap = nn.AdaptiveAvgPool2d(1) print(gap(x).shape) # torch.Size([1, 16, 1, 1])

チャネル数は変わらず、縦横だけが縮む点に注目します。

つまずきやすいところ

プーリング層には学習するパラメータがありません。ここを畳み込み層と混同すると、モデルのパラメータ数を数えるときに合いません。もうひとつは、位置情報が失われる副作用です。物体がどこにあるかを出力する検出やセグメンテーションでは、プーリングを重ねすぎると輪郭がぼやけます。近年のモデルがストライド付き畳み込みで代用したり、最後に大域平均プーリングだけを使ったりするのはこのためです。

覚え方

畳み込みが「何があるかを見つける層」、プーリングが「どこにあったかを少しぼかす層」と捉えると、役割の違いが整理できます。


似た用語との違い

学習するパラメータ主な役割
畳み込み層あり特徴を抽出する
プーリング層なし縮小して位置ずれに強くする
全結合層あり抽出した特徴から出力を決める


窓の大きさと移動幅をそろえるかどうかで、重なりを持たせることもできます。ただし実務では2かける2で2つ飛ばしという設定がほとんどで、そこから外す場面は多くありません。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地プーリング層AI

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

AI活用コースの全編を見る