Spatial size 줄이고 invariance 만들기
Convolution 후 pooling이 feature map의 spatial 차원 줄여. 두 목적: 다음 layer 계산 비용 절감, 그리고 spatial invariance — feature의 정확한 위치가 덜 중요해짐.
MaxPooling2D는 각 pool window의 max 값. 가장 흔함; 강한 activation 보존. AveragePooling2D는 평균 — 일부 architecture에서 쓰지만 classification엔 일반적으로 약함.
GlobalAveragePooling2D는 Flatten + Dense의 현대적 대체. 각 feature map 전체를 단일 값으로 평균: (batch, h, w, channels) → (batch, channels). ResNet, EfficientNet, MobileNet 다 이거 써 — Flatten보다 파라미터 훨씬 적고 구조적 regularizer 역할.
현대적 대안: Conv → MaxPool 대신 stride=2 Conv로 학습된 다운샘플링. 네트워크가 spatial 정보 조합 방법 결정, 고정 max 연산 적용 대신.