hojeomi blog

Day 13. CNN 본문

AI/Course

Day 13. CNN

호저미 2021. 2. 4. 01:57

0. Intro

  • convolution: 커널에 적힌 값으로 입력값을 계산하는 연산

  • kernel: 틀
  • 최근 트랜드: 파라미터 갯수를 줄여야 함(어떤 테스트셋에서라도 좋은 결과를 보이기 위해서는 파라미터가 적을수록 좋음)
    • 뒷단의 dense layer를 줄이고 앞단에 convolution layer를 많이 쌓아서 파라미터를 줄이는 것이 트랜드
    • 이를 위해 가장 많이 쓰이고 있는 것이 1x1 convolution

 

 

 

1. 커널 크기 계산

  • 출력크기 = 입력크기 - 커널크기 + 1
  • 예) 28x28 입력을 3x3 커널로 2D-Conv 연산을 하면 26x26

 

 

 

2. Stride

  • 커널로 컨볼루션 연산을 한 번 한 뒤, 몇 칸 이동하는지
  • 예) stride=2: 두 칸 이동

 

 

 

3. Padding

  • 가장자리에 어떤 값을 덧대줌으로써 컨볼루션 연산 후에도 입력크기가 유지되도록 함
  • 예) No padding: 덧대지 않음, zero padding: 0으로 가장자리를 덧댐

 

 

 

4. ILSVRC에서 우승한 여러 CNN 기법들

  • AlexNet
  • VGGNet
  • GoogleNet
  • ResNet
  • DenseNet

 

4-1) AlexNet

  • ReLU를 합성함수로 이용함
    • 경사하강법에서 최적화가 쉬움
    • vanishing gradeint 문제 극복: 시그모이드 및 tanh 함수는 뉴런이 커질수록 기울기가 0이 커지는 vanishing gradient 문제를 가지지만, ReLU는 이를 극복함
  • GPI(graphical programming interface) 향상을 위해 2개의 GPU를 이용함
  • Local response normalization, Overlapping pooling
  • Data augmentation(증가)
  • Dropout
    • 네트워크의 일부를 생략하는 것. 여러 개의 모델을 만드는 대신에 모델 결합에 의한 투표효과와 비슷한 효과를 내기 위해 학습 사이클이 진행되는 동안 무작위로 일부 뉴런 생략
    • regularization 효과: 학습을 시키다 보면 학습 데이터에 의해 각각의 넷트의 weight들이 서로 동조화 되는 현상(co-adaption)이 발생할 수 있는데(신경망 본질의 이슈) 무작위로 생략 및 학습을 통해 이런 동조화 현상을 막을 수 있음 

커널: 11x11x3

 

4-2) VGGNet

  • 3x3 convolution을 통해 깊이를 증가시킴(층이 늘어남) → 하지만, 파라미터 갯수는 줄어듬

 

4-3) GoogleNet

  • It combined network-in-netwrok(NiN) with inception block
  • inception block: 채널 dimension을 줄임으로써 파라미터 수를 줄임

왼쪽 채널 수: 128, 오른쪽 채널 수: 32

 

4-5) ResNet

blueskyvision.tistory.com/644

 

[CNN 알고리즘들] ResNet의 구조

LeNet-5 => https://bskyvision.com/418 AlexNet => https://bskyvision.com/421 VGG-F, VGG-M, VGG-S => https://bskyvision.com/420 VGG-16, VGG-19 => https://bskyvision.com/504 GoogLeNet(inception v1) =>..

bskyvision.com

 

4-6) DenseNet

hoya012.github.io/blog/DenseNet-Tutorial-1/

 

DenseNet Tutorial [1] Paper Review & Implementation details

대표적인 CNN architecture인 DenseNet에 대한 리뷰와 구현을 위한 detail들을 분석하고 정리하였습니다.

hoya012.github.io

 

'AI > Course' 카테고리의 다른 글

Day 14-2. Transfomer  (0) 2021.02.05
Day 14-1. RNN  (0) 2021.02.05
Day 12-2. CNN  (0) 2021.02.02
Day 12-1. 최적화  (0) 2021.02.02
Day 11-1. 조건부 확률, 베이즈 정리  (0) 2021.02.02
Comments