ConvNet의 활용 예

해당 게시물은 Edwith에서 제공하는
머신러닝과 딥러닝 BASIC을 듣고 요약 정리한 글입니다.


LeNet-5

Lecun et al (1998)
손으로 쓴 크기의 글씨 이미지를 학습
Filter로 크기의 Filter1의 크기의 Stride사용
Pooling을 진행할 때 크기와 2의 크기의 Stride사용
아직 안만듬


AlexNet

Krizhevsky et al (2012)

아직 안만듬

입력값 : 의 컬러 이미지
첫번째 Layer : CNN (96개의 크기, Stride가 4인 Filter)
출력값의 크기:
첫 번쨰 Layer의 Parameter :

두 번쨰 Layer : Pooling Layer(크기, Stride가 2인 Filter)
출력값의 크기 :
두 번째 Layer의 Parameter : 0

AlexNet의 Full Architecture

  1. [] INPUT
  2. [] CONV1
    • 크기의 Filter 96개
    • Stride : 4
    • pad : 0
  3. [] MAX POOL1
    • 크기의 Filter
    • Stride : 2
  4. [] NORM1
    • Normalization layer
  5. [] CONV2
    • 크기의 Filter 256개
    • Stride : 1
    • pad : 2
  6. [] MAX POOL2
    • 크기의 Filter
    • Stride : 2
  7. [] NORM2
    • Normalization layer
  8. [] CONV3
    • 크기의 Filter 384개
    • Stride : 1
    • pad : 1
  9. [] CONV4
    • 크기의 Filter 384개
    • Stride : 1
    • pad : 1
  10. [] CONV5
    • 크기의 Filter 256개
    • Stride : 1
    • pad : 1
  11. [] MAX POOL3
    • 크기의 Filter
    • Stride : 2
  12. [] FC6
    • 4096 neurons
  13. [] FC7
    • 4096 neurons
  14. [] FC8
    • 1000 neurons (class scores)

Details

  • ReLU를 처음 사용
  • 정규화를 하는 Layer 사용
  • 0.5의 DropOut을 사용
  • 128크기의 Batch Size
  • 7개의 CNN 앙상블


GoogLeNet

Szegedy et al (2014)
Inception Moudle이라는 것을 사용했다.
아직 안만듬


ResNet

He et al (2015)
152개의 Layer에 Fastforward사용
실제 Layer는 많지만 실제 학습되는 Layer는 깊지 않다.
잘 동작하지만 왜 잘되는지는 알지 못한 상태다.


CNN for Sentence Classfiation

Yoon Kim (2014)
자연어 처리 분야에 CNN을 사용


AlphaGo

DeepMind
흔히 잘 알고있는 AlphaGo도 CNN을 사용

  • Policy Network

입력값 : []
는 바둑판의 크기, 48개의 Feature

CONV1 : 192 Filters, strid 1, pad 2
CONV1의 출력값은 []

CONV2 ~ 12 : 192 Filters, strid 1, pad 1
CONV2 ~ 12의 출력값은 []

CONV : 1 Filters, strid 1, pad 0
CONV의 출력값은 []