用log softmax代替softmax有什么好处

数据挖掘 深度学习 损失函数
2021-09-23 03:47:18

我想知道 log softmax 是否比 softmax 有任何优势。而且,我什么时候应该使用 softmax 或 log-softmax。选择一个而不是另一个有什么具体原因吗?

2个回答

与 softmax 相比,使用log softmax有许多优点,包括提高数值性能和梯度优化等实际原因。这些优势对于实施可能非常重要,尤其是在训练模型可能在计算上具有挑战性且成本高昂时。在 softmax 上使用 log-softmax 的核心是使用log probabilities over probabilities,它具有很好的信息论解释。

当用于分类器时,log-softmax 会在模型无法预测正确类别时严重惩罚模型。惩罚是否能很好地解决您的问题取决于您的测试,因此 log-softmax 和 softmax 都值得使用。

对数 softmax 是

日志(经验(X)/(经验(X)))=X-日志((经验(X))).
现在 日志((经验(X)))最大限度(X),因为总和由最大的条目支配。

我们看到 log softmax 几乎是 X-最大限度(X)这自然比任何涉及对数和指数的计算都要快得多。我们还保证输出不会与输入有很大不同。

另一个原因是,当 softmax 与对数似然损失一起使用时,我们无论如何都要取条目的对数。