새소식

Deep Learning

CNN [1] : Pooling & Convolution

  • -

* Pooling
- feature map의 dimension을 줄이는 방법
- 계산량을 조절하기 위해
- classification을 위한 Fully connected Layer와 연결하기 쉽게 하도록
- 특정 위치의 신경망 출력을 근처 출력들의 summary statistics로 대체
- 특징의 구체적인 위치가 아닌, 특징의 존재 여부 자체가 중요할 때
- 입력이 국소적으로 이동하더라도 근사적으로 불변성을 가지게 함

* max pooling
- the biggest value
- reducing spartial dimension
- emphasizes feature

* average pooling
- bluhing feature

* Adaptive pooling
- variant input size에 대해 fixed sized output을 원할 때
- input feature map에 대해 output dimension인 mxm 크기로 풀링 계산

* Global Average pooling
- parameter 수를 극적으로 감소
- feature를 1차원 벡터로 만듬
- Class Activation Maps를 generate하기 위해 사용될 수 있다

* SPP Net (Spartial Pyrimid Pooling)
- input image를 fix시키지 않고, 자유롭게 output 내는 방법
- adaptive pooling을 multiple로 시행, 시행 시마다 결과를 하나의 vector list에 push

* Variants of Convolution
1. 1x1 convolution
   - decrease channel size (primitive usage)
      - input = (64, 56, 56), filter = (64, 1, 1), filter x 32
      - output = (32, 56, 56)
      - decrease channel size by number of kernels
   - reduce computation
      - number of input * input width * input height * kernel width * kernel width * number of Kernel
   - 정확도가 낮을 수 있으나, 컴퓨팅 속도가 빠르다.

2. 3D convolution
- 2D convolution은 한 time의 한 frame에 대해 하나의 frame처럼 output을 냄
- filter depth는 input layer의 depth와 같음
- filter는 width 또는 height 방향으로만 이동하고, 결과는 2D 이미지(1채널)
- frame에 time이 추가되더라도, 3D convolution을 의미하지는 않음
- convolution kernel uses all input channel in general. (2d input - 2d filter : 2d conv, 3d input - 3d filter : 3d conv)
- one point in the output is being generated through a convolution operation spannced over numerous frames.
- 5@(64 x 48 x 9) input, (7 x 7 x 5) filter x 50, 50@(58 x 42 x 5) output.
- (64-7/1 + 1 = 58, 48-7/1 + 1 = 42, 5) * filter size

3. Dilated(Atros) Convolution
- filter가 클수록 좋지만, computation cost가 문제
- filter가 작지만, wide area를 커버하도록 하는 방법
- Dilation parameter controls the spacing between the kernel points.

4. Deformable Convolution
- Not suitable for geometric transformation problem in plain convolution.
- original filter position에 offset을 적용시켜, input shape에 따라 convolution하는 방법.

'Deep Learning' 카테고리의 다른 글

Aggregating Features  (0) 2021.06.14
Up-sampling  (0) 2021.06.14
CNN [0]  (0) 2021.05.24
[Draft] Numerical Instability in Deep Learning  (0) 2021.05.24
[draft] Optimization Variants  (0) 2021.05.17
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.