PyTorch 손실 함수 — nn 계열 손실 모음

PyTorch 손실 함수 — nn 계열 손실 모음

torch.nn 은 분류·회귀·거리 학습 등에 쓰이는 손실 함수 클래스를 모아 제공해요.

자주 쓰는 손실

  • CrossEntropyLoss: 다중 클래스 분류의 표준. 로그-소프트맥스 + NLL 결합.
  • MSELoss: 회귀에 쓰는 평균 제곱 오차.
  • BCEWithLogitsLoss: 이진 분류용. 로짓을 그대로 받아 수치 안정적.
  • L1Loss / SmoothL1Loss: MAE와 그 변형(회귀, 객체 검출에 자주 사용).
  • TripletMarginLoss: 임베딩 거리 학습용.
import torch, torch.nn as nn
loss_fn = nn.CrossEntropyLoss()
logits = model(x)              # (N, C)
loss = loss_fn(logits, y)      # y: (N,) 정수 레이블

사용 팁

  • 분류 문제는 로짓을 그대로 넣고 내부에서 소프트맥스·로그를 처리하는 손실을 쓰면 수치 안정적이에요.
  • 손실을 loss.backward() 로 역전파해 옵티마이저로 갱신해요.

더 알아보기