MXNet 中的 CrossEntropy 和 NegativeLogLikelihood 有什么区别?

What is the difference between CrossEntropy and NegativeLogLikelihood in MXNet?

我正在尝试使用 mxnet.metric 模块评估我的 class化模型与对数损失指标。

我遇到了两个 classes:CrossEntropy and NegativeLogLikelihood 它们具有相同的定义和非常相似的实现。两者计算指标值的核心代码相同:

self.sum_metric += (-numpy.log(prob + self.eps)).sum()

如果它们本质上是相同的指标,那么在库中维护这两个函数的目的是什么?二进制和多 class class 化首选哪个指标?

这些东西其实并没有太大区别,不仅在MXNet上,整体上也是如此。阅读此 Quora 以获得更多直觉:https://www.quora.com/What-are-the-differences-between-maximum-likelihood-and-cross-entropy-as-a-loss-function

至于MXNet中的multi-class classification是用什么,然后在大多数例子中我看到人们使用SoftmaxCrossEntropyLoss. See an example here: https://gluon.mxnet.io/chapter02_supervised-learning/softmax-regression-gluon.html