Understanding of Pytorch NLLLOSS
PyTorch's negative log-likelihood loss, nn.NLLLoss is defined as:

So, if the loss is calculated with the standard weight of one in a single batch the formula for the loss is always:

-1 * (prediction of model for correct class)

Example:

Correct Class = 0
prediction of model for correct class = 0.5
loss = -1 * 0.5
So, why is it called the &quot;negative log-likelihood loss&quot;, if there isn't a log function involved in calculating the loss?
​

Indeed no log is being used to compute the result of nn.NLLLoss so this can be a little confusing. However, I believe the reason why it was called this way is because it expects to receive log-probabilities:

The input given through a forward call is expected to contain log-probabilities of each class. - docs

In the end it does not make much sense to have it in the name since you might as well want to apply this function on non-log-probabilities...
