위키득계정 ↗
기술

최대 풀링

최대 풀링기술
영문명
Max pooling
대표 연산
창 안의 최댓값 선택
주요 설정
창 크기와 이동 간격
일반적 목적
공간 정보의 축약
최대 풀링은 신경망의 특징 지도에서 일정한 영역의 최댓값을 대표값으로 남기는 연산이다. 창을 이동하며 반복하고, 보통 공간 크기를 줄이는 데 사용한다. 입력 채널별로 처리하므로 여러 채널 중 하나만 고르는 연산과는 다르다.

창을 이동하기

한 채널에서 창 크기가 2×2이면 네 값 중 최댓값 하나를 출력한다. 이동 간격이 1이면 이웃한 창이 겹치며, 2이면 보통 겹치지 않는 영역을 처리한다. 풀링 연산 자체에는 합성곱 필터처럼 학습하는 가중치가 없다.

간단한 행렬 예

입력의 세 행이 (2,7,1), (4,3,8), (6,5,0)이라고 하자. 2×2 창을 간격 1로 이동하고 패딩을 두지 않으면 출력의 두 행은 (7,8), (6,8)이다. 간격 2로 바꾸면 이 입력에서는 왼쪽 위 창만 온전히 들어가 출력은 7 하나다.

출력 크기

패딩 없이 길이 n, 창 길이 k, 이동 간격 s인 축의 출력 길이는 n≥k일 때 floor((n-k)/s)+1이다. n=7, k=3, s=2이면 길이는 3이다. 같은 크기를 뜻하는 same 패딩도 간격이 1보다 크면 출력이 입력과 같은 길이라는 뜻은 아니며, 일반적으로 ceil(n/s)다.

남는 정보와 사라지는 정보

서로 겹치지 않는 한 창에서 (1,9,2,3)과 (8,9,7,6)은 모두 9를 낸다. 최댓값만으로 원래 값을 복원할 수는 없다. 작은 위치 변화에 둔감해질 수 있어도 모든 평행 이동에 완전히 같은 출력을 보장하지 않는다. 창 경계를 넘어 이동하면 선택 결과가 달라질 수 있다.

관련 문서

인공 신경망 / 합성곱 / ReLU / 활성화 함수 / 배치 정규화 / 그룹 정규화