← 문제 목록/클래스 가중 Focal Loss
문제 해설

클래스 가중 Focal Loss

손실 함수 · easy

preview

클래스 가중 Focal Loss

51번 Focal Loss어려운 샘플 중심 ((1p)γ(1-p)^\gamma) 로 가중. 클래스 불균형이 더 심하면 클래스별 가중치 αc\alpha_c 까지 붙여 (Lin et al. 2017 원래 버전):

L=1Niαyi(1pyi)γlog(pyi)L = -\frac{1}{N} \sum_i \alpha_{y_i} \, (1 - p_{y_i})^\gamma \, \log(p_{y_i})

왜 두 가지 기전?

  • γ (focusing): 잘 분류된 쉬운 샘플의 기여도를 지수적으로 감소.
  • α (class weight): 희귀 클래스에 더 큰 가중치로 모델이 더 많이 학습하도록.
  • 함께 쓰면 extreme imbalance (예: object detection background vs foreground) 에서 효과.

과제

함수 focal_loss_alpha(logits, y_true, gamma, alpha) 를 완성하세요.

  • logits (N, C), y_true (N,) 정수.
  • alpha shape (C,) — 클래스별 가중치.
  • 반환: Python float 배치 평균.

테스트 케이스

#이름검증
1alpha = 1 ones → 51번과 일치
2shapefloat 반환
3완벽 예측 → 작은 손실
4큰 alpha 클래스의 샘플 → 손실 기여 ↑
5alpha 적용 확인손계산과 일치
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.