[부스트 코스_딥러닝 기초다지기] CNN - 2. Modern CNN - 1*1 convolution의 중요성

이경영·2022년 10월 7일
0

ILSVRC라는 Visual Recognition Challenge와 대회에서 수상을 했던 5개 Network 들의 주요 아이디어와 구조에 대해 배웁니다.

Network list

  • AlexNet

    • 최초로 Deep Learning을 이용하여 ILSVRC에서 수상.
  • VGGNet

    • 3x3 Convolution을 이용하여 Receptive field는 유지하면서 더 깊은 네트워크를 구성.
    • Receptive field 참고 자료
  • GoogLeNet

    • Inception blocks 을 제안.
  • ResNet

    • Residual connection(Skip connection)이라는 구조를 제안.
    • h(x) = f(x) + x 의 구조
  • DenseNet

    • Resnet과 비슷한 아이디어지만 Addition이 아닌 Concatenation을 적용한 CNN.

    network의 파라미터의 숫자는 점점 줄어듬 depth는 깊어짐 성능은 좋아짐



ILSVRC

  • ImageNet Large-Scale Visual Recognition Challenge
    → Classification /Detection /Localization / Segmentation

AlexNet

  • 11*11 필터를 사용하게 되면 하나의 컨볼루셔널 커널이 볼수있는 이미지는 넓어지지만 파라미터가 커짐.

    Key ideas

    • ReLU를 사용함(0을 기점으로)
    • GPU implementation
    • Local response normalization, Overlapping pooling
    • Data augumentation
    • Dropout

VGGNet

  • Increasing depth with 3\*3 convolutional filters (with stride 1)
  • 1*1 convolution for fully connected layers
  • Dropout (p=0.5)
  • VGG16, VGG19


GoogLeNet

  • 1*1 convolutional 을 잘 활용하게 되면 파라미터 숫자를 줄일 수 있게 된다.
  • Inception blocks :

    결론: 채널방향으로 디멘션을 줄일 수 있다!

Inception Block

  • Benefit of 1*1 convolution


ResNet : 네트워크를 깊게 쌓을수 있는 가능성

  • 뉴럴 네트워크가 트레이닝 시키기 힘들다

  • 일반적으로 파라미터 숫자가 많아지면 두 가지 문제가 생김
    1. 오버피팅의 문제 : 트레이닝 에러가 줄어드는데 테스트 에러가 커지는것.

    1. 트레이닝에러가 더 작음에 불구하고 테스트 에러가 더 큰것
  • 56 레이어보다 20 레이어가 더 학습을 잘 시킴

  • identy map을 추가하게 됨 : 그 차이만 학습하게 함



DenseNet

  • concatenate하는것 => 채널이 점점 커짐
  • 중간에 한번씩 채널을 줄여주는것? 어떻게? 1*1 Conv
profile
꾸준히

0개의 댓글