Keras如何处理分类交叉熵的log(0)?

时间:2017-06-02 11:28:18

标签: keras cross-entropy loss-function

我有一个神经网络,在MNIST上训练,其中分类交叉熵作为其损失函数。

出于理论目的,我的输出层是ReLu。因此很多 它的输出为0。

现在我偶然发现了以下问题:

为什么我不会犯很多错误,因为肯定会有很多错误 在我的输出中为零,我将记录日志。

这里,为方便起见,分类交叉熵的公式。

L = \sum_{i=1}^m \sum_j L_{i,j} \log y_{i,j}

1 个答案:

答案 0 :(得分:1)

它没有在https://keras.io/losses/#categorical_crossentropy中记录,它似乎依赖于后端,但我很确定它们不会生成log y,而是log(y + epsilon),其中epsilon是一个小的常量防止log(0)。