손실은 기울기 신호고 평가지표는 성적표야
모델은 손실을 줄이도록 학습하지만 성능은 작업에 맞는 평가지표로 판단해. 둘은 같은 숫자가 아니며 그 차이를 아는 게 중요해.
분류 평가지표
- 정확도: 전체 예측 중 맞힌 비율이야. 해석은 쉽지만 클래스가 불균형하면 실제 성능을 거의 보여 주지 못할 수 있어.
- 정밀도 / 재현율 / F1: 정밀도는 양성이라고 예측한 것 중 실제 양성의 비율이고, 재현율은 실제 양성 중 찾아낸 비율이야. F1은 둘의 조화 평균이야.
- Top-K 정확도: 정답 클래스가 확률이 높은 상위 K개 예측 안에 든 비율이야. ImageNet에서는 top-1과 top-5를 표준으로 사용해.
- ROC AUC: 수신자 조작 특성 곡선 아래의 면적이야. 이진 분류기에 사용하며 특정 임곗값에 의존하지 않아.
회귀 평가지표
- MAE / RMSE: 평균 절댓값 오차와 평균 제곱근 오차야. 둘 다 정답과 같은 단위로 해석할 수 있어.
- R²: 모델이 설명한 분산의 비율이야.
평가지표는 검증 데이터에서 평가 모드와 inference_mode로 계산해
평가지표를 계산할 때 BatchNorm이나 드롭아웃 같은 학습 모드 동작이 결과를 오염해서는 안 되고, 쓰지도 않을 autograd 그래프를 만들 필요도 없어.
torchmetrics: 검증된 구현이 필요할 때
별도로 설치하는 torchmetrics 패키지는 흔한 평가지표의 검증된 구현을 제공해. 배치마다 값을 누적할 수 있는 스트리밍 방식도 포함돼. 정확도보다 복잡한 지표를 쓴다면 직접 구현하기보다 이 패키지에 기대는 게 좋아.