쉬엄쉬엄블로그

(딥러닝) Modern Convolutional Neural Networks 본문

부스트캠프 AI Tech 4기

(딥러닝) Modern Convolutional Neural Networks

쉬엄쉬엄블로그 2023. 5. 30. 14:57
728x90

이 색깔은 주석이라 무시하셔도 됩니다.

ILSVRC 대회

ImageNet Large-Scale Visual Recognition Challenge

  • Classification / Detection / Localization / Segmentation tasks
  • 1,000 여개의 카테고리
  • 백만개 이상의 이미지
  • Training set : 456,567개 이미지

AlexNet

Alex Krizhevsky, Ilya Sutskever, and Geoffrey Hinton, “Imagenet Classification with Deep Convolutional Neural Networks,” NIPS, 2012

  • AlexNet 모델이 처음으로 층을 깊게 쌓아서 좋은 성능을 보임

  • 11x11 필터를 사용하는 것은 좋은 선택이 아님

    • 필터가 볼 수 있는 영역은 커지지만 상대적으로 파라미터가 더 많이 필요해짐

Key ideas

  • Rectified Linear Unit (ReLU) activation 사용
  • GPU implementation (2 GPUs)
  • Local response normalization, Overlapping pooling
  • Data augmentation
  • Dropout
  • 요즘에는 당연한 적용 기법들이지만 그 당시에는 잘 활용되지 않았던 요소들

ReLU Activation

  • 장점
    • 선형 모델의 속성을 보존
    • gradient descent를 통해 최적화가 쉬움
    • 일반화에 좋음
    • vanishing gradient 문제를 극복함

VGGNet

Karen Simonyan, Andrew Zisserman, “Very Deep Convolutional Networks for Large-Scale Image Recognition,” ICLR, 2015

  • $3\times3$ convolution filters (with stride 1)를 통해 층을 더 깊게 쌓음
  • $1\times1$ convolution를 fully connected layers에 적용
  • Dropout (p=0.5)
  • VGG16, VGG19

$3\times3$ convolution을 적용한 이유?

Christian et al. “Going Deeper with Convolutions”, CVPR, 2015

  • $3\times3$ 필터 2개를 사용하는 것이 $5\times5$ 필터 1개를 사용하는 것보다 파라미터 수를 줄일 수 있음

GoogLeNet

GoogLeNet won the ILSVRC at 2014

  • It combined network-in-network (NiN) with inception blocks.
    • network-in-network와 inception blocks를 결합함

Inception blocks

  • incecption block의 장점
    • 파라미터 수를 줄임
    • 파라미터 수를 계산하는 방법을 떠올려보면 1x1 convolution은 채널별 차원 축소로 볼 수 있음
  • Benefit of 1x1 convolution
    • 입력과 출력은 똑같지만 파라미터 숫자가 거의 1/3로 줄어듬

Quiz

위 CNN 구조들 중 가장 적은 파라미터를 가진 구조는?

  1. AlexNet (8-layers) (60M)
  2. VGGNet (19-layers) (110M)
  3. GoogLeNet (22-layers) (4M)
  • GoogleNet이 layers를 가장 많이 쌓았지만 inception blocks를 통해 파라미터 수는 가장 적게 가질 수 있었음

ResNet

Kaiming He, Xiangyu Zhang, Shaoquing Ren, Jian Sun, “Deep Residual Learning for Image Recognition,”, CVPR, 2015

너무 깊은 neural network 구조는 학습이 어려워지는 문제가 발생.

  • 보통 과적합은 과도한 수의 파라미터로 인해 발생하지만 이 경우에는 아님

Add an identity map (skip connection)

  • 층이 깊어짐에 따라 층을 거치면서 gradient의 전달이 약해지는 것을(gradient vanishing 문제) 완화하기 위해 위 그림에서처럼 레이어들을 거친 결과와 처음 입력을 합쳐서 activation function의 입력으로 줌

Add an identity map after nonlinear activations

Batch normalization after convolutions

Bottleneck architecture

DenseNet

DenseNet은 addition 대신 concatenation을 사용하여 연산을 줄임


  • 채널이 기하급수적으로 커지게 되는 것을 Transition Block을 통해 중간에 한 번씩 줄여줌

Dense Block

  • 각 레이어가 이전의 모든 레이어와 피쳐 맵을 연결하여 채널 수가 기하학적으로 증가하여 문제

Transition Block

  • BatchNorm → 1x1 Conv → 2x2 AvgPooling
  • batch normalization, 1x1 Convolution, 2x2 average pooling 레이어를 통해 차원을 감소시킴

Summary

Key takeaways

VGG

  • repeated 3x3 blocks

GoogLeNet

  • 1x1 convolution

ResNet

  • skip-connection

DenseNet

  • concatenation

출처: 부스트캠프 AI Tech 4기(NAVER Connect Foundation)

Comments