논문

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

datali 2021. 8. 12. 15:04

link : https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf
Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. "Imagenet classification with deep convolutional neural networks." Advances in neural information processing systems 25 (2012): 1097-1105.

Abstract

120만 고해상도 이미지를 1000개의 클래스로 분류하는 task
6000만개의 파라미터, 65만 뉴런을 가진다.
5개의 합성곱층, maxpooling 층, 2개의 fully connected layers, 1000-way softmax 층으로 구성되어있다.
훈련을 빨리하기 위해 non-saturating neurons를 사용했다.
overfitting 낮추기 위해- recently developed 정규화 : dropout

1. Introduction

성능 향상 방법 : 큰 데이터셋 수집, 성능이 좋은 모델 학습, 과적합 방지 기술 사용

2. The Dataset

ImageNet 데이터셋 : 1500만 labeled 고해상도 이미지, 22000개의 categories

3. The Architecture

8개의 layer : 5개의 합성곱층, 3개의 fully connected layer

 

3.1 ReLU Nonlinearity : 보통은 tanh, sigmoid 활성함수를 썼다. 하지만 이러한 saturating nonlinearities는 ReLU의 non-saturating nonlinearities 보다 training 시간이 오래 걸린다. ReLU를 사용함으로써 훈련 시간을 매우 단축시켰다.

 

3.2 Training on a Multiple GPUs : 2개의 GPU로 분산시켰다.

 

3.3 Local Response Normalization : local 정규화가 일반화를 돕는다. 특정 layer에 relu를 적용한 후에 local response normalization를 적용한다. LRN은 lateral inhibition (측면억제)의 형태를 띄고, 특정 kernel의 뉴런 값이 다른 kernel들의 같은 위치의 뉴런들과 정규화된다.

 

3.4 Overlapping Pooling : 과적합을 조금 방지하는 효과.
기존의 non-overlapping : s=z
overlapping : s<z
(s : strides, z : filter size)

 

3.5 Overall Architecture
8개의 layer : 5개의 합성곱층, 3개의 fully connected layer, 1000개의 클래스로 분류하는 softmax
2, 4, 5번째 합성곱층의 kernel은 직전 layer의 특성맵에만 연결됨
response-normalization layer는 1번째와 2번째 합성곱층 뒤에 있음.

4. Reducing Overfitting

4.1 Data Augmenatation
변환된 이미지는 CPU의 파이썬 코드에서 생성됨. 학습은 GPU에서 이루어짐. 따라서 계산/연산면에서 자유로움.

  1. image translation, horizontal reflection
  2. RGB 채널의 강도를 바꾼다

4.2 Dropout
다양한 모델의 예측을 결합하는 것은 error를 줄이는데 좋지만 비용이 많이 든다.
드롭아웃 : 0.5 확률로 각 뉴런의 출력값을 0으로 바꾼다.
따라서 input이 주어질 때마다 네트워크는 다른 구조를 갖게 된다.