TensorFlow 交叉熵教程
TensorFlow cross-entropy on tutorial
我刚刚完成了 TensorFlow
教程 (https://www.tensorflow.org/versions/r0.8/tutorials/mnist/pros/index.html#deep-mnist-for-experts)。
我有两个问题:
为什么要用cost function with y_ * log(y)
?不应该是y_ * log(y) + (1-y_) * log(1-y)
吗?
TensorFlow
怎么知道如何计算我用的cost function
的gradient
?我们不应该在某个地方告诉 TensorFlow
如何计算 gradient
吗?
谢谢!
当y = 1或0时,可以使用y_ * log(y) + (1-y_) * log(1-y),但是当y为one-hot编码时,y =[0 1] 或 [1 0],我们使用 y_ * log(y)。其实都是一样的
TensorFlow 中的一切都是图表,包括您的成本函数。
因此每个节点都知道它们的操作和局部梯度。 Tensorflow 使用反向传播(链式规则)来计算使用图形的梯度。
我刚刚完成了 TensorFlow
教程 (https://www.tensorflow.org/versions/r0.8/tutorials/mnist/pros/index.html#deep-mnist-for-experts)。
我有两个问题:
为什么要用
cost function with y_ * log(y)
?不应该是y_ * log(y) + (1-y_) * log(1-y)
吗?TensorFlow
怎么知道如何计算我用的cost function
的gradient
?我们不应该在某个地方告诉TensorFlow
如何计算gradient
吗?
谢谢!
当y = 1或0时,可以使用y_ * log(y) + (1-y_) * log(1-y),但是当y为one-hot编码时,y =[0 1] 或 [1 0],我们使用 y_ * log(y)。其实都是一样的
TensorFlow 中的一切都是图表,包括您的成本函数。
因此每个节点都知道它们的操作和局部梯度。 Tensorflow 使用反向传播(链式规则)来计算使用图形的梯度。