Tensorflow softmax_cross_entropy_with_logits要求提供未缩放的日志概率

时间:2016-11-29 17:13:06

标签: tensorflow

我注意到tf.nn.softmax_cross_entropy_with_logits要求"未缩放的日志概率"对于logits参数。但是,在提交给此函数之前,我没有看到任何人建议对其NN预测执行日志操作。我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:7)

您不应执行日志操作。你不应该执行任何事情,实际上:-)。这个评论(可能说很差)试图说的是每个logit是一个不受限制的实数(负数或正数,大小或你想要的小)。然后,softmax交叉熵函数将(概念上)应用softmax运算(取幂,将无限制的实数转换为正数,然后归一化以使它们总和为1)并计算交叉熵。

所以,tl; dr,给你的最后一个线性层的输出提供没有任何规范化或传递函数,你就不会错。

答案 1 :(得分:0)

出于历史原因,最后一个线性层的输出为:

Z2 = np.dot(W2,A1)+ b2,

此输出称为“未缩放对数概率”,因此softmax操作将对其进行归一化->给出“已缩放对数概率”并应用指数函数->给出“已缩放对数概率”->对其应用交叉熵损失

请参阅:http://cs231n.github.io/neural-networks-2/