본문 바로가기
Best Paper review/Others

Class-Balanced Loss Based on Effective Number of Samples

by 연금(Pension)술사 2025. 11. 14.

https://openaccess.thecvf.com/content_CVPR_2019/papers/Cui_Class-Balanced_Loss_Based_on_Effective_Number_of_Samples_CVPR_2019_paper.pdf

 

요약


Balanced CrossEntropy(=weigthed CE)에서의 가중치가 빈도수의 역수로 들어가면 과하게 들어가서 성능이 안좋음. 유효수를 이용하여 좀 더 이론적으로 타당하고 부드러운(re-smooth된) re-weight 을 하자

\

Motivation


 

  • 현실 세계의 데이터들은 대부분 클래스 분포가 균형을 이루지 않고, 몇 개 클래스에 많은 샘플이 몰리고 나머지 클래스는 적은 샘플을 가진 long-tailed 분포를 갖게
  • 이런 분포 하에서 학습된 모델은 다수 클래스(head classes)에 치우쳐 학습되고, 소수 클래스(tail classes)에 대해 일반화 성능이 낮음
  • 기존 대응 방법으로는 재표본화(resampling) (over-sampling 소수클래스 또는 under-sampling 다수클래스)와 비용재가중치(cost-sensitive weighting) 방식(예: 클래스 빈도의 역수) 등
  • 하지만 이 방식들이 한계가 있는데, 예컨대 over-sampling은 중복 데이터로 인해 과적합 위험이 있고, under-sampling은 유용한 데이터를 버리는 문제가 있습니다. 또한 단순 클래스 빈도 역수 방식은 실제 데이터셋에서 최적이 아닐 수 있다는 empirical evidence가 존재
  • 논문은 이러한 한계를 극복하기 위해 샘플들이 가지는 정보 중복(overlap) 을 고려한 개념인 ‘유효 샘플 수(effective number of samples)’를 제안

 

사전지식


  • 집합 커버 문제(Set cover problem): 주어진 집합 U와 그 부분집합이 있을때, 부분집합들을 가장 적게 선택해서 부분집합의 합집합이 U을 덮게하는지 찾거나 / k개 이하의 조합이 있는지? / 가장적은수로 찾게하려면?(최적화) 등의 문제.

  • Random cover problem: 집합커버문제랑 좀 다르게 이미 큰 집합 S가 있고, 그 내부에 작은 집합을 n개 던지면 평균적으로 얼마나 덮히나? 등에 관한 문제

 

Method: 결론(유효수 $E(n)=\frac{1-\beta^{n}}{1-\beta}$)


단순화 하기 위한 조건: 부분겹침은 생각하지 않고, Complete overlap vs Not overlap만 생각.  Random cover problem에서 이전과 겹침과 안겹침만 생각함. 부분겹침은 상당히 어려움.

  • 1개의 샘플은 1의 부피를 갖는다.
  • 랜덤커버링 문제는 부피1짜리 작은 집합을 무작위로 덮어가는 과정이라고 생각.
  • $p$: 겹칠확률을 의미
  • $p=E_{n-1}/N$ 전체부피 N중에서 $E_{n-1}$에 있을 확률

 

Notation

  1. $E_{n-1}$: n번째 샘플을 뽑기전에 기대 부피라고 가정
  2. $E_{n}= pE_{n-1} + (1-p)(E_{n-1} + 1)$ : n번째까의 데이터를 뽑고 나서의 부피의 기대값
  3. $E_{n}=1+(1-\frac{1}{N})E_{n-1}$ : 3번의 식을 정리하면 이렇게 됨.
  4. $\beta \def \frac{N-1}/N$ 이라고 가정하면
  5. $E_{n}=1+\beta E_{n-1}$: 재귀식 완성
  6. $E_{1}=1$ 아무것도없으니 그냥 뽑히자마자 부피가 1이기 때문.
  7. 재귀식을풀면 .$E_{n} = \frac{1-\beta^{n}}{1-\beta}$ -> 등비수열의 합으로 풀 수 있음.

 

반응형