AlexNet — NeurIPS 2012 (From Scratch Implementation)

Paper: ImageNet Classification with Deep Convolutional Neural Networks
Authors: Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton

Architecture

Layer Type Filters Kernel Stride Padding Output Size
Conv1 Conv → ReLU → LRN → MaxPool 64 11×11 4 2 27×27×64
Conv2 Conv → ReLU → LRN → MaxPool 192 5×5 1 2 13×13×192
Conv3 Conv → ReLU 384 3×3 1 1 13×13×384
Conv4 Conv → ReLU 256 3×3 1 1 13×13×256
Conv5 Conv → ReLU → MaxPool 256 3×3 1 1 6×6×256
FC6 Linear → ReLU → Dropout(0.5) — — — — 4096
FC7 Linear → ReLU → Dropout(0.5) — — — — 4096
FC8 Linear (Softmax at inference) — — — — 1000

구현 특징:

  • ✅ LRN — 논문 수식 기준 alpha 보정 적용 (5e-4)
  • ✅ Dropout — ReLU 뒤에 배치 (논문 순서)
  • ✅ bias 초기화 — FC6/7/8 bias=1 (논문 Section 5)
  • ✅ ImageNet 사전학습 가중치 — torchvision 제공 (Top-5 acc ≈ 79.1%)
  • ⚠️ Conv1 필터: 64개 — 논문은 96개지만 사전학습 가중치 호환을 위해 타협
1 10

About This Implementation

이 앱은 PyTorch로 처음부터 직접 구현한 AlexNet에 torchvision ImageNet 사전학습 가중치를 로드합니다.

  • 커스텀 LRN 모듈: alpha × n 보정 적용 (k=2, n=5, α=5e-4, β=0.75)
  • 오버래핑 최대 풀링 (kernel=3, stride=2) — Section 3.4
  • Dropout p=0.5, ReLU 뒤에 적용 — Section 3.5
  • FC bias=1 초기화 — Section 5
  • Conv1 필터 수(64)는 torchvision 가중치 호환을 위해 논문(96)과 다름

Paper: Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). NeurIPS.