the Deep MNIST for Experts tutorialの次のコードを理解できません。 train_step
を実行するときにTensorFlowのkeep_prob MNISTチュートリアル
train_step.run(feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5})
keep_prob: 0.5
の目的は何ですか?
the Deep MNIST for Experts tutorialの次のコードを理解できません。 train_step
を実行するときにTensorFlowのkeep_prob MNISTチュートリアル
train_step.run(feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5})
keep_prob: 0.5
の目的は何ですか?
keep_prob
の値は、ニューラルネットワークをトレーニングするときに使用されるdropout rateを制御するために使用されます。本質的には、層(この場合は最後に高密度に接続された層と読み出し層との間の)の各接続は、訓練の際に確率0.5
でのみ使用されることを意味する。これは過剰適合を減らす。ドロップアウトの理論について詳しくは、元のpaper by Srivastava et alをご覧ください。 TensorFlowでの使用方法については、tf.nn.dropout()
オペレータに関するドキュメントを参照してください。
値は、同じグラフをトレーニング(keep_prob = 0.5
)と評価(keep_prob = 1.0
)に使用できるように、プレースホルダを介して入力されます。これらのケースを処理するもう1つの方法は、トレーニングと評価のために異なるグラフを作成することです。現在のconvolutional.py
モデルのドロップアウトの使用例を見てください。
ありがとうございます:-) –