[논문 요약] ImageNet Classification with Deep Convolutional Neural Networks

Mayner·2021년 4월 7일
0

논문읽기

목록 보기
6/6
post-thumbnail

본 글에서 요약할 논문은 "ImageNet Classification with Deep Convolutional
Neural Networks"입니다.

논문 출처: ImageNet Classification with Deep Convolutional Neural Networks

AlexNet이라고 불리는 심층 신경망 모델로, 2012 ILSVRC(ImageNet Large-Scale Recognition Challenge)에서 'top 5 test error 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% 대비 top-5 에러율 15.3% 기록하며 우승 하였다고 합니다.


Key Points 🗝

Dataset 🧮

  • 22,000개의 카테고리에 속하는 1500만 개 이상의 label이 지정된 고해상도 이미지로 구성된 데이터 세트인 ImageNet 데이터셋 사용
  • 입력에 사용되는 이미지는 256 x 256 x 3 (RGB)의 고정 해상도로 다운 샘플링 적용 (만약 256보다 작을 경우는 256으로 크기를 조절한 후 이미지의 중간 부분을 cropped함)

Network 🔗

  • 최종적인 네트워크에는 5개의 Convolutional Layer와 3개의 Fully-Connected Layer로 구성
  • Rectified Linear Units(이하 ReLU) nonlinearity activation function를 적용하여 학습 속도 향상 (모든 layer에 적용)
  • ReLU를 적용 후에는 Local Response Normalization를 적용 (1, 2번째 Convolutional Layer에만 적용)
  • Overlapping Pooling 적용 (1, 2, 5번째 Convolutional Layer에만 적용)
  • 2, 4, 5번째 Convolution Layer와 Fully-Connected Hidden Layer의 Bias를 1로 초기화, 나머지 층의 Bias는 0으로 초기화
  • 네트워크의 Convolution Layer를 제거할 시 성능에 대한 손실이 발생

Train & Skills 🎰

  • GTX580 3GB 사양의 GPU 2개를 사용하여 5~6일간 학습하여, 학습 속도 가속화 및 오류율 감소
  • 과적합을 방지하기 위해서 Data Augmentation을 적용 (image translation, horizontal reflection, REB Channel 값 변경)
  • 과적합을 방지하기 위한 또 다른 방법으로 Dropout을 적용 (0.5 probability)
  • Batch Size: 128, Momentum: 0.9, Weight Decay: 0.0005, Learning Rate: 0.01

New Knowledge 👾

a final 1000-way softmax 📊

  • 마지막 Fully-Connected Layer의 출력은 1000개의 클래스 레이블에 대한 분포를 만들어내는 softmax로 연결된다.
  • 즉, 마지막 레이어의 활성화 함수는 softmax이며, 이에 따른 클래스 레이블 총 1000개이다.

saturating nonlinearities, non-saturating nonlinearity 🏹

  • saturating nonlinearities 함수: 어떤 입력 x가 무한대로 갈 때 함수의 결과값이 어떤 범위내에서만 움직이는 함수
    Ex) Sigmoid, Hyperbolic Tangent
  • non-saturating nonlinearity 함수: 어떤 입력 x가 무한대로 갈 때 함수의 결과값이 무한대로 가는 함수
    Ex) ReLU

    Reference: What does the term saturating nonlinearities mean?

multinomial logistic regression 📚

  • y의 범주가 3개 이상(multi)이며 명목형(nomial)일 때 사용하는 로지스틱 회귀분석
  • 로지스틱 회귀(Logistic Regression)의 목적은 일반적인 회귀 분석의 목표와 동일하게 종속 변수와 독립 변수간의 관계를 구체적인 함수로 나타내어 향후 예측 모델에 사용하는 것

    Reference: R - Multinomial Logistic Regression (다중 로지스틱 회귀분석)

log-probability 📌

  • probability의 log 값
  • 표준 [0, 1] 단위 구간 대신 로그 척도로 확률을 나타내는 것을 의미

    Reference: Wikipedida - Log probability

weight decay 🔨

  • 학습된 모델의 복잡도를 줄이기 위해서 학습 중 weight가 너무 큰 값을 가지지 않도록 Loss function에 Weight가 커질경우에 대한 패널티 항목을 집어넣는 것
  • weight decay(가중치 감쇠)를 통해 과적합 문제를 해결하는 기법 중 하나

    Reference: 딥러닝 용어 정리, Weight decay 설명과 이해

infero-temporal 🗿

  • 'Inferior temporal cortex'와 동일어로 추측
  • 본 논문에서는 '인간의 시각 능력'와 유사한 표현으로서 사용한 것으로 추측
  • Inferior temporal cortex: 시각적 물체 인식에 중요하며, 복부 피질 시각 시스템의 마지막 단계

    Reference: Scholarpedia - Inferior temporal cortex


Task 🤔

  • 논문 속 'subtracting the mean activity over the training set from each pixel'의 정확한 의미는 무엇인가?
  • 논문 속 'cycle'은 'epoch'와 동일한 개념인가?
  • L1, L2 Regularization은 정확히 무엇이고, 차이점은 무엇인가?
profile
인공지능처럼 공부하고 싶은 인공지능 개발자

0개의 댓글