Overfitting 의 실제 모양
Overfitting 은 training loss 가 계속 내려가는데 validation loss 가 올라가기 시작하는 것. Model 이 held-out data 에 transfer 안 되는 training set 특정 패턴을 외우는 거야. 큰 neural network 는 pure noise 도 fit 가능 (Zhang et al., 2017) — capacity 는 거의 bottleneck 아냐. Art 는 model 정직하게 유지하는 거.
Loss curve 그림에서 읽어야 할 신호 3 개: (1) train 과 val loss 사이 gap, (2) gap 열린 후 val loss 의 slope, (3) gap 이 epoch 1 에 나타나는지 (data leak / regularization 없음) epoch 30 에 나타나는지 (capacity 가 dataset size 따라잡음).
팁: Train 과 val loss 를 step 0 부터 같은 axis 에 그려. Gap 모양이 뭘 fix 할지 알려줘: epoch 1 부터 거대한 gap = leak 또는 capacity 과잉, epoch 20 후 자라는 gap = regularization 더, gap 없고 loss 높음 = underfitting / 잘못된 architecture.
표준 regularization toolbox
- Weight decay (L2 / AdamW) — 큰 weight penalize, 가장 싼 default.
- Dropout — training 중 random unit zero, gradient noise 부드럽게.
- Data augmentation — training set synthetically 확장 (있을 때 가장 leverage 높은 수).
- Early stopping — val loss 개선 멈추면 training stop.
- Smaller model — 가끔 올바른 답.
'그냥 data 더 줘' 답
Overfitting 의 가장 신뢰할 수 있는 약은 더 (좋은) data. Augmentation 이 싼 버전. 관련 도메인에 pretraining 이 중간 버전. 어려운 example label 하는 active learning 이 비싼 버전. 셋 다 영리한 regularizer 보다 이김.
원칙: Overfitting 은 modeling 문제로 변장한 data 문제. 더 (좋은) data 부터 reach. Regularization knob 이 둘째. Model shrink 는 둘 다 실패할 때만.