초보자 잡아먹는 함정
모델 학습. 학습 loss 가 0 으로. 자랑스러움. 그러고 테스트 데이터 평가 — 성능 끔찍. Overfit 했어. 모델이 underlying 패턴 학습 대신 학습셋 암기.
시그니처: 학습 loss 낮음, 테스트 loss 높음. 그 갭이 overfitting.
왜 일어나
파라미터 너무 많은 모델은 학습 데이터를 정확히 암기 가능 — 모든 quirk, 모든 노이즈 sample. 일반화 능력 잃음 — 그럴 필요 없었으니까. 학습 중 유일한 신호 = "학습 loss 작게", 충분히 큰 모델은 brute force 로 가능.
해독제
- 더 많은 데이터 — 가장 싼 fix. 1000만 예시 암기가 100 암기보다 어려움.
- 정규화 — 복잡도 페널티. L1/L2 weight 페널티. Dropout (랜덤 뉴런 끄기). Early stopping.
- Train/Validation/Test split — 모델이 학습 중 절대 못 보는 데이터 hold out. Val loss 추적해 비행 중 overfitting 감지.
- 데이터 augmentation — 학습 sample 약간 perturb (이미지 회전, 텍스트 paraphrase) 해 effective 데이터셋 크기 증가.
- 더 작은 모델 — 파라미터 적음 = 암기 capacity 적음. 가끔 best fix.
학습 정확도는 vanity 메트릭. Validation 정확도가 진실. 둘 멀면 모델이 암기 중, 학습 X. 늘 모델이 못 보는 데이터 hold out.