본문 바로가기

AI/이론

[ML] Focal Loss

  • hard negative 는 실제로는 negative 인데 positive 라고 잘못 예측하기 쉬운 데이터
  • easy negative 는 실제로 negative 이고 예측도 negative 라고 잘 나오는 예측이 쉬운 데이터
  • hard negative sample 을 직석하자만 hard : 어렵다, negative sample: 네거티브 샘플라고, 즉 네거티브 샘플라고 말하기 어려운 샘플이라는 뜻이다.
  • hard negative 는 원래 negative 인데 positive 라고 잘못 예측한 데이터를 말한다.

그림의 빨간 선이 모두 배경을 얼굴이라고 잘못 예측한 hard negative 이다.

hard negative는 마치 positive처럼 생겨서 예측하기 어렵다.

모델입장에서 보면 해당 샘플에 대해 negative(아니다) 라고 해야 하는데 confidence 는 높게 나오는 상황을 말한다.

 

 

hard negative mining

Object Detection Network 에서 자주 나오는 hard negative sk hard negative mining라는 말이 자...

blog.naver.com

  • 예측값이 단일 항목으로 이루어져있다면 (ex, [0.5])
    • 단순 이진 분류이므로, 목적함수로 Binary Cross Entropy 를 사용
  • 예측값이 여러개의 항목으로 이루어져있으며, 각 항목의 확률 합이 1 이 넘어간다면 (ex, [0.7, 0.6, 0.4])
    • 멀티 이진 분류이므로, 목적함수로 Binary Cross Entropy 를 사용
  • 예측값이 여러개의 항목으로 이루어져있으며, 각 항목의 확률 합이 1 이라면 (ex, [0.5, 0.2, 0.3])
    • 다중 분류이므로, 목적함수로 Cross Entropy 를 사용

 

 

[ML] Binary Cross Entropy 와 Cross Entropy 의 차이

들어가기 앞서, Binary Cross Entropy 와 Cross Entropy 의 개념은 자주 헷갈리는 것 같습니다. 따라서, 해당 포스트에서는 Binary Cross Entropy 와 Cross Entropy 의 차이점에 대해서 다뤄볼 것입니다. 진행 순서 이

wooono.tistory.com


Balanced Cross Entropy Loss의 한계

0.95의 확률로 Foreground 객체라고 분류한 Foreground 케이스에 weight 0.75를 주는 경우와

0.05의 확률로 Foreground 객체라고 분류 (즉, 0.95의 확률로 Background 객체라고 분류)한 Background 케이스에 weight 0.25를 주는 경우를 살펴보겠습니다.


  • 기본적으로 Cross Entropy는 확률이 낮은 케이스에 페널티를 주는 역할만 하고 확률이 높은 케이스에 어떠한 보상도 주지 않지만 Focal Loss는 확률이 높은 케이스에는 확률이 낮은 케이스 보다 Loss를 더 크게 낮추는 보상을 줍니다. 이 점이 차이점입니다.
  • Focal Loss는 Easy Example의 weight를 줄이고 Hard Negative Example에 대한 학습에 초점을 맞추는 Cross Entropy Loss 함수의 확장판이라고 말할 수 있습니다.

Y= 1 일 경우

 

- γ 커질수록 → loss 더 많이 줄이겠다  loss 영향력 감소   easy case 범위 증가

- γ 작을수록 → loss 덜 줄이겠다  loss 영향력 증가   easy case 범위 감소

 

 

 

Focal Loss (Focal Loss for Dense Object Detection) 알아보기

gaussian37's blog

gaussian37.github.io

  • CEL은 틀린 경우 모두에 대해서 loss값을 구함
  • BG의 경우는 loss값은 작지만 개수가 매우 많아서 FG loss보다 BG loss값이 커지는 경우가 발생

 

  • 통상적으로 BG의 prob는 easy example이기 때문에 높게 나오는 경우가 많다.
  • 따라서 CEL 값은 낮게 나오는 영역에 해당한다.
  • Focal loss는 이 영역의 Loss를 더 낮춰주도록 한다.

 

  • FG의 prob는 hard example이기 때문에 낮게 나오는 경우가 많다.
  • BG의 prob가 높아버리는 것이다.
  • 따라서 CEL 값은 높게 나오는 영역에 해당한다.
  • Focal loss는 이 영역의 Loss를 덜 낮춘다.
  • hard negative(정답은 negative인데 positive로 결과가 나왔다./ 배경인데 물체로 인식했다./negative라고 판단하기 어려운 케이스, 그래서 positive라고 함) 

'AI > 이론' 카테고리의 다른 글

[ML] Precision-Recall Curves  (0) 2023.02.09
[ML] Winograd convolution layer  (0) 2022.12.12
[ML] DCN, Deformable Convolution Networks  (0) 2022.01.04
[ML] AutoEncoder  (0) 2022.01.04
[ML] 분류 성능 평가 지표  (0) 2022.01.02