본문 바로가기
  • 기술을 이야기하지만 사람을 생각합니다.
20. 인공지능과 딥러닝

[논문리뷰] CNN :: AlexNet 톺아보기

by WE DONE IT. 2018. 11. 11.

논문 리뷰. AlexNet 톺아보기


Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems (pp. 1097-1105).


상세 과정 


서론

  • ImageNet LSVRC-2012 대회에서 2등(에러율 26.2%)과 11.1%의 큰 격차를 벌리며 1등(에러율 15.3%)을 한 모델에 대한 설명
  • 고해상도 이미지는 CNN 계산량이 매우 많기 때문에, GPU를 최적화하여 2D 합성곱(convolution)을 구현함
    (GTX580 3G 2개를 이용하여 학습하는 데 5~6일 정도 소요됨)


데이터셋

  • ImageNet는 1,500만 장의 고해상도 이미지와 2,200개의 라벨로 이루어져 있음
  • LSVRC 대회에서는 1,000개의 카테고리 각각 1,000장의 이미지만 사용 (아마존의 메커니컬 Turk Crowd-sourcing을 이용하여 사람이 직접 라벨링함)
  • 학습셋 : 120만 장 / 검증셋 : 5만 장 / 테스트셋 15만 장
  • 다섯 개의 Convolution Layer, 세 개의 Fully Connected Layer로 이루어져 있음
  • 고정된 차원의 데이터가 필요하므로, 256*256 차원으로 다운샘플링함
    > 이미지의 작은 면을 256에 맞게 줄인 다음에, 이미지의 중앙을 잘라 256*256으로 패치가 되게 함
     

특징

1. ReLU(Rectified Linear Units) Nonlinearity

  • 계산 속도가 tanh보다 약 7배 빠름
    > CIFAR-10 데이터셋을 네 개의 컨볼루션 레이어로 학습했을 때, epoch = 5일 때 학습 에러율 25%에 도달함
    >  tanh 뉴런보다 약 여섯 배 빠름

2. Training on Multiple GUPs

  • 120만 개의 학습셋을 학습하기 위해 GTX 580 GPU 두 개를 분산시킴
  • GPU를 한 개 사용한 넷과 두 개 사용한 넷의 마지막 컨볼루션 커널 사이즈는 같음 
    > 첫 번째부터 네 번째 컨볼루션 레이어의 커널 사이즈만 반으로 줄임
    > 같은 수의 파라미터를 구성하기 위해 다섯 번째 컨볼루션 레이어는 반으로 줄이지 않음

3. Local Response Normalization

  • 일반화에 긍정적인 영향을 줌
  • 인간의 뉴런에서 발견되는 측면억제에서 영감을 받음
  • Validation 셋에 따라서 Hyper parameter인 상수 k, n, a, b 값이 결정됨
    > k = 2, n = 5, a = 10^-4, b = 0.75 
  • top-1과 top-5 에러율 각각 1.4%, 1.2% 감소시킴
  • CIFAR-10 데이터셋으로 네 개의 컨볼루션 레이어로 구성된 CNN에 적용했을 때도 효과적으로 나타남
    >  정규화하지 않았을 때(13%) 대비 정규화 했을 때 에러율 2% 감소하여 11%가 나옴

4. Overlapping Pooling

  • s 픽셀씩 떨어져서 z*z 크기만큼 요약하는 그리드 풀링
    > s = z : 자주 사용하는 지역 풀링
    > s < z : 오버래핑 풀링
  • 오버래핑 풀링 s = 2, z = 3 적용
  • s = 2, z = 2를 적용한 풀링과 비교했을 때, top-1과 top-5 에러율은 각각 0.4%, 0.3% 감소

5. Overall Architecture

  • 120만 개의 학습셋을 학습하기 위해 GTX 580 GPU 두 개를 분산시킴





AlexNet 레이어별 주요 역할 


첫 번째 Convolution Layer : Edge와 Blob(작은 색깔 부분)

세 번째 Convolution Layer : texture

다섯 번째 Convolution Layer : Object Parts

여덟 번째 Fully Connected Layer : Object Classes





요약


장점

  • 이미지 분류 성능을 높였다.
  1. 활성화 함수 : tanh가 아닌 ReLU 이용
  2. Dropout (0.5 적용)
  3. Local Response Normalization
  4. Pooling

단점

  1. 성능이 좋아진 것에 대한 이유나 학술적인 해석이나 부족하다.
  2. 모델링하는 과정이 자세하기 보단, 결과론적으로 서술된 부분이 많다.
    (하지만 그럴 수 있는 이유가.. 
    ILSVRC 2012 대회에서 2등과 에러율 11% 차이를 보이며 1등한 모델에 대한 논문이니, 
    타당성은 이미 검증되었기 때문에 그 부분이 많이 생략된 것 같다.) 


댓글