본문 바로가기

카테고리 없음

풀링, Pooling

풀링은 세로 * 가로 방향의 공간을 줄이는 연산이다. 예를 들어 아래와 같이 2 * 2 영역을 원소 하나로 집약하여 공간 크기를 줄인다.

맨 위의 그림은, “ 2 * 2 최대 풀링 , Max pooling “, 을 스트라이드 2로 처리하는 순서이다. 최대풀링은 최댓값을 구하는 연산으로, “ 2 * 2 “ 는 대상 영역의 크기를 뜻한다.

즉 2 * 2 최대 풀링은 그림과 같이 2*2 크기의 영역에서 가장 큰 원소를 하나 꺼내는 것이다. 또, 스트라이드는 이 예 에서는 2로 설정했으므로 2 * 2 윈도우가 원소 2칸 간격으로 이동한다.

참고로, 풀링의 윈도우 크기와 스트라이드는 같은 값으로 설정하는 것이 보통이다. 예를 들어 윈도우가 3 * 3 이라면, 스트라이드는 3으로 하는 것이 이상적이다.

아래 그림은 “ 2 * 2 평균 풀링, Average pooling “, 이다. 대상 영역의 평균을 계산한다. 해당 구역 내에서 데이터를 모두 더한다음 나누어 평균이 출력된다.

NOTE_

이미지 인식 분야에서는 최대 풀링을 사용한다.

풀링 계층의 특징은 다음과 같다

학습해야 할 매개변수가 없다.

풀링 계층은 합성곱 계층과 달리 학습해야 할 매개변수가 없다. 풀링은 대상 영역에서 최댓값이나 평균을 취하는 명확한 처리이므로 학습할 것 이 없다.

채널수가 변하지 않는다.

풀링 연산은 입력 데이터의 채널 수 그대로 출력 데이터로 내보낸다. 채널마다 독립적으로 연산하기 때문에 변하지 않는다.

입력의 변화에 영향을 적게 받는다 ( 강건하다 )

입력 데이터가 조금 변해도 풀링의 결과는 잘 변하지 않는다. 최대 풀링의 경우 데이터마다 경우가 다르지만, 1개가 벗어난다고 해도 출력은 같은 경우가 많다.