[python] 파이썬 PyTorch에서 다중 레이블 분류를 위한 손실 함수는 무엇인가?
PyTorch에서 다중 레이블 분류를 위한 손실 함수로는 BCEWithLogitsLoss
가 가장 일반적으로 사용됩니다.
BCEWithLogitsLoss
는 이진 분류를 위한 손실 함수인 BCELoss
와 로짓을 입력으로 받아서 소프트맥스를 적용하지 않아도 되는 특징을 갖고 있습니다. 이 함수는 이진 분류 문제에서 각 클래스의 확률을 예측하는 모델을 훈련할 때 사용됩니다.
사용 예시는 다음과 같습니다:
import torch
import torch.nn as nn
# 예측값과 실제값
logits = torch.tensor([[0.1, 0.8, 0.4], [0.6, 0.3, 0.2]])
targets = torch.tensor([[0, 1, 1], [1, 0, 1]])
# 손실 함수 정의
loss_fn = nn.BCEWithLogitsLoss()
# 손실 계산
loss = loss_fn(logits, targets)
print(loss)
이 코드에서 logits
는 모델의 예측값을 나타내며, targets
는 실제값을 나타냅니다. nn.BCEWithLogitsLoss()
를 사용하여 손실 함수를 정의하고, loss_fn(logits, targets)
를 호출하여 손실을 계산합니다.
출력 결과는 손실 값입니다.
더 자세한 내용은 PyTorch 공식 문서를 참조하시기 바랍니다.