AlexNet(2012) 논문 리뷰

hu22·2023년 8월 2일

AI 논문 리뷰

목록 보기
1/6

[본 글은 ImageNet Classification with Deep Convolutioal Neural Networks 논문의 주요내용을 정리한 리뷰 글입니다.]

01. Introduction

CNN(Convolutional Neural Networks)

  • 본 모델에서는 CNN을 사용하여 AI를 학습시킴
  • CNN은 입력층, 여러개의 은닉층, 출력층을 가진 Deep Neural Network임.
  • 일반적으로 Convolution, ReLU(03-1에서 설명), Pooling 계층으로 이루어짐.
  • Pooling : 계산할 input size를 줄이고 overfitting을 방지하기 위해 비선형 downsapling 수행(03-4에서 추가 설명)
  • Convolution : 특정 Filter를 이용하여 탐색하면서 이미지의 특징들을 추출하고, 추출한 특징들을 Feature Map으로 생성
    (출처 : https://jarikki.tistory.com/26)

02.DataSet

  • ImageNet의 하위 집합 데이터를 쓰는 ILSVRC의 데이터를 사용
  • ILSVRC에서는 120만개 training images, 5만개의 validation images, 15만개의 testing images를 사용

  • ImageNet의 데이터는 가변 해상도의 이미지로 구성되어있음.
  • 본 모델에서는 일정한 dimensionality가 필요하므로 이미지를 256X256으로 downsapling함

03.The Arcitecture

03-1. ReLU Nonlinearity

  • 원래 보통 사용하던 뉴런의 출력 함수는 하이퍼볼릭 탄젠트나 시그모이드 함수였음.
  • 이러한 함수들에서는 saturation(포화) 문제로 인해 훈련 시간이 느렸음.
    ** saturation : 미분값이 0이되어서 가중치가 업데이트 되지 않는 현상
  • 이 문제들을 해결하는 non-saturation nonlinearty(비포화 비선형성) 함수인 ReLu함수를 도입함
  • ReLU -> f(x)=max(0,x)f(x) = max(0,x)

    (출처 : 위키백과)
  • ReLU를 사용했을 때 기존 포화 함수들보다 훈련이 훨씬 빠름

    ReLU함수를 사용했을 때 tanh함수보다 6배 빨리 Error rate 0.25에 달성

03-2. Training on Multiple GPUs

  • 120만개의 training examples를 두개의 GPU로 학습하도록 분산시킴
  • GPU는 특정 레이어에서만 통신하도록함
    (layer 3의 커널은 layer2의 모든 커널과 연결, but layer4의 커널은 같은 GPU의 layer3랑만 연결)

03-3. Local Response Normalization

  • ReLU는 non-saturation(비포화) 함수이기 때문에 포화방지를 위한 입력 정규화 필요X
  • 본 모델에서는 generalization(일반화)를 위한 지역 정규화를 사용


    (출처 : https://velog.io/@sasganamabeer/AI-AlexNet-1)

03-4. Overlapping Pooling

  • CNN에서 Pooling layer는 동일한 커널 맵에서 이웃한 뉴런 그룹의 출력을 요약해줌.
  • z×zz\times z사이즈의 필터를 ss픽셀 간격으로 배치
  • s=zs = z인 일반적인 Pooling과 달리 s<zs < z인 Overlapping Pooling을 본 모델에서 사용
  • 일반적인 Pooling보다 overfit되기 어렵고 오류율도 줄일 수 있음.

03-5. Overall Architecture

  • 첫 5개는 Convolutional, 나머지 3개는 Fully-connected인, 8개의 layer로 구성
  • 두 번째, 네 번째, 다섯 번째 Convolutional layer는 같은 GPU에 있는 이전의 layer들과 연결됨
  • Fully-connected layer의 마지막 출력은 1000개의 class labels를 구분하는 1000-way softmax로 계산됨

04. Reducing Overfitting

  • 본 모델은 6천만개의 parameter를 가지기 때문에 Overfitting되기 쉬움.
  • Overfitting을 줄이기 위해 두가지 방법을 사용.

04-1. Data Augmentation

profile
ai 개발자를 꿈꾸는 대학생

1개의 댓글

comment-user-thumbnail
2023년 8월 2일

감사합니다. 이런 정보를 나눠주셔서 좋아요.

답글 달기