Object Function 2

[Pytorch] BCELoss, BCEWithLogitsLoss, CrossEntropyLoss

Contents PyTorch 에서는 이진 분류(Binary Classification)를 할 때 목적 함수 혹은 손실 함수로 사용할 수 있는 BCELoss와 BCEWithLogitLoss 가 존재한다. 두 함수는 모두 모델이 예측한 값과 실제 값 간의 차이를 비교하는 함수지만, 조금 다른 방식으로 계산된다. 두 함수의 차이점에 대해서 알아보자. BCELoss BCELoss는 모델의 구조 상에 마지막 Layer가 Sigmoid 혹은 Softmax로 되어 있는 경우 이를 사용한다. 즉, 모델의 출력이 각 라벨에 대한 확률값으로 구성되었을 때 사용이 가능하다. import torch import torch.nn as nn m = nn.Sigmoid() bce_criterion = nn.BCELoss() ta..

Python/Pytorch 2022.09.03

Object Function, Cost Function, Loss Fuction

우리가 딥러닝(Deep Learning)을 다루다 보면 목적 함수(Object Function), 비용 함수(Cost Function), 손실 함수(Loss Function)이라는 단어를 많이 접하게 될 것이다. 일반적으로 언급한 세 가지의 함수가 동일하다고 알고 있는데, 일부는 맞고 일부는 틀렸다고 할 수 있다. 목적 함수(Object Function) 목적 함수는 말그대로 어떠한 목적을 가지고 모델을 학습해 최적화하고자 하는 함수이다. 일반적으로 딥러닝에서는 경사 하강법(Gradient Descent) 방식을 사용하여 최적화하기 때문에 비용 함수가 바로 목적 함수가 된다. 하지만 MLE(Maximum Likelihood Estimate)와 같이 확률을 최대로 하는 방법을 사용할 경우에 감소하는 방식이..

Deep Learning 2022.04.28
반응형