[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 공식 문서를 참조하시기 바랍니다.