본 글에서 요약할 논문은 "ImageNet Classification with Deep Convolutional Neural Networks"입니다.
ImageNet Classification with Deep Convolutional Neural Networks
AlexNet이라고 불리는 심층 신경망 모델로, 2012 ILSVRC(ImageNer Large-Scale Recognition Challenge)에서 'top5 test erro rate of 15.4%'의 주목할 만한 성과를 발표했습니다.
Abstract
첫 번째로 Abstract를 보면 ImageNet LSVRC-2010 대회에서 120만개의 고해상도 이미지를 1000개의 서로 다른 클래스로 분류하기 위해 Deep Convolution Neural Network(이하 CNN)을 시켰다고 하며, 2010년 대회에서는 TOP1, TOP5의 에러율이 각각 37.5%, 17.0%로 당시의 State-of-the Art(이하 SOTA)보다 상당히 우수했다고 합니다.
6천만 개의 파라미터와 65만 개의 뉴런이 있는 신경망은 5개의 합성솝 신경망 레이어로 구성되어 있으며, 그 중 일부는 max-pooling layer와 final 1000-way softmax를 가진 3개의 fully-connected layer로 구성되어 있다고 합니다.
훈련을 가속시키기 위해서 non-saturating neurons를 사용했으며, Convolution 연산에 효과적인 GPU를 사용했습니다. 또한 과적합(Overfitting)을 방지하기 위해서, Dropout을 사용했습니다.
기존 모델에서 변현된 버전의 모델을 통해 ImageNet LSVRC-2012 컨테스트에서 2위 기록인 26.2% 대비 TOP5 에러율 15.3% 기록하며 우승하였다고 합니다.
Key Points
Dataset
1) 22,000개의 카테고리에 속하는 1500만 개 이상의 label이 지정된 고해상도 이미지로 구성된 데이터 세트인 ImageNet 데이터셋 사용
2) 입력에 사용되는 이미지는 256x256x3(RGB)의 고정 해상도로 다운 샘플링 적용(만약 256보다 작을 경우는 256으로 크기를 조절한 후 이미지의 중간 부분을 cropped함)
Network
1) 최종적인 네트워크에는 5개의 Convolutional Layer와 3개의 Fully-Connected Layer로 구성
2) Rectified Linear Units(이하 ReLU) nonlinearity activation funtion를 적용하여 학습 속도 향상(모든 layer에 적용)
3) Overlapping Pooling 적용(1, 2, 5번째 Convolutional Layer에만 적용)
4) 2, 4, 5번째 Convoution Layer와 Fully-Connected Hidden Layer의 Bias를 1로 초기화, 나머지 층의 Bias는 0으로 초기화
5) 네트워크의 Convolution Layer를 제거할 시 성능에 대한 손실이 발생
Train & Skills
1) GTX580 3GB 사양의 GPU 2개를 사용하여 5~6일간 학습하여, 학습 속도 가속화 및 오류율 감소
2) 과적합을 방지하기 위해서 Data Augmentation을 적용(image translation, horizontal reflection, REB Channel 값 변경)
3) Batch Size: 128, Momentum: 0.9, Weight Decay: 0.0005, Learning Rate: 0.01
New Knowledge
a final 1000-wat softmax
1) 마지막 Fully-Connected Layer의 출력은 1000개의 클래스 레이블에 대한 분포를 만들어내는 softmax로 연결된다.
2) 즉, 마지막 레이어의 활성화 함수는 softmax이며, 이에 따른 클래스 레이블은 총 1000개이다.
saturating nonlinearities, non-saturating nonlinearity
1) saturating nonlinearities 함수: 어떤 입력 x가 무한대로 갈 때 함수의 결과값이 어떤 범위내에서만 움직이는 함수 ex) Sigmoid, Hyperbolic Tangent
2) non-saturating nonlinearity 함수: 어떤 입력 x가 무한대로 갈 때 함수의 결과값이 무한대로 가는 함수 ex) ReLU
multinomial logistic regression
1) y의 범주가 3개 이상(multi)이며 명목형(nomial)일 때 사용하는 로지스틱 회귀분석
2) 로지스틱 회귀(Logistic Regression)의 목적은 일반적인 회귀 분석의 목표와 동일하게 종속 변수와 독립 변수간의 관계를 구체적인 함수로 나타내어 향후 예측 모델에 사용하는 것
log-probability
1) probability의 log 값
2) 표준 [0, 1] 단위 구간 대신 로그 척도로 확률을 나타내는 것을 의미
weight decay
1) 학습된 모델의 복잡도를 줄이기 위해서 학습 중 weight가 너무 큰 값을 가지지 않도록 Loss function에 Weight가 커질 경우에 대한 패널티 항목을 집어넣는 것
2) weight decay(가중치 감소)를 통해 과적합 문제를 해결하는 기법 중 하나
infero-temporal
1) 'Inferior temporal cortex'와 동일어로 추측
2) 본 논문에서는 '인간의 시각 능력'와 유사한 표현으로서 사용한 것으로 추측
3) Inferior temporal cortex: 시각적 물체 인식에 중요하며, 복부 피질 시각 시스템의 마지막 단계