티스토리 뷰
[논문 요약4] ImageNet Classification with Deep Convolutional Neural Networks
Arc Lab. 2018. 3. 21. 17:37[업데이트 2018.04.08 01:51]
네번째 요약할 논문은 "ImageNet Classification with Deep Convolutional Neural Networks"(https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf) 입니다. Alex Net이라고 불리우는 심층 신경망 모델로, 2012 ILSVRC (ImageNet Large-Scale Visual Recognition Challenge)에서 괄목 할 만한 성과를 발표하게 됩니다. (top 5 test error rate of 15.4%)
Abstract를 보면 ImageNet LSVRC-2010 컨테스트에서 제공하는 120만개의 데이터를 가지고 총 1000개의 클래스로 분류하는 Deep CNN을 학습 시켰다고 이야기 하며, 2010년 대회에서 top1, top5 에러율이 각각 37.5%, 17.0% 였다고 합니다. 6000천만개의 파라메터와 65만개의 뉴론, 5개의 Convolutional Layer와 여기에 Max-pooling Layer 적용 및 최종적으로 3개의 Fully-Connected Layer를 통해 1000개의 클래스를 분류 합니다. 학습 속도 향상을 위해 Convolution시 GPU를 사용했고, Dropout을 통해 Overfitting을 줄였습니다. 기존 모델에서 변형된 버전의 모델을 통해 ImageNet LSVRC-2012 컨테스트에서 2위 기록인 26.2% 대비 top-5 에러율 15.3% 기록하며 우승 하였다고 합니다.
본 논문의 주요 포인트에 대해서 정리해보았습니다.
- ImageNet 2,000개 이상의 카테고리를 가진 레이블링된 고해상도 이미지 데이터 1500만개의 사용.
- 5-6일간 GTX 580 3GB GPU 2개를 가지고 학습함.
- 총 8개의 레이어로 구성되며, 5개의 Convolutional Layer와 3개의 Fully-Connected Layer로 구성됨.
- 사용된 입력 이미지 사이즈는 256x256x3(RGB)로 고정하여 사용함.(256보다 작은 사이즈는 center에 위치하도록 하여 256 사이즈를 만족시킴)
- 아키텍쳐에 적용되는 테크닉들.
1) ReLU nonlinearity activation function을 사용하여 학습 속도 향상시킴.
=> 모든 Layer에 적용.
2) ReLU 적용후 Local Response Normalization 적용함. (k = 2, n = 5, alpha = 10^-4, beta = 0.75)
=> 첫번째, 두번째 Convolutional Layer에만 적용.
3) Overlapping Pooling(s = 2, z = 3, filter size = z x z, strides = s)
=> 첫번째, 두번째, 다섯번째 Convolutional Layer에 적용.
- Overfitting 방지를 위한 테크닉들
1) Data Augmentation(연산 비용이 적도록 적은 변형만 적용하며 CPU를 사용)
=> 첫번째 형태, 이미지 translation 및 horizontal reflection 적용함. 224x224 사이즈로 random하게 추출함.
=> 두번째 형태, 학습 이미지 데이터 RGB channel 값을 변형시킴. (구현시에는 Tensorflow에서 제공하는 brightness, contrast, saturation 변경)
2) Dropout(0.5 probability)
- Learning Hyper Parameter
1) SGD w/ batch size = 128
2) momentum = 0.9
3) weight decay = 0.0005
4) 각 Layer weight 초기화(표준편차 = 0.01 w/ zero-mean Gaussian distribution)
5) convolution 2,4,5 및 fc layer bias 초기화 1, 나머지 layer 0
6) Learning rate = 0.01
* GitHub : https://github.com/asyncbridge/deep-learning/tree/master/AlexNet
- Total
- Today
- Yesterday
- OST
- ILoop Engine
- Meow
- Worry
- Ragdoll
- sentence test
- project
- #REST API
- Badge
- #TensorFlow
- #ApacheZeppelin
- ate
- English
- #ApacheSpark
- aws #cloudfront
- Physical Simulation
- 도커
- Game Engine
- SSM
- docker
- Mask R-CNN
- some time ago
- 2D Game
- Sea Bottom
- Library
- GOD
- Jekyll and Hyde
- #ELK Stack
- Memorize
- belief
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |