본문 바로가기
Computer Science/AL, ML

[CNN] Pooling

by Gofo 2022. 6. 7.

Pooling

Convolution network에는 주로 pooling layer가 포함된다.

 

Pooling은 정해진 window에서 특정 행위를 하는 layer이다.

Activation map을 재가공하는 역할을 한다.

 

종류

  • max pooling
    • 가정 : 가장 큰 값이 중요한 역할을 한다.
    • 기능 : window 내에서 max 값을 뽑아서 사용한다.
  • average pooling
    • 가정 : 평균(통계)이 중요하다고 본다.
    • 기능 : window 내의 평균을 구해서 사용한다.

 

window

 

Max Pooling vs Average Pooling

Max pooling과 average pooling은 가정이 다르기 때문에 문제마다 어떤 것이 좋을지는 다르다.

일반적으로 max pooling이 좀 더 선호되고 끝단으로 갈수록 average pooling이 선호되기도 한다.

 

Pooling vs Strided Convolution

  • 공통점 : pooling은 window에서 연산을 수행하기 때문에 strided convolution처럼 resolution이 준다.
  • 차이점
    • strided convolution
      • 파라미터가 존재하여 학습해야 한다.
      • weighted average 등 좀 더 optimal한 필터를 찾을 수 있다.
    • pooling
      • 파라미터가 존재하지 않고 정해진 규칙에 따라 연산을 수행한다.
      • 파라미터 수가 적고 학습 속도가 빠르다.

 

Pooling vs. 일반적인 Convolution

Strided convolution으로 average pooling을 구현할 수 있다.

 

여러 개의 convolution을 쌓아서 max pooling과 비슷한 역할을 구현할 수 있다.

그러나 일반적인 convolution으로는 간단한 구현이 불가능하다.

 

 

 

'Computer Science > AL, ML' 카테고리의 다른 글

RNN : Recurrent Neural Network  (0) 2022.06.15
[CNN] 다양한 CNN  (0) 2022.06.15
[CNN] CNN의 구조와 Notation  (0) 2022.06.06
[CNN] Local Connectivity & Weight Sharing  (0) 2022.06.06
CNN (Convolution Neural Network)  (0) 2022.06.06

댓글