불균형 데이터에 효과적인 Focal loss

1. motivation

 

single stage detector들은 ROI pooling이 없어서 모든 영역을 고려하여 gradient를 계산(모든 영역에서 loss가 발생)

 

이미지 내 물체라는 것은 사실 몇개 없다

 

그래서 물체를 포함하는 positive sample bounding box보다 물체를 포함하지 않은 negative sample bounding box가 압도적으로 많은 경우가 빈번하다

 

왜 문제냐면 negative sample bounding box는 실제 물체에 대한 유용한 정보가 없는데 이게 너무 많다는 것이 비효율적

 

대부분의 single stage detector들이 이런 문제가 있다고 보면 됨

 

 

2. focal loss

 

cross entropy인 $-log(p_{t})$의 확장형으로  $-(1-p_{t})^{r}log(p_{t})$로 계산하는 loss

 

r에 따라 형태가 다르다

 

 

r=0이면 파란 선으로 cross entropy와 동일한데 정답 확률이 높은 경우 loss가 매우 낮은데 정답 확률이 낮은 경우 loss가 급격히 높아지는 성질이 있다

 

여기에 $(1-p_{t})^{r}$항을 부여하여 그래프를 아래로 낮추었는데 정답을 잘 맞추는 경우 loss를 더욱 낮추고 맞추지 못하면 sharp한 loss를 준다

 

오답일때도 loss가 작아지는데??? 이게 무슨 의미냐 네트워크 학습할 때 사용하는 것은 loss function의 gradient라는 사실을 기억하자

 

gradient는 loss function의 접선의 기울기로 r이 커지면 정답일수록 gradient가 점점 작아지고 오답일수록 gradient가 커진다

 

어렵고 판별하기 어려운 문제(오답인 문제)에 대해서는 더욱 강한 gradient를 계산하여 빠르게 정답을 맞추도록 만들고

 

쉽고 판별하기 쉬운 문제(정답인 문제)에 대해서는 더 작은 gradient를 주어 어차피 판별 잘하니까 크게 신경쓰지 않도록 만든다

 

그림이 좀 이상하긴 한데 ㅎㅎ;

 

TAGS.

Comments