AI 모델 개발: 클래스 불균형 해결 – Focal Loss

ㅁ 클래스 불균형 해결

1. Focal Loss

ㅇ 정의:
– 분류 문제에서 클래스 불균형으로 인해 쉬운 예시에 치우쳐 학습되는 문제를 완화하기 위해, 어려운 예시에 더 큰 가중치를 부여하는 손실 함수.
– Cross Entropy Loss에 조정 계수(γ, 감마)와 α-밸런싱 파라미터를 추가하여 설계.

ㅇ 특징:
– γ(감마)가 클수록 쉬운 샘플의 손실 기여도가 줄어들고 어려운 샘플의 기여도가 커짐.
– α 파라미터를 통해 클래스별 가중치를 조정 가능.
– 주로 객체 탐지(예: RetinaNet)에서 불균형 클래스 문제 해결에 사용.

ㅇ 적합한 경우:
– 희귀 클래스(소수 클래스)의 학습 성능 향상이 필요한 경우.
– 데이터셋에서 긍정/부정 비율이 극단적으로 차이 나는 경우.

ㅇ 시험 함정:
– γ 값이 클수록 모든 샘플의 손실이 커진다고 오해 → 실제로는 쉬운 샘플의 손실 기여를 줄임.
– Focal Loss는 클래스 불균형 문제만 해결한다고 단정 → 어려운 샘플 학습에도 효과적.

ㅇ 시험 대비 “패턴 보기” 예시:
– (O) Focal Loss는 어려운 샘플에 더 많은 가중치를 부여하여 학습을 유도한다.
– (X) Focal Loss는 쉬운 샘플의 손실을 크게 하여 모델이 더 빨리 수렴하도록 한다.
– (O) γ 값이 클수록 쉬운 샘플의 기여도가 감소한다.
– (X) α 파라미터는 학습률을 조정하는 하이퍼파라미터이다.

ㅁ 추가 학습 내용

Focal Loss는 클래스 불균형 문제를 완화하기 위해 제안된 손실 함수로, 기본 Cross Entropy Loss에 (1 – p_t)^γ 항을 곱하여 쉬운 샘플의 기여를 줄인다. 수식은 다음과 같다.

FL(p_t) = – α (1 – p_t)^γ log(p_t)

여기서 p_t는 정답 클래스에 대한 예측 확률이며, α는 클래스별 비율에 따라 가중치를 부여하는 역할을 한다. γ는 쉬운 샘플 억제 정도를 조절하는 조절 파라미터로, γ=0이면 Focal Loss는 Cross Entropy Loss로 환원된다.

RetinaNet에서 Focal Loss를 사용하여 객체 탐지 시 배경 클래스가 압도적으로 많은 문제를 해결하였다. α와 γ를 조합하여 클래스 불균형과 쉬운 샘플 억제를 동시에 조절할 수 있다.

다른 클래스 불균형 해결 방법으로는 SMOTE(소수 클래스 샘플 증식), 클래스 가중치 조정 등이 있으며, Focal Loss는 데이터 증강 없이 손실 함수 설계로 문제를 완화한다는 점에서 차이가 있다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*