Loss curve 는 장식이 아니라 진단
좋은 loss curve plot 은 보는 첫 30 초에 training 의 뭐가 잘못됐는지 알려줘. Junior engineer 는 loss 를 장식으로 그려, senior engineer 는 청진기처럼 읽어. 각 모양이 뭘 의미하는지 배우는 시간 써.
흔한 8 모양
- 둘 다 초기값에 flat — model 이 아예 학습 안 함. Loss function, data normalization, learning rate 확인.
- 둘 다 부드럽게 같이 떨어짐 — 건강한 training. 계속 가.
- Train 떨어지는데 val 어느 점 후 올라감 — classic overfitting. Regularize 또는 early stop.
- Train 과 val 둘 다 떨어지다가 plateau — converge. 더 큰 model 또는 다른 architecture 시도.
- Loss 가 NaN 으로 explode — exploding gradient 또는 numerical 문제. Clipping 추가, lr 낮추기, div-by-zero 체크.
- Loss 가 wildly zig-zag — learning rate 너무 높거나 batch size 너무 작음. 하나 또는 둘 다 낮추기.
- Val loss 가 주기적으로 spike — 보통 evaluation noise, 가끔 val set data 손상.
- Train loss 가 val loss 보다 높음 — 보통 dropout 이 train 에 on, eval 에 off (정상), 또는 loss 가 mode 마다 다른 reduction.
팁: Training 시작 전에 loss curve 모양 어떨지 한 문장 print. Training 후 비교. Mismatch 가 metric 자체보다 더 informative 자주.
Smoothing 중요
Step 당 training loss 는 noisy. Raw 값 위에 smoothed running average (α=0.99 EMA OK) 를 overlay. Validation loss 는 epoch 당 한 번, raw 그리기.
원칙: Loss curve 가 본인의 가장 싼 디버깅 도구. Curve 못 읽으면 model tune 못 해. 모양에 일찍 fluent 해져.