SYDLAB_inha/Machine Learning

ML - CNN(2) / Pooling layer / max pooling

빈그레 2023. 9. 21. 15:48

 

 


Pooling layer

 

 

 

 

 

Pooling layer

 

: Pooling layer는 입력 데이터의 공간적 차원을 줄이는 역할을 한다.

일반적으로 max pooling과 average pooling이 가장 많이 사용된다.

pooling은 차원을 축소시키는 것이라 하였다. 위 예시를 보면 224*224 였던 차원이 풀링으로 인하여  112*112로 1/4배 줄어들었다.

 

[pooling 특]

- padding을 사용하지 않는다.

- filter size와 stride size가 동일하다.

 

 

 

Max Pooling

 

 

pooling도 일종의 layer이기 때문에 filter의 개념이 있는데, pooling에서는 filter size와 stride size가 동일하다. 즉, overlapping 없이 연산이 진행된다. 겹쳐서 연산하는 부분이 없으므로 공간적 차원 축소에 목적을 두고있다.(가로 절반, 세로 절반 하여 1/4배로 가장 빈번히 줄인다.)

 

 

convolution layer는 learnable한 parameter가 있지만, pooling은 그냥 해당 filter내에서 가장 큰 값을 뽑아내는 operation에 불과하다.

 

 

 

CNN + Fully-Connected (FC) layer

 

이미지는 Covolution layer를 거치다가 마지막 2~3줄에는 flatten시켜서 한줄로 늘어뜨려  fully-connedcted layer를 거친다.

flatten시키는 과정부터는 일반적은 MLP(Multilayer Perceptron)와 동일하다.