AlexNet은 2012년 Alex Krizhevsky, Ilya Sutskever 및 Geoffrey Hinton이 소개한 딥 러닝 신경망 아키텍처입니다. ILSVRC(ImageNet Large Scale Visual Recognition Challenge) 대회에서 최초로 대규모 컨볼루션 신경망(CNN)으로 우승했으며, 딥 러닝 발전에 중요한 이정표가 되었습니다.
AlexNet의 주요 구성 요소는 다음과 같습니다.
1. Convolutional Layers: AlexNet에는 5개의 convolutional layer가 있으며 입력 이미지에서 local patterns 과 features를 detect합니다. 이 Layer의 주요 목표는 feature map 이라 불리는 새로운 매트릭스를 생성하는것 입니다.
feature map은 필터(커널)에 의해 필터링된 input을 표현할 수 있게되는데, 이 필터링 과정을 Convolution 이라고 합니다.
거의 모든 CNN에서는 convolutional layer 에서 여러 개의 필터를 이용하여 같은 input에서 서로 다른 feature를 detect하도록 학습합니다.
convolutional layer 에는 pooling 작업이 포함되는 경우가 많습니다. 이 작업은 feature map의 공간 차원을 줄이고 가장 중요한 feature를 보존하는 데 사용됩니다. Convoultion과 pooling 작업의 조합을 통해 CNN은 입력 데이터에서 점점 더 복잡해지는 기능을 학습하여 이미지 분류 및 객체 감지와 같은 작업을 수행할 수 있습니다.
2. ReLU Activation Function : AlexNet은 ReLU(Rectified Linear Unit) 활성화 기능을 사용하여 네트워크가 데이터의 비선형 관계를 학습할 수 있도록 합니다.
3. Pooling Layer : AlexNet에는 feature map의 공간 차원을 줄이고 가장 중요한 feature을 보존하는 데 사용되는 3개의 풀링 레이어가 있습니다.
4. Fully Connected Layer : AlexNet에는 이전 계층에서 학습한 feature를 기반으로 예측을 수행하는 데 사용되는 3개의 완전 연결 계층이 있습니다.
5. Softmax Activation Function : AlexNet의 마지막 계층은 네트워크가 클래스에 대한 확률 분포를 생성할 수 있도록 하는 소프트맥스 활성화 함수를 사용합니다.
LRN(Local Response Normalization)은 AlexNet에서 사용되어 동일한 로컬 이웃에 있는 뉴런의 활성화를 정규화하여 과적합을 방지하는 데 도움을 줍니다. 이를 통해 네트워크가 단일 기능에 너무 많이 의존하지 않도록 하여 모델의 일반화 능력을 향상시킬 수 있습니다.
Multi-GPU 훈련은 훈련 과정의 속도를 높이기 위해 AlexNet에서 사용되었습니다. 이는 GPU가 덜 강력하고 대규모 딥 러닝 모델을 훈련하는 데 며칠 또는 몇 주가 걸릴 수 있었던 2012년에 특히 중요했습니다. 오늘날 하드웨어 및 소프트웨어의 발전으로 단일 GPU에서 몇 시간 만에 대규모 모델을 교육할 수 있게 되었으며 다중 GPU 교육은 많은 실제 응용 프로그램에서 덜 중요합니다.
즉, LRN 및 다중 GPU 교육은 매우 큰 모델을 교육하거나 제한된 계산 리소스로 작업하는 것과 같은 특정 상황에서 여전히 유용할 수 있습니다. 그들은 여전히 현장의 연구자와 실무자에게 중요한 고려 사항이며 오늘날에도 여전히 많은 딥 러닝 모델에서 널리 사용되고 있습니다.
전반적으로 AlexNet의 아키텍처 및 구현은 딥 러닝 및 컴퓨터 비전 개발의 주요 단계였으며 해당 분야의 연구원 및 실무자에게 중요한 참고 자료로 남아 있습니다.