问题描述
所以有两种方法。
现在,任何人都应该使用什么方法,为什么?
解决方法
它们是一样的。
如果您检查 the implementation,您会发现它在对传入参数应用 nll_loss
后调用 log_softmax
。
return nll_loss(log_softmax(input,1),target,weight,None,ignore_index,reduction)
免责声明:我特别回复“现在,任何人都应该使用什么方法,为什么?”不了解您的用例。
,交叉熵和对数似然是同一公式的两种不同解释。在对数似然情况下,我们最大化正确类的概率(实际上是似然),这与最小化交叉熵相同。虽然你是对的,这两个都在文献中造成了一些歧义,但是,有一些微妙之处和警告,我强烈建议你阅读这个主题,因为这个主题已经在那里进行了严格的讨论。你可能会发现它很有用。