Foundations · NeurIPS 2012
ImageNet Classification with Deep CNNs — AlexNet
ILSVRC 2012를 뒤흔든 8층 CNN — ReLU·GPU·드롭아웃으로 딥러닝 시대를 연 논문.
1. 핵심 요약
ILSVRC Top-5 오류
막대를 클릭하세요. 한 해에 오류가 크게 내려갔습니다.
앙상블 · ILSVRC 2012 우승
2011(25.8%) 대비 −10.5%p. 논문이 자주 인용하는 26.2%→15.3% 개선은 10.9%p.
2. 왜 중요한가 — 쉬운 설명
30초 비유
그때까지 이미지 인식은 사람이 “이런 모서리, 저런 질감을 봐라”라고 특징을 손으로 짜 줬습니다. AlexNet은 충분히 깊은 신경망 + GPU + 많은 데이터면 그 특징을 스스로 배운다는 걸, 세계 대회 우승으로 증명했습니다.
무엇을 제안했나
- 8층 CNN + ReLU(옛 시그모이드보다 학습이 몇 배 빠름).
- 2-GPU 병렬 학습, 드롭아웃, 데이터 증강 을 하나의 실전 패키지로.
그래서 무엇이 달라졌나
- ImageNet Top-5 오류 26% → 15% — 다음 해부터 대회가 전부 딥러닝으로 바뀜.
- 현대 딥러닝 붐의 방아쇠.
더 공부할 가치가 있을까?
3. 배경: 2012년 이전의 비전
ILSVRC는 약 120만 장·1000 클래스. 2010–11 우승은 수작업 특징+SVM이었고 Top-5 오류가 28%→26%대에 머물렀습니다.
걸림돌은 세 가지였습니다.
- 연산 — 수백만 파라미터를 CPU로 학습하면 수주~수개월
- 과적합 — 정규화 기법 부족
- 기울기 소실 — sigmoid/tanh 포화
4. AlexNet 아키텍처
8개 학습 레이어: Conv 5 + FC 3. 파라미터 약 6천만. 논문은 입력을 224×224로 적지만, 아래 텐서 크기는 흔히 쓰는 227 입력 기준입니다. 필터는 11→5→3으로 작아지고 채널은 늘어납니다.
AlexNet 8-레이어 파이프라인
Conv 5 + FC 3 · ~60M 파라미터. 레이어를 눌러 텐서 크기를 보세요.
96×11×11, stride 4 → ReLU → MaxPool → LRN
논문 본문은 224×224를 언급하지만, (224−11)/4+1이 정수가 아니라 구현·튜토리얼은 보통 227 입력을 씁니다.
| Layer | Spec | After |
|---|---|---|
| Conv1 | 96×11×11, s4 → ReLU → Pool → LRN | 55×55×96 |
| Conv2 | 256×5×5 → ReLU → Pool → LRN | 27×27×256 |
| Conv3 | 384×3×3 → ReLU | 13×13×384 |
| Conv4 | 384×3×3 → ReLU | 13×13×384 |
| Conv5 | 256×3×3 → ReLU → Pool | 6×6×256 |
| FC6–7 | 4096 → ReLU → Dropout | 4096 |
| FC8 | 1000 → Softmax | 1000 |
5. ReLU 활성화
기존 sigmoid/tanh는 양·음 끝에서 기울기가 거의 0이 됩니다. ReLU 는 양의 구간에서 기울기 1이라 포화가 없고, exp도 필요 없습니다. CIFAR-10에서 tanh 대비 약 6배 빠른 수렴을 보고했습니다.
ReLU vs Sigmoid / tanh
실선 = f(x), 점선 = f′(x). 양의 구간에서 ReLU 기울기=1.
x>0이면 기울기 1 — CIFAR-10에서 tanh 대비 ~6× 빠른 수렴 보고.
6. 2-GPU 병렬 학습
당시 GTX 580(3GB) 2장. 커널을 GPU마다 반으로 나누고, 특정 레이어에서만 교차 통신합니다. 단일 GPU 대비 약 2배 속도·더 큰 모델이 가능했습니다.
2× GTX 580 커널 분할
레이어를 고르면 GPU당 채널 수와 교차 통신이 보입니다.
384=192+192. 양쪽 GPU 특징을 모두 사용 → 교차 통신.
7. LRN · Max Pooling
LRN(Local Response Normalization)은 인접 채널 활성을 서로 억제하는 측면 억제 아이디어입니다. 이후 BatchNorm으로 대체됩니다.
Max Pool은 평균 대신 최댓값으로 다운샘플 — 경계·강한 반응을 더 잘 남깁니다. AlexNet은 overlapping 풀링(3×3, stride 2)도 사용했습니다.
Local Response Normalization
이웃 채널 에너지가 크면 중심 활성이 줄어듭니다 (측면 억제).
데모 α는 효과를 보이게 키운 값. 이웃↑ → 분모↑ → b↓를 슬라이더로 확인하세요.
Max vs Avg Pooling
AlexNet은 최댓값 풀링 + overlapping(3×3, stride 2)을 썼습니다.
Max는 강한 반응(예: 9)을 남깁니다. Overlap이면 윈도우가 겹쳐 공간 해상도 손실이 덜합니다.
8. 드롭아웃 · 데이터 증강
FC6·FC7에 Dropout p=0.5 (자세한 시각화는 Dropout 논문). 데이터 쪽에서는 256 패치에서 224 랜덤 크롭·수평 플립, 그리고 PCA 색상 노이즈로 조명 변화를 흉내 냈습니다.
데이터 증강 (크롭·플립·PCA)
256→224 랜덤 크롭, 수평 플립, 주성분 색 노이즈를 흉내 냅니다.
활성: crop · PCA · FC에는 Dropout p=0.5도 함께 썼습니다.
9. 결과와 유산
| Model | Top-1 | Top-5 |
|---|---|---|
| Prior SOTA (cited) | — | 26.2% |
| AlexNet (1 CNN) | 37.5% | 17.0% |
| AlexNet (7 CNN ens.) | 36.7% | 15.3% |
유산
- ReLU → 사실상 표준
- 데이터 증강 → 비전 학습의 기본
- 드롭아웃 → 수년간 기본 정규화
- 멀티-GPU → 대규모 학습의 선구
한계
- 11×11 큰 필터 → VGG의 3×3 스택
- 8층 수작업 설계 → NAS·더 깊은 ResNet
- LRN → BatchNorm으로 대체
| Idea | Then | Now |
|---|---|---|
| ReLU | AlexNet default | Still standard |
| GPU parallel | 2× GTX 580 | Thousands of GPUs |
| Max pooling | Downsample | Still common |
| Dropout | FC layers | Still used |
| LRN | Lateral inhibit | Replaced by BN |
이해도 점검
보기를 골라 정답과 해설을 확인하세요. 채점은 이 페이지 안에서만 이뤄집니다.
1. 2012년 ImageNet에서 AlexNet의 임팩트는?
2. AlexNet이 ReLU를 채택한 이유는?
3. AlexNet이 모델을 2개 GPU로 나눈 이유는?
4. AlexNet의 과적합 억제책은?
5. LRN(Local Response Normalization)의 현재 위상은?