잘못된 loss는 model 없는 것보다 나빠
Loss는 model이 뭘 최적화하는지 정의해. 잘못 고르면 어떤 architecture 튜닝도 보상 못 해. 잘 고르면 평범한 model도 수렴.
Classification:
- Multi-class + 정수 label —
SparseCategoricalCrossentropy(from_logits=True) - Multi-class + one-hot label —
CategoricalCrossentropy(from_logits=True) - 이진 또는 multi-label (샘플당 여러 label 가능) —
BinaryCrossentropy(from_logits=True)
Regression:
- 표준 —
MeanSquaredError - Outlier-robust —
Huber(delta=1.0)— 작은 에러엔 MSE, 큰 에러엔 MAE - 순수 L1 —
MeanAbsoluteError
Custom loss는 시그니처 (y_true, y_pred) -> tensor인 함수. 샘플별 loss 반환하고 Keras가 batch 평균.