Related to: Fundamentals
개요
BCELoss(Binary Cross Entropy Loss)는 결과 값이 두 개뿐인 이진 분류 시나리오에서 사용되는 손실 함수입니다. Loss Function for task에서 설명하는 Classification Task Loss의 이진 분류 특수 케이스입니다.
핵심 개념
파라미터
- p : 예측 확률
- y : 지표(BCE의 경우 0 또는 1)
- t : n개의 class중 임의의 class의 index
BCE vs CE
| 항목 | BCELoss | Cross Entropy Loss |
|---|---|---|
| 클래스 수 | 2개 (이진) | N개 (다중) |
| 출력 활성화 | Sigmoid | Softmax |
| 사용 예 | 이진 분류, GAN Discriminator | 다중 클래스 분류 |
GAN에서의 활용
GAN(Vanilla GAN)의 Discriminator는 Real/Fake 이진 판별을 수행하므로 BCELoss를 주로 사용합니다.
관련 개념
- Cross Entropy Loss — 다중 클래스 분류로 확장된 Cross Entropy
- Loss Function for task — Task 별 손실 함수 선택 가이드
- GAN(Vanilla GAN) — BCELoss를 Discriminator 손실로 사용하는 모델
- Optimization에서 중요한 것들 — 손실 함수와 최적화의 관계
참조
https://pytorch.org/docs/stable/generated/torch.nn.BCELoss.html