일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- DCGAN
- classification
- virtualenv
- Vanilla RNN
- Gated Skip Connection
- cnn
- Inception V1
- AI
- DL
- GCN
- Bottleneck Layer
- sigmoid
- Regression
- Generative
- RNN
- vim-plug
- Skip Connectioin
- GoogLeNet
- ResNet
- version
- Skip Connection
- Residual Connection
- Optimizer
- Inception Module
- Peephole Connection
- python
- Manager
- jupyter
- iTerm2
- Linear
- Today
- Total
IT Repository
(4) AlexNet 본문
Advanced Techniques for CNN¶
지금까지 기본적인 CNN의 구조와 연산, 그리고 층의 의미를 학습했습니다.
이제부터는 CNN의 좀더 발전된 테크닉들을 유명한 모델들의 Case Study를 통해 알아보겠습니다.
AlexNet (2012)¶
AlexNet은 2012년도 ILSVRC (ImageNet Large Scale Visual Recognition Challenge)에서 우승한 Image Classifying Model 입니다.
이 모델의 구조는 아래에서 보시다시피 8개의 레이어를 사용한 크게 복잡하지 않은 단순한 구조입니다.
그러나 이 모델이 갖는 의미는 최초로 CNN 베이스의 우승 모델이라는 것입니다.
AlexNet을 시작으로 하여 각종 이미지 태스킹에서 CNN은 폭발적으로 사용되기 시작했으며
사람들이 딥러닝에 대해 주목하기 시작하는 계기가 되었습니다.
이제와서는 특별하게 주목할만한 것은 없지만 몇가지를 살펴보자면
(1)
최초로 Activation으로 ReLU를 사용했습니다.
(2)
AlexNet은 Image Augmentation을 많이 사용하여 학습한 모델입니다.
Image Augmentation은 특히 샘플의 수가 많지 않을 때 주로 사용하는 기법입니다.
소수의 이미지 샘플에 rotation, shift, whiten 등을 사용하여 조금씩 다른 샘플들을 생성하여 그 양을 늘리는 방법입니다.
이 방법의 장점은 적은 샘플로 많은 양의 데이터를 확보할 수 있다는 점이고,
단점으로써는 결국에는 베이스 샘플을 변형하는 것이므로 획기적인 Variation은 기대하기 힘들다는 점이 있습니다.
(3)
마지막으로는 Architecture에서 보시면 Norm Layer가 있는데 이는 Local Response Normalization 입니다.
이후 연구에서 별로 효과가 없음이 입증되어 이제는 사용하지 않습니다.
(Batch Normalization이 아닙니다.)
Architecture
[227x227x3] Input
[55x55x96] Conv1: 96 11x11 filters at stride 4, pad 0
[27x27x96] Maxpool1: 3x3 filters at stride 2
[27x27x96] Norm1: Normalization layer (not common anymore)
[27x27x256] Conv2: 256 5x5 filters at stride 1, pad 2
[13x13x256] Maxpool2: 3x3 filters at stride 2
[13x13x256] Norm2: Normalization layer (not common anymore)
[13x13x384] Conv3: 384 3x3 filters at stride 1, pad 1
[13x13x384] Conv4: 384 3x3 filters at stride 1, pad 1
[13x13x256] Conv5: 256 3x3 filters at stride 1, pad 1
[6x6x256] Maxpool3: 3x3 filters at stride 2
[4096] fc1: 4096 neurons
[4096] fc2: 4096 neurons
[1000] fc3: 1000 neurons
Details
- 8 layers - first use of ReLU
- heavy data augmentation
- dropout 0.5
- batch size 128
- SGD Momentum 0.9
- lr 1e-2, reduced by 10 manually when val accuracy plateaus
- L2 weight decay 5e-4
- 7 CNN ensemble: err 18.2% -> 15.4%
'CNN > Study' 카테고리의 다른 글
(6) GoogLeNet (Inception Module & BottleNeck Layer) (0) | 2020.01.14 |
---|---|
(5) VGGNet (Small Filters with Deeper Networks) (0) | 2020.01.14 |
(3) Basic of CNN - Structure of CNN (4) | 2020.01.14 |
(2) Basic of CNN - Convolutional Operation (0) | 2020.01.14 |
(1) Basic of CNN - What is CNN (0) | 2020.01.14 |