keep_prob在TensorFlow MNIST教程中

Zin*_*inn 10 tensorflow

我无法理解Deep MNIST for Experts教程中的以下代码.

train_step.run(feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5})
Run Code Online (Sandbox Code Playgroud)

keep_prob: 0.5跑步的目的是什么train_step

mrr*_*rry 21

keep_prob值用于控制训练神经网络时使用的丢失率.从本质上讲,它意味着层之间的每个连接(在这种情况下,在最后一个密集连接的层和读出层之间)将仅0.5在训练时与概率一起使用.这减少了过度拟合.有关辍学理论的更多信息,您可以看到Srivastava等人的原始论文.要了解如何在TensorFlow中使用它,请参阅有关tf.nn.dropout()运算符的文档.

keep_prob值通过占位符输入,以便相同的图形可用于训练(使用keep_prob = 0.5)和评估(使用keep_prob = 1.0).处理这些情况的另一种方法是为培训和评估构建不同的图表:查看当前convolutional.py模型中使用dropout 的示例.