새소식

딥러닝

CNN

  • -

Convolution layer의 특징

  • feature의 위치에 구애 받지 않는다.
  • 데이터셋의 x와 y의 구성에 따라 자동으로 탐지해야 할 패턴을 추출한다.
    내부 kernel은 해당 패턴을 추출하기 위한 형태로 자동으로 구성된다.
  • 같은 입출력을 갖는 FC Layer에 비해 더 적은 weight를 갖는다.
  • 병렬 계산 구성이 쉬우므로, GPU에서의 연산이 빠르다.
  • 단점: FC Layer에 비해 입출력 크기가 계산이 까다로워. 네트워크 구성이 쉽지 않다.

 

Dimenstion Reduction in CNN

Dimension Reduction: 고차원 공간의 sparse한 데이터를 저차원 공간에 mapping하는 방식

그러나 [3X3 + 1 padding]의 conv layer는 입/출력 텐서의 크기가 같다.

그래서 Maxpooling이나 stride 같은 기법을 사용하여 dimension reduction을 한다.

 

Max Pooling

  • down sampling 기법
  • 별도의 max-pooling layer을 사용한다.

 

Stride

  • Convolution layer 선언 과정에서 지정해준다.

 

 

 input = (4, 4) , padding = 1, kernel = (3,3), stride = 2인 경우,
[(4 + 2*1 - 3) / 2] + 1 = [1.5] + 1 = 2

∴ output = (2, 2)

 

 

 

 

 

 

Max-pooling은 초기에 많이 활용되었지만 현재는 Stride가 좀 더 많이 활용되고 있다.

 

 

CNN Architecture Design

각 Conv layer는 위치에 따라 low-level(Edge)또는 high-level feature(어떤 형태의 Edge가 모이면 고양이)을 추출하도록 학습되는데 앞에서 low-level feature을 추출하고 뒤로 갈 수록 high-level feature을 추출하도록 학습된다.

728x90

'딥러닝' 카테고리의 다른 글

Gradient Descent Methods  (0) 2022.07.06
Ensemble Learning  (0) 2022.06.29
Manifold Hypothesis  (0) 2022.06.23
PCA  (0) 2022.06.23
Information & Entropy  (0) 2022.06.23
Contents