TensorFlow交叉熵教程

Gab*_*man 4 tensorflow

我刚刚完成了TensorFlow教程(https://www.tensorflow.org/versions/r0.8/tutorials/mnist/pros/index.html#deep-mnist-for-experts).

我有两个问题:

  1. 它为什么用cost function with y_ * log(y)?不应该y_ * log(y) + (1-y_) * log(1-y)吗?

  2. 如何TensorFlow知道如何计算gradient的的cost function我用?难道我们不应该在某处告诉TensorFlow如何计算gradient

谢谢!

Sun*_*Kim 5

  1. 当y = 1或0时,您可以使用y_*log(y)+(1-y_)*log(1-y),但当y是一热编码时,y = [0 1]或[1 0] ,我们使用y_*log(y).实际上,它们是一样的.

  2. 一切都是TensorFlow中的图表,包括您的成本函数.

在此输入图像描述

因此每个节点都知道它们的操作和局部梯度.Tensorflow使用反向传播(链规则)使用图形计算梯度.