오늘은 저번에 못 본 9강을 전부 봤다.
저번에는 AlexNet을 배웠고, 오늘은 VGG, GoogLeNet, ResNet을 배웠다.
1. VGG
- 매우 심플하고 딥한 모델이다.
- 16 혹은 19층을 쌓았다.
- 3x3 CONV stride 1, pad 1 and 2x2 MAX POOL stride 2를 사용했다.
- 3x3을 쓰면서 7x7 필터를 쓰는 효과를 얻으면서 더 적은 파라미터를 만들어 계산비용을 줄였다.
2. GoogLeNet
- 22개의 층을 가진다.
- 인셉션 모듈을 가지고 있다.
- 단지 5만개 파라미터만 가진다. (AlexNet에 비해 12배 적다)
- 인셉션 모듈은 Multiple receptive field sizes for convolution (1x1, 3x3, 5x5), Pooling operation (3x3)을 가진다. 이 모든 필터를 병렬처리해서 output으로 가진다.
- 딥해질수록 계산해야 할 파라미터가 많아져서 1x1 conv, 64 filter를 bottlenecks으로 가진다.
- 처음은 다른 모델과 큰 차이가 없으나, 중간에 인셉션 모델을 가지고 계층을 쌓고, 중간 분류기도 설치하여 중간 Weight를 뽑아낼 수 있다. 마지막 레이어에는 평균값을 가지고 값을 낸다.
- 연산량을 줄이기 위해 FC 계층을 거의 안쓴다.
3. ResNet
- 일반적인 모델을 깊게 쌓으면 어떨까? 라는 생각에서 출발한다.
- 해보니 train은 과적합, test는 엉망일 줄 알았는데 둘 다 엉망이였다.
- 이 때 세운 가설이 계층이 깊어질 수록 optimization의 문제가 있을 거라는 가설을 세운다.
- H(x) = F(x) + x의 식에서 기존에는 적합한 H(x)를 찾았는데 이 모델은 적절한 F(x)를 찾는것이 목적이다. 그럼 F(x) = H(x) - x가 되고, 이전 레이어의 x값을 더해주면서 적절한 F(x)를 찾는 것이다. 이 F(x)를 Reresidual라고 하는 듯하다.
- 모든 residual block은 두 개의 3x3 conv 레이어를 가진다.
- GoogLeNet에서 사용한 bottlenecks처럼 50층마다 1x1 conv + 3x3 conv + 1x1 conv의 식으로 1x1 conv를 했다.
- 이 모델은 그 해 다른 여러 대회에서도 2등과 큰 격차로 1등을 차이했다.
4. 나머지 알아두면 좋은 모델들을 몇 가지 설명한 듯 하나 이 강의의 중점이 아닌듯 하다.
'공부 > AIFFEL' 카테고리의 다른 글
FUNDAMENTAL 23. 파이썬으로 이미지 파일 다루기 (0) | 2021.02.24 |
---|---|
Exploration 12 : 인공지능으로 세상에 없던 새로운 패션 만들기 (0) | 2021.02.23 |
FUNDAMENTAL 22. 딥러닝 레이어의 이해 (1) Linear, Convolution (0) | 2021.02.22 |
FUNDAMENTAL 21. SQL을 이용해 DB와 대화해보자 (0) | 2021.02.19 |
Exploration 11 : 뉴스 요약봇 만들기 (0) | 2021.02.19 |