풀링의 역할: 차례대로 처리되는 데이터의 크기를 줄임으로써 모델의 전체 매개변수의 개수를 크게 줄일 수 있다.
MaxPooling, AvgPooling과 같은 풀링 방식이 있는데 결국 원하는 결과를 잘 표현하는 방식을 채택하고 사용하게 된다.
이때 풀링을 통해 데이터의 크기도 줄어들지만 더 낮은 레벨의 특성들이 부각된다. 따라서 Pooling은 더 추상적인 데이터를 구하는 과정이라고 보아도 무방하다.
왜 풀링이 필요한가?
풀링은 위 사진과 같이 커널의 크기에 맞추어 최대값, 평균값에 대해 이루어지며
스트라이드를 설정해서 output 데이터의 크기를 조절할 수 있다.
또한 PyTorch에서는 AdaptivePooling을 지원해서 매개변수로 output size를 전달하면 해당 크기에 맞도록 알아서 output 데이터를 반환한다.
Referenced: https://underflow101.tistory.com/41