yuns

VGGNet 본문

paper study

VGGNet

yuuuun 2020. 12. 9. 06:00
반응형

VGGNet: network의 깊이가 어떤 영향을 주는지 연구를 하기 위하여 설계된 network

    • https://bskyvision.com/504
    • network깊이의 영향만을 알기 위하여 모든 convolution kernel size를 3$\times$3로 설정하여 convolution의 갯수를 늘리는 방식으로 테스트를 진행하였다.
    • 19층의 layer로 구성됨

VGGNet의 비교대상실험 (D=VGG16, E=VGG19)

    • "Local Response Normalization"
    • network가 깊어질수록 성능이 좋아지는 것을 확인하였다.

VGG16의 구조

  • input
    • 224$\times$22$\times$3 image
  • 1층(conv1_1)
    • 64개의 3$\times$3$\times$3 filter kernel로 입력이미지를 convolution.
    • zero padding = 1
    • convolution stride = 1
    • after 3$\times$3$\times$3 filter kernel, the result will be 224$\times$224(224$\times$224$\times$64) feature map is made
    • 활성화 함수로 ReLU함수 사용
  • 2층(conv1_2)
    • 64개의 3$\times$3$\times$64 filter kernel로 틀성맵을 convolution
    • 결과: 64장의 224$\times$224 features(224$\times$224$\times$64 생성
    • 2$\times$2 max pooling을 stride 2를 적용하여 feature map size의 크기를 112$\times$112$\times$64로 감소
  • 3층(conv2_1)
    • 128개의 3$\times$3$\times$64 filter kernel로 feature map을 convolution
    • 결과: 128장의 112$\times$112 feature map(112$\times$112$\times$128)
  • 4층(conv2_2)
    • 128개의 3$\times$3$\times$128의 filter kernel로 feature map convolution
    • 결과: 128장의 112$\times$112 feature map(112$\times$112$\times$128
    • 2$\times$2 max pooling을 stride 2를 적용하여 feature map size의 크기를 56$\times$56$\times$128로 감소
  • 5층(conv3_1)
    • 128개의 3$\times$3$\times$128의 filter kernel로 feature map을 convolution
    • 결과: 256장의 56$\times$56 feature map(56$\times$56$\times$256)
  • 6층(conv3_2)
    • 256개의 3$\times$3$\times$256의 filter kernel로 feature map convolution
    • 결과: 256장의 56$\times$56 feature map(56$\times$56$\times$256)
  • 7층(conv3_3)
    • 256개의 3$\times$3$\times$256의 filter kernel로 feature map convolution
    • 결과: 256장의 56$\times$56 feature map(56$\times$56$\times$256
    • 2$\times$2 max pooling을 stride 2를 적용하여 feature map size의 크기를 28$\times$28$\times$256 감소
  • 8층(conv4_1)
    • 512개의 3$\times$3$\times$256의 filter kernel로 feature map을 convolution
    • 결과: 512장의 28$\times$28 feature map(28$\times$28$\times$512)
  • 9층(conv4_2)
    • 512개의 3$\times$3$\times$512의 filter kernel로 feature map convolution
    • 결과: 512장의 28$\times$28 feature map(28$\times$28$\times$512)
  • 10층(conv4_3)
    • 512개의 3$\times$3$\times$512의 filter kernel로 feature map convolution
    • 결과: 512장의 28$\times$28 feature map(28$\times$28$\times$512)
    • 2$\times$2 max pooling을 stride 2를 적용하여 feature map size의 크기를 14$\times$14$\times$512 감소
  • 11층(conv5_1)
    • 512개의 3$\times$3$\times$512의 filter kernel로 feature map을 convolution
    • 결과: 512장의 14$\times$14 feature map(14$\times$14$\times$512)
  • 12층(conv5_2)
    • 512개의 3$\times$3$\times$512의 filter kernel로 feature map을 convolution
    • 결과: 512장의 14$\times$14 feature map(14$\times$14$\times$512)
  • 13층(conv5_3)
    • 512개의 3$\times$3$\times$512의 filter kernel로 feature map을 convolution
    • 결과: 512장의 14$\times$14 feature map(14$\times$14$\times$512)
    • 2$\times$2 max pooling을 stride 2를 적용하여 feature map size의 크기를 7$\times$7$\times$512 감소
  • 14층(fc1)
    • 7$\times$7$\times$512의 feature map flatten
    • flatten: 전 층의 출력을 1차원의 벡터로 펼쳐주는 것
    • 7$\times$7$\times$512=25088개의 뉴런 생성
    • fc1층의 4096개의 뉴런과 fully connected. dropout적용
  • 15층(fc2)
    • 4096개의 뉴런으로 구성
    • fc1층의 4096개의 뉴런과 fully connected, dropout적용
  • 16층(fc3)
    • 1000개의 뉴런으로 구성
    • fc2층의 4096개의 뉴런과 fully connected, 출력값은 softmax함수로 활성화
반응형
Comments