λ³Έ νλ‘μ νΈλ CIFAR-10 μ΄λ―Έμ§ λΆλ₯ λ¬Έμ λ₯Ό λμμΌλ‘
CNN(Convolutional Neural Network) κΈ°λ° λͺ¨λΈμ ꡬννκ³ ,
νμ΅ μ λ΅ λ° κ΅¬μ‘°μ κ°μ μ ν΅ν΄ μ±λ₯ ν₯μμ μ€νν νλ‘μ νΈμ
λλ€.
Baseline CNN λͺ¨λΈμ μμμΌλ‘ νμ΅ μ λ΅μ λ¨κ³μ μΌλ‘ κ°μ νκ³ ,
μ΅μ’
μ μΌλ‘ ResNet λ
Όλ¬Έμ μ¬ννμ¬ μ±λ₯μ κ·Ήλννμμ΅λλ€.
cifar10-pytorch/
βββ cnn/
β βββ notebooks/
β β βββ cifar10_basic.ipynb # Baseline CNN
β β βββ batch_normalization.ipynb # + Batch Normalization
β β βββ scheduler.ipynb # + SGD + LR Scheduler
β βββ images/
β βββ confusion_matrix.png
β βββ loss_accuracy_curve.png
βββ resnet/
βββ README.md # ResNet λ
Όλ¬Έ μ 리
βββ CIFAR_RESNET.ipynb # ResNet18 ꡬν
βββ img/ # λ
Όλ¬Έ figure μ΄λ―Έμ§
- PyTorch
- CNN (Convolutional Neural Network)
- Data Augmentation
- RandomCrop
- RandomHorizontalFlip
- Batch Normalization
- Optimizer
- Adam
- SGD (Momentum, Weight Decay)
- Learning Rate Scheduler
- MultiStepLR
| Model Configuration | Test Accuracy |
|---|---|
| Baseline CNN (Adam) | 79.75% |
| + Batch Normalization | 81.77% |
| + SGD + LR Scheduler | 84.49% |
| ResNet18 | λ Όλ¬Έ μ¬ν |
Baseline CNN λͺ¨λΈμ μμμΌλ‘ μλ κΈ°λ²λ€μ λ¨κ³μ μΌλ‘ μ μ©νλ©°
κ° κΈ°λ²μ΄ λͺ¨λΈ μ±λ₯μ λ―ΈμΉλ μν₯μ λΉκ΅Β·λΆμνμμ΅λλ€.
- Batch Normalization: Internal Covariate Shift κ°μλ‘ νμ΅ μμ ν
- SGD + Momentum + Weight Decay: Adam λλΉ μΌλ°ν μ±λ₯ ν₯μ
- MultiStepLR Scheduler: μ΄λ°μ ν¬κ², νλ°μ μΈλ°νκ² νμ΅
λ Όλ¬Έ: Deep Residual Learning for Image Recognition
λ Όλ¬Έ μ 리: resnet/README.md
CIFAR-10(32Γ32)μ λ§κ² μλ³Έ ResNet18 ꡬ쑰λ₯Ό μλμ κ°μ΄ μμ νμμ΅λλ€.
| λ μ΄μ΄ | μλ³Έ (ImageNet) | μμ (CIFAR-10) |
|---|---|---|
| conv1 kernel | 7Γ7, stride=2 | 3Γ3, stride=1 |
| maxpool | MaxPool2d | Identity (μ κ±°) |
| fc | 1000 classes | 10 classes |

