[AIFFEL 울산 1기] 22. 딥네트워크, 서로 뭐가 다른 거죠?

정경민·2022년 3월 15일
0

학습 목표

Part 1

  • 딥러닝 네트워크들을 동물원 구경하듯 둘러봅니다. (Model Zoo라고도 하죠)
  • 딥러닝이 어떻게 시작된 것인지 알아봅니다.
  • ResNet과 VGG는 무엇을 시도했는지 알아봅니다.

Part 2

  • 그림과 글로만 보던 딥네트워크 어떻게 만들고 있는지 알아봅니다.
  • 논문의 방법이 사용된 부분을 코드에서 찾을 수 있습니다.
  • 나도 할 수 있다는 자신감을 챙깁니다.

후기


학습 내용

22. 딥네트워크, 서로 뭐가 다른 거죠?

딥러닝?

깊게 구성된 신경망

  • Tensorflow나 PyTorch는 약 20여개의 Pre-trained 모델을 활용할 수 있다.

[ Part 1 ]

22.1 ImageNet Challenge

  • 이미지넷
    • 2010년 ILSVRC 2010을 시작으로 대량의 이미지 데이터를 포함하는 데이터셋

22.2 딥네트워크의 시작

  • 알렉스넷(AlexNet)
    • ILSVRC에 등장하여 엄청난 성능향상을 보인 네트워크를 깊게 쌓은 모델
    • 7개의 CNN과 2개의 FCN을 사용

22.3 CNN을 잘쓰자

  • VGG
    • 2014년 이미지넷 챌린지에 등장하여 준우승 기록
    • 간결한 구조로 지금까지도 많이 활용되는 모델
    • 16개의 레이어를 가진 모델(VGG16)과 19개의 레이어를 가진 모델(VGG19)이 있음.

22.4 멀리 있으면 잘 안 들려요

  • Vanishing Gradient(기울기 소실 or 경사 소실)
    • 모델이 깊어질수록 학습을 위한 Gradient가 사라지는 현상이 발생
      (Gradient descent를 통해 기울기를 학습하는데 레이어가 깊어질수록 Gradient가 매우 작아지거나 커지면서 학습을 위한 값을 표현하지 못함)
    • 활성화 함수나 가중치 초기화 방법을 통해 완화 가능

22.5 지름길을 만들어주자

  • ResNet
    • ILSVRC'15에 등장하여 획기적인 성능을 보이며 우승
    • 152개의 레이어로 구성되어 있고, Skip Connection 구조를 사용

  • Skip Connection
    • 레이어의 입력을 다른 곳에 이어서 Gradient가 깊은 곳까지 이어지도록 함
    • Vanishing Gradient 문제를 해결
    • 해당 구조가 있는 블록을 Residual Block 이라고 함

[ Part 2 ]

Tensorflow의 model API와 Keras와 모델 구조를 비교하며 어떻게 구현되었는지 확인

22.6 Model API

(1) Tensorflow

  • 사전 학습 모델들이 slim이라는 고수준 API로 구현
  • tf_slim은 조금 어렵고 많이 활용되지 않으므로 한 번 훑어보기!

(2) Keras

22.7 VGG-16

22.8 ResNet-50

0개의 댓글