딥러닝 Validation Loss, 단순 평균 vs 가중 평균

Bean·2025년 5월 11일
0

인공지능

목록 보기
24/123

서론

딥러닝에서 모델 성능을 비교할 때 자주 사용하는 지표 중 하나가 validation loss입니다.
하지만 이 loss를 어떻게 평균내는지에 따라 결과가 달라질 수 있다는 사실, 알고 계셨나요?


단순 평균 (Simple Average)

딥러닝 프레임워크의 기본값(reduction='mean')은 단순 평균입니다.
즉, 각 batch에서 계산된 loss는 그 batch 내부 요소들의 평균값입니다.
그리고 validation 동안 여러 batch에서 얻은 평균값을 단순히 다시 평균합니다.

단순 평균은 모든 배치에 동일한 비중을 줍니다.

val_loss = sum(batch_losses) / len(batch_losses)

가중 평균 (Weighted Average)

가중 평균은 각 batch가 가진 sample 수만큼 가중치를 부여해서 전체 평균을 계산합니다.

val_loss = sum(batch_loss * batch_size for each batch) / total_sample_count

가중 평균은 sample 수가 많은 batch의 영향력을 더 크게 반영합니다.


왜 차이가 날까?

  • validation set이 batch size로 딱 나누어떨어지지 않거나,

  • 마지막 batch가 작을 때
    → 단순 평균은 sample 수가 적은 batch도 동일한 비중을 가지므로 왜곡이 발생할 수 있습니다.

  • 특히 batch size가 작거나 일정하지 않은 상황에서는 차이가 커질 수 있습니다.


왜 대부분은 단순 평균을 쓸까?

  • 프레임워크의 기본값이 단순 평균이기 때문
  • 대부분의 실무에서는 batch 크기가 거의 일정하고, 차이가 미미하기 때문
  • 코드가 간단하고 빠름
  • 하지만 논문, 모델 비교, 민감한 도메인에서는 가중 평균이 필수
  • 코드에서 간단하게 가중평균으로 설정하려면 batch size=1로 설정하면 됩니다.

결론

  • validation loss는 어떻게 평균을 내느냐에 따라 수치가 다르게 나올 수 있다.
  • 모델 간 비교가 중요한 경우에는 반드시 가중 평균 방식으로 계산하자.
  • 작은 차이라도 민감한 도메인이나 미세한 튜닝 결과 비교 시엔 큰 의미가 된다.
profile
AI developer

0개의 댓글