Maxpooling Layer
합성곱(Conv) 레이어를 통과한 특징 맵(Feature Map)은 이미지의 중요한 특징들을 담고 있지만, 여전히 그 크기가 크고 많은 정보를 포함한다.
만약 이 모든 정보를 그대로 다음 레이어로 전달한다면 계산량이 너무 많아지고, 모델이 너무 세부적인 위치 정보에만 집중하여 학습하는 과적합(Overfitting) 문제가 발생할 수 있다.
이때, 정보의 핵심만 남기면서 크기를 효과적으로 줄이는 ‘요약’ 과정이 필요한데, 이 역할을 수행하는 것이 바로 풀링(Pooling) 레이어이며, 그중 가장 널리 사용되는 것이 맥스 풀링(Max Pooling)이다.
맥스 풀링(Max Pooling)의 정의
맥스 풀링은 입력 특징 맵의 특정 영역(Region)에서 가장 큰 값(Maximum Value) 하나만을 추출하여 특징 맵의 크기를 줄이는 다운샘플링(Down-sampling) 기법이다.
마치 넓은 지역의 지도를 만들 때, 각 구역에서 가장 높은 산 하나만을 표시하여 지도를 단순화하는 것과 같다.
이 과정을 통해 모델은 각 영역에서 가장 두드러지는 특징이 무엇인지에만 집중하고, 그 특징의 정확한 위치 정보는 어느 정도 무시하게 된다.
결론적으로 맥스 풀링의 역할은 계산량을 줄이고, 모델이 특징의 사소한 위치 변화에 민감하게 반응하지 않도록 위치 불변성(Translation Invariance)을 부여하는 것이다.
맥스 풀링의 작동 원리와 수학적 표현
맥스 풀링은 Conv 레이어처럼 가중치(weight)를 학습하는 과정이 없다.
단지 미리 정해진 규칙에 따라 값을 선택하는 간단한 연산이다.
맥스 풀링 연산은 특정 크기의 풀링 윈도우(Pooling Window)가 입력 특징 맵 위를 이동하면서, 윈도우 내부의 원소 중 최댓값을 선택하는 과정이다.
이를 수식으로 표현하면 다음과 같다.
이 수식의 각 기호는 다음을 의미한다.
- $O(i, j)$: 출력 특징 맵의 $(i, j)$ 위치의 값.
- $\max$: 주어진 값들 중에서 최댓값을 찾는 함수.
- $I$: 입력 특징 맵.
- $p_h, p_w$: 풀링 윈도우의 높이(height)와 너비(width). 이를 풀 크기(Pool Size)라고 한다.
- $S$: 스트라이드(Stride). 윈도우가 한 번에 이동하는 크기.
이 수식은 출력 $O(i, j)$가 입력 $I$의 특정 영역 내 원소들의 최댓값이라는 것을 간결하게 보여준다.
4x4 크기의 입력 특징 맵(I)에 2x2 크기의 맥스 풀링(Pool Size)을 Stride 2로 적용한다고 가정하자.
\[I = \begin{pmatrix} 1 & 8 & 3 & 4 \\ 2 & 5 & 10 & 7 \\ 7 & 3 & 1 & 0 \\ 6 & 9 & 2 & 5 \end{pmatrix}\]1. 출력의 첫 번째 값, O(0, 0) 계산:
입력의 좌측 상단 2x2 영역에서 최댓값을 찾는다.
\(\max \begin{pmatrix} \mathbf{1} & \mathbf{8} \\ \mathbf{2} & \mathbf{5} \end{pmatrix} = 8\)
따라서, $O(0, 0) = 8$ 이다.
2. 출력의 두 번째 값, O(0, 1) 계산:
윈도우를 오른쪽으로 두 칸(Stride=2) 이동하여 최댓값을 찾는다.
\(\max \begin{pmatrix} \mathbf{3} & \mathbf{4} \\ \mathbf{10} & \mathbf{7} \end{pmatrix} = 10\)
따라서, $O(0, 1) = 10$ 이다.
이 과정을 나머지 영역에도 반복하면 다음과 같은 2x2 크기의 최종 출력 특징 맵 $O$를 얻는다. sss \(O = \begin{pmatrix} 8 & 10 \\ 9 & 5 \end{pmatrix}\) 입력 특징 맵의 크기가 4x4에서 2x2로 절반으로 줄어든 것을 확인할 수 있다.
4. 맥스 풀링의 역할과 장점
맥스 풀링은 CNN 아키텍처에서 다음과 같은 중요한 장점을 제공한다.
-
계산 효율성 증대: 특징 맵의 공간적 차원(너비와 높이)을 크게 줄여준다. 이는 후속 레이어에서 처리해야 할 파라미터의 수를 감소시켜 모델의 전체 계산량을 줄이고 학습 속도를 빠르게 한다.
-
위치 불변성 확보: 특정 영역에서 가장 강한 신호(최댓값)만 남기므로, 특징의 정확한 위치보다는 존재 여부에 더 집중하게 된다. 이로 인해 이미지 내에서 객체가 약간 이동하거나 회전하더라도 모델이 안정적으로 인식할 수 있는 능력이 향상된다.
-
과적합 방지: 특징 맵을 요약하고 파라미터 수를 줄임으로써 모델이 훈련 데이터의 불필요한 세부 정보나 노이즈까지 학습하는 것을 억제하는 일종의 규제(Regularization) 효과를 가진다.
5. 결론
맥스 풀링(Max Pooling)은 Conv 레이어와 함께 사용되어 CNN의 성능과 효율을 극대화하는 핵심적인 구성 요소이다.
학습 가능한 파라미터 없이, 단순히 최댓값을 추출하는 간단한 연산을 통해 특징 맵을 요약하고 계산량을 줄이며, 모델에 위치 불변성을 부여한다.
이러한 특성 덕분에 맥스 풀링은 오늘날 대부분의 CNN 아키텍처에서 합성곱 층과 활성화 함수 뒤에 자연스럽게 따라오는 표준적인 블록으로 사용되고 있다.