之前了解到softmax作为输出层加上log-likelihood cost function(和nll_losspytorch中的一样)可以解决学习减速问题。
但是,当我学习 pytorch mnist 教程时,我很困惑为什么使用log_softmax作为输出层和nll_loss(负对数似然损失)作为损失函数的组合(L26和L34)。
我发现使用log_softmax+nll_loss时,测试准确率为99%,而使用softmax+nll_loss时,测试准确率为97%。
我很困惑log_softmaxover有什么好处softmax?我们如何解释它们之间的性能差距?log_softmax+nll_loss总是比softmax+nll_loss好吗?
