카테고리 없음

[PyTorch] F.softmax / F.log_softmax

개발챙 2021. 5. 22. 15:52
728x90
import torch.nn.functional as F

- torch.nn.functional.softmax(inputdim=None_stacklevel=3dtype=None)

소프트맥스(softmax)는 입력값(k차원의 벡터)을 0에서 1 사이의 값으로 정규화해 k개의 각 클래스에 대한 확률을 추정하는 함수

- torch.nn.functional.log_softmax(inputdim=None_stacklevel=3dtype=None)

  1. 소프트맥스에 log함수를 취한 것으로(log(softmax)), softmax 함수를 보완하는 역할
  2. 딥러닝 학습시, softmax 함수를 이용하면 Vanishing Gradients(기울기 손실) 문제가 발생하기 쉬운데, 이 문제를 해결하기 위해 사용하는 것이 LogSoftmax 이다.
  3. 로그 소프트맥스를 사용하면 (*,/)를 (+,-) 형식으로 변형할 수 있어(소위 log-sum-exp trick이라고 불림) 수식 계산에서 더 안정적인 장점이 있다(numerically more stable).

728x90