CNN의 주요 모델 - AlexNet

CNN의 주요 모델 중 하나인 AlexNet에 대해 알아봅시다.

cnn모델 AlexNet
  • 1~2층은 Max Pooling 층입니다. 이를 통해 데이터의 중요한 요소들만 요약하여 추출합니다.
  • 3~5층은 서로 직접 연결되어 중간다리 역할을 합니다.
  • 5층 뒤에는 Max Pooling 층이 뒤따르는데, 이곳의 출력은 Fully Connected 층 두 개로 구성됩니다. 1~5층에서 학습된 데이터들은 Fully Connected 층에서 분류됩니다.
  • 최종적으로는 1000 class label이 있는 Softmax 분류기로 분류됩니다.

::

AlexNet의 구조적 특징들

한편, AlexNet은 특이한 점이 몇 가지 있습니다.
첫 번째 층에서 학습된 필터를 시각화 하면 상단에는 주로 Non-Color Feature가, 하단에는 주로 Color Feature가 나타나는데 상단과 하단의 학습 환경이 같음에도 불구하고 이런 결과가 나타난 이유를 알 수 없었습니다.
또한 세 번째 층은 예외적으로 이전 단계의 층으로부터 학습된 모든 필터들을 가져오는데, 이러한 알고리즘은 아마 병렬 학습으로 인해 각각의 필터들의 연관성이 크게 벗어나는 것을 방지하기 위한 것으로 보입니다.

Overlapping Pooling Layer

다른 CNN 모델에서 Pooling은 일반적으로 필터를 겹치지 않게 Stride를 적절히 조정하여 사용합니다. 그러나 AlexNet에서는 Stride를 좁혀 Overlapping 하는 구조를 만들었습니다. 이 경우, 정확도는 약 0.4%가 향상되지만 Overlapping의 사용은 연상량을 증가시켰습니다.

* Non-overlapping pooling과 Overlapping pooling 비교

cnn모델 AlexNet

ReLU Activation Function 사용

ReLU는 최근까지도 가장 보편적으로 쓰이는 활성화 함수입니다. AlexNet에서도 ReLU를 사용하면 tanh함수에 비해 학습 속도가 최고 6배까지 빠릅니다.

* ReLU와 tanh의 학습 속도 비교

cnn모델 AlexNet

Local Response Normalization(LRN) 사용

이 기법은 AlexNet에서 처음 도입되었습니다. 활성화 함수를 적용하기 전에 Normalization을 적용하여 함수의 결과값에서 더 좋은 일반화 결과를 도출했습니다. LRN은 사용하는 이유는 이미지의 인접화소들을 억제시키고 특징을 부각시키기 위함입니다. 그 결과, 정확도가 1.4% 향상되었습니다. LRN은 신경생물학에서 그 원리를 가져왔습니다. 예컨대, 밝은 빛을 보면 눈이 어두워진다거나, 특정 사물에 집중하면 그 부분만 집중하여 보이게 되는 현상입니다.

* Local Response Normalization

cnn모델 AlexNet

Dropout 사용

6, 7층(Fully-Connected)에서 50% 확률의 Dropout을 적용했습니다. 이는 신경망 사이의 연결을 랜덤으로 끊음으로서 Overfitting을 줄여줍니다. Dropout이 비록 학습시간을 약 2배 가량 증가시키지만, 이 기법이 없으면 Overfitting이 늘어나 에러 확률이 높아집니다.

* Dropout이 수행되는 과정

cnn모델 AlexNet

cnn모델 AlexNet

Overfitting은 컴퓨터가 주어진 데이터에만 너무 최적화되어서 오히려 새로운 데이터에 대한 예측을 못하게 되는 현상입니다. 반대로 Underfitting은 학습이 충분히 이루어지지 않은 경우입니다.

* Overfitting

Training on Multiple GPUs

GPU 여러 개를 사용한 병렬처리 기법으로 학습시간을 획기적으로 줄였습니다.

* PCA Color Augmentation, Random Crops

cnn모델 AlexNet

Data Augmentation

동일한 이미지들을 조금씩 변형시켜가며 학습하면 Overfitting을 방지하는 데 도움이 됩니다. Data Augmentation에는 이미지를 좌우 반전시키는 Mirroring 기법, 이미지의 특정 부분을 무작위로 자르는 Random Crops 기법, RGB채널을 임의로 바꾸는 PCA Color Augmentation 기법 등이 있습니다. AlexNet을 만든 연구원들은 이러한 방법을 사용하여 데이터 양을 2048배로 늘렸습니다.
AlexNet에서 사용된 기법들은 지금은 비교적 보편화되었으나 2012년 논문 발표 당시에는 매우 생소한 개념이었습니다. 또한 오늘날 사용하고 있는 딥러닝 구조들은 AlexNet에서 계승 되었다고 해도 과언이 아닙니다.

오늘은 AlexNet에 대한 간략한 설명과 특징에 대해 알아보았습니다. 다음 포스팅에서는 또 다른 CNN 모델인 VGG에 대해 다루겠습니다.

연관 아티클

인공지능은 사물을 어떻게 바라볼까?

인공지능이 이미지를 어떤 방식으로 인식하는지 알아봅시다.

인공지능의 이미지 분류 방식

이미지 분류 방식에 쓰이는 기술에 대해 알아봅시다.

신경망(Neural Network)

인공지능의 핵심인 신경망(Neural Network)에 대해 알아봅시다.

오차 역전파(Back-propagation)

인공지능의 학습에서 주요 개념 중 하나인 오차 역전파(Back-propagation)에 대해서 알아봅시다.

합성곱 신경망(Convolution Neural Network)

합성곱 신경망에 대해 알아봅시다.

AI 모델 안전성을 향한 끊임없는 탐구, 데이터메이커 AI 레드팀

RED TEAMING