首页 > 解决方案 > 一种热编码的交叉熵损失

问题描述

CE-loss 总结了所有输出节点的损失

Sum_i[-target_i*log(output_i)]。

CE-loss 的导数是: - target_i/output_i。

由于对于 target=0,无论实际输出如何,损失和损失的导数都为零,因此似乎只有 target=1 的节点会收到有关如何调整权重的反馈。

我还注意到输出 = 0 的导数的奇异性。在反向传播期间如何处理?

我看不到如何调整权重以匹配 target=0。也许你知道得更好:)

标签: neural-networkbackpropagationloss-functionone-hot-encodingcross-entropy

解决方案


如果您的最后一层形成概率分布,您可以使用您提到的公式(这样所有节点都会收到反馈,因为当最后一层神经元的输出增加时,其他节点必须减少,因为它们形成概率分布并且必须加起来为 1)。您可以通过将 softmax 激活函数应用于最终层来实现最终层形成概率分布。你可以在这里阅读更多关于它的信息。


推荐阅读