부트캠프와 다른 AI학교,
AI는 아이펠에서 배우세요
#인공지능 

AlexNet의 구조

2012 Imagenet 대회를 통해 딥러닝 분야의 불씨를 지핀 AlexNet 의 구조에 대해 살펴봅니다. 초창기 CNN 의 획기적인 성능을 만들어낸 모델의 구조, 기법 등을 알아봅니다. 모델의 내부 구조를 생생하게 관찰할 수 있는 추가적인 자료를 첨부했습니다.

2024-03-26 | 나융

AlexNet이란?

AlexNet의 등장 배경

AlexNet은 2012년 ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 대회에서 압도적인 성능을 보여주며 컴퓨터 비전 분야에 지대한 영향을 미친 합성곱 신경망(Convolutional Neural Network, CNN) 모델입니다.

Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton 등이 개발한 AlexNet 논문은 딥러닝 분야에서 매우 중요한 역할을 했습니다. 이전까지는 컴퓨터 비전 문제에서 전통적인 기계학습 알고리즘이 주로 사용되었지만, AlexNet의 등장으로 딥러닝 기반 모델의 성능이 크게 향상되었습니다.

2012년 ILSVRC 대회에서는 단일 AlexNet 모델로도 18.2%의 낮은 오차율을 보였습니다. 결국 7개의 앙상블 AlexNet 모델로는 15.4%의 최고 성적을 거두며 우승을 차지했습니다. 이는 다음 순위 모델(26.2 %) 대비 10% 이상 성능이 향상한 결과였으며, 컴퓨터 비전 분야에 지각 변동을 일으킨 사건이었습니다.

AlexNet 논문

AlexNet 논문은 2012년 NeurIPS(Neural Information Processing Systems)에 발표되었으며, 현재까지 28,000회 이상 인용될 정도로 학계에 큰 영향을 미쳤습니다. 이 논문을 통해 CNN 모델의 우수성이 입증되면서 딥러닝 연구가 다시 활기를 띄게 되었습니다.

AlexNet, the winner in ILSVRC 2012 image classification with remarkable lower error rate

 


AlexNet의 구조

AlexNet은 5개의 합성곱 계층과 3개의 완전연결 계층으로 구성된 8계층 CNN 모델입니다. 이전 CNN 모델에 비해 규모가 훨씬 크고 깊은 구조를 가지고 있습니다. GPU 를 활용한 병렬 학습을 위해 동일한 모양의 구조가 2 가지로 분기되어 있습니다. 아래 그림과 논문에는 224×224×3 크기가 언급되어있지만, 이후 수정되어 1 계층에서 패딩을 통해 227x227x3 사이즈로 변경됩니다.

 

입력 이미지 전처리

  • 입력 이미지 크기는 227x227x3(RGB) 입니다. 원본 이미지 크기가 다르면 256×256로 리사이징한 후 227×227 영역을 잘라(crop)냅니다.
  • 데이터 증강을 위해 입력 이미지를 수평으로 반전시키거나 227×227 영역을 무작위로 추출하기도 합니다.

 

Alex 는 입력부터 완전 연결 계층 이전까지, 동일한 모델 구조를 두 가지로 병렬하여 빌드합니다.

  • 합성곱 계층 1
    • 11x11x3 크기의 커널 48개를 2개 그룹 사용하여, 55x55x(48×2) 특징맵 출력 (stride=4, padding=0)
    • 3×3 중첩 최대풀링 Overlapping Max Pooling 을 적용하여, 27x27x(48×2) 특징맵 출력 (stride=2)
    • 지역 응답 정규화 Local Response Normalization 를 적용하고, 27x27x(48×2) 특징맵을 출력
  • 합성곱 계층 2
    • 5x5x48 크기의 커널 128개를 2개 그룹 사용하여, 27x27x(128×2) 특징맵 출력 (stride=1, padding=2)
    • 3×3 중첩 최대풀링 적용하여, 13x13x128x2 특징맵 출력 (stride=2)
    • 지역 응답 정규화를 적용하고, 13x13x128x2 특징맵 출력
  • 합성곱 계층 3
    • 3x3x256 크기의 커널 192개를 2개 그룹 사용하여, 13x13x192x2 특징맵 출력 (stride=1, padding=1)
  • 합성곱 계층 4
    • 3x3x192 크기의 커널 192개를 2개 그룹 사용하여, 13x13x192x2 특징맵 출력 (stride=1, padding=1)
  • 합성곱 계층 5
    • 3x3x192 크기의 커널 128개를 2개 그룹 사용하여, 13x13x128x2 특징맵 출력 (stride=1, padding=1)
    • 3×3 중첩 최대풀링(stride=2)을 적용하여, 6x6x128x2 특징맵 출력
  • 완전연결 계층 6-8
    • 5계층 합성곱 후 6계층, 7계층에서는 각각 4096개의 노드가 있습니다.
    • 마지막 8계층에는 1000개의 노드가 있어 1000개 클래스 구분을 의미하는 확률값을 출력합니다.
  • 파라미터 수와 계산 복잡도
    • AlexNet에는 약 6천만 개의 학습 가능한 파라미터가 있습니다. 당시 GPU 환경에서 5~6일(!!)이 걸렸던 대규모 모델입니다.

 


AlexNet의 핵심 기술

ReLU(Rectified Linear Unit) 활성화 함수

AlexNet에서는 기존의 tanh, sigmoid 활성화 함수 대신 ReLU 함수를 사용했습니다. ReLU는 음수 입력에 대해서는 0을 출력하고, 양수 입력에 대해서는 그 값 그대로를 출력합니다.

AlexNet using ReLUs(solid curve) could achieve a 25% training error rate six times faster than an equivalent network using tanh(dotted curve)

ReLU를 사용하면 기존 활성화 함수보다 6배 더 빨리 수렴할 수 있었습니다. 이는 기존 함수들이 포화 영역에서 미분값이 0에 가까워져 학습이 느려지는 문제를 해결해주기 때문입니다.

데이터 증강(Data Augmentation)

AlexNet에서는 데이터 증강 기법을 활용해 총 2048 배의 데이터셋을 만들어내면서, 효과적으로 오버피팅 문제를 해결했습니다.

  1. 이미지 평행 이동: 입력 이미지에서 무작위로 227×227 영역을 잘라내어 데이터 수를 1024배 증가시켰습니다.
  2. 수평 반전: 이미지를 수평으로 반전시켜 데이터 수를 2배로 늘렸습니다.
  3. 조명 변화: PCA 기법을 활용해 각 이미지의 픽셀 강도를 부드럽게 변형시켰습니다.

Dropout 기법

Dropout은 신경망의 과적합을 방지하기 위한 regularization 기술입니다. 각 iteration 마다 은닉층의 일부 노드를 무작위로 꺼서 과적합을 방지합니다. AlexNet에서는 완전연결 계층에 0.5 확률의 dropout을 적용했습니다.

중첩 최대 풀링(Overlapping Max Pooling)

일반적인 최대 풀링은 커널 크기와 스트라이드 크기가 동일합니다. 하지만 AlexNet에서는 3×3 크기 커널을 2픽셀 단위로 움직이며 pooling을 수행하는 중첩 최대 풀링을 사용했습니다.

이를 통해 Top-1 오차율 0.4%, Top-5 오차율 0.3%가 감소하는 효과가 있었습니다. 중첩 pooling이 더 세밀한 특징을 추출할 수 있었기 때문입니다.

지역 응답 정규화(Local Response Normalization)

AlexNet에서는 합성곱 계층 후에 지역 응답 정규화 계층을 추가했습니다. 이 계층은 입력 매핑(feature map) 각각의 뉴런에 대해 주변 뉴런들의 활성화 정도에 의해 정규화를 수행합니다.

지역 응답 정규화를 통해 Top-1, Top-5 오차율이 각각 1.4%, 1.2% 감소하는 효과가 있었습니다. 이는 학습 수렴 속도를 높여주었기 때문입니다. 현재는 대신 **배치 정규화(Batch Normalization)**가 주로 사용됩니다.

다중 GPU 활용

AlexNet 당시에는 GPU 메모리 용량이 3GB 정도로 제한적이었습니다. 이에 AlexNet 모델은 두 개의 GPU를 동시에 활용하도록 설계되었습니다. 동일한 합성곱 계층 구조가 두 개의 그룹으로 설정되어 각 GPU에서 계산되었습니다.

 


마무리하며

AlexNet은 2012년 ImageNet 대회에서 압도적인 성능을 보여주었습니다. AlexNet의 핵심은 다음과 같은 새로운 기술과 아이디어에 있었습니다.

  • ReLU 활성화 함수 도입으로 수렴 속도 향상
  • 데이터 증강으로 과적합 문제 해결
  • Dropout 기법을 통한 regularization
  • 지역 응답 정규화와 중첩 최대 풀링으로 학습 성능 개선
  • 다중 GPU 병렬 처리 기법 활용

이러한 혁신적인 아이디어를 통해 AlexNet은 ImageNet 대회에서 기존 최고 모델 대비 10% 이상 낮은 오차율을 기록할 수 있었습니다.

AlexNet 이후 컴퓨터 비전 분야에서 주류였던 전통적인 기계학습 기법을 넘어, 딥러닝 기반 모델 연구가 다시 활기를 띄게 되었습니다. 그 결과 VGGNet, GoogLeNet, ResNet 등 발전된 CNN 모델들이 연이어 등장하기 시작합니다. 이후 컴퓨터 비전뿐만 아니라 자연어 처리, 음성인식, 로보틱스 등 다양한 AI 분야에서 딥러닝 기술이 혁신을 일으키는 큰 전환점이 되었죠.

AlexNet은 단순히 하나의 모델을 넘어, 딥러닝 기술의 우수성을 모두에게 입증한 역사적인 모델이라고 할 수 있습니다.

 

더 알아보기

딥러닝 분야의 큰 전환점을 만든 AlexNet의 내부에서 어떤일이 벌어지고 있는지 궁금하신가요?

아래 사이트를 통해 직접 탐험해보세요!

https://microscope.openai.com/models

 

 


Reference