일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- RTK
- batch norm리뷰
- rtcm
- machine learning
- c099-f9p
- Deep Residual Learning for Image Recognition
- one-stage
- ImageNet Classification with Deep Convolutional Neural Networks
- ntrip
- ML
- instance segmentation
- vggnet리뷰
- 논문리뷰
- VGGNET
- overfeat
- 딥러닝
- f9p
- Mask R-CNN
- zed-f9p
- Paper Review
- batch normalization
- batch norm
- object detection
- ImageNet Classification with Deep Convolutional Neural Networks 리뷰
- alexnet리뷰
- resnet리뷰
- Deep learning
- Very Deep Convolutional Networks for Large-Scale Image Recognition
- Batch Normalization: Accelerating Deep Network Training by ReducingInternal Covariate Shift
- AI
- Today
- Total
zlzon
[논문리뷰][AlexNet] ImageNet Classification with Deep Convolutional Neural Networks 본문
[논문리뷰][AlexNet] ImageNet Classification with Deep Convolutional Neural Networks
zlzon 2021. 7. 21. 11:48이 글은 'AlexNet', 'ImageNet Classification with Deep Convolutional Neural Networks' 논문리뷰 입니다.
저도 아직 공부하는 학생이라 부족한 부분이 많을수 있다는 점 유의하여 읽어주시면 감사하겠습니다.
피드백은 언제나 환영입니다.
AlexNet은 ILSVRC-2012에서 우승한 최초의 CNN 기반 우승모델이다.
3. The Architecture
AlexNet은 기본적으로 conv - pool - normalization 구조가 두 번 반복되며, 마지막에는 FC-layer가 몇 개 붙는다
3. 1 ReLU
일반적으로 activation function으로 tanh, sigmoid를 사용하는 것과 달리 AlexNet에서는 activation function으로 ReLU를 사용한다. 기존의 tanh, sigmoid의 경우 gradient vanishing의 문제가있다. 이러한 문제를 ReLU를 사용함으로써 해결하고, 학습속도 또한 tanh, sigmoid보다 훨씬 빠르다.
3. 2 Training on Multiple GPUs
이 팀이 사용한 GTX 580의 경우 memory가 3GB 밖에 되질 않아서, GTX 580 2개를 사용했다고한다.
3. 3 Local Response Normalization (LRN)
ReLU는 max(a,0)과 같은 형태인데, 양수 방향의 값은 그대로 사용하기 때문에 특정 activation map의 한 pixel 값이 엄청나게 크다면 주변의 pixel도 영향을 받게 된다. 이러한 문제를 해결하기 위해 activation map의 같은 위치에 있는 픽셀끼리 정규화는 방식인 LRN을 사용한다. 현재는 이러한 정규화방법되신 Batch Normalizaiton을 주로 사용한다.
3. 4 Overlapping Pooling
일반적인 pooling layer에서는 겹치지않게 구성되는 반면, AlexNet의 pooling layer에서 stride보다 더 큰 필터를 사용하여 겹치게 구성한다.
4. Reducing Overfitting
4. 1 Data Augmentation
image data에서 overfitting을 줄이는 가장 쉽고 일반적인 방법은 label-preserving transformations이용하여 dataset을인위적으로 늘려주는 것이다. 여기서는 2가지 방법으로 Data Augmentation을 시행하며 2가지 방법 모두 매우 적은 연산을 필요로하므로 disk에 저장될 필요가 없으며 이전 image batch가 gpu에서 train되는 동안, cpu에서 그 다음 image batch의 Augmentation이 진행된다.
1. 256x256의 원본 이미지를 상하대칭을 포함해서 224x224의 patch가 되도록 무작위로 뽑아낸다.
2. ImageNet training set의 RGB pixel 값에 대하여 PCA를 수행한다.
4. 2 Dropout
Dropout은 위 그림처럼 hidden layer의 일부 neuron output값을 p의 확률로 0으로 변경하는 것을 말한다.
(논문에서는 p=0.5)
Dropout으로 인해 0으로 변경된 neuron은 순전파 및 역전파에서 전혀 사용되지 않는다.
이 방법은 일부 neuron을 강제로 0으로 변경하면서 neuron간의 복잡한 상호 의존을 감소시킨다.
단, dropout을 사용시 학습속도가 느려진다.
참고사이트
https://seobway.tistory.com/entry/alexnet