keep_prob im TensorFlow MNIST-Tutorial

8

Ich kann den folgenden Code in dem Deep MNIST nicht verstehen Experten-Tutorial .

%Vor%

Was ist der Zweck von keep_prob: 0.5 , wenn train_step ausgeführt wird?

    
Zin Minn 22.02.2016, 04:24
quelle

1 Antwort

16

Der Wert keep_prob wird verwendet, um die Abbruchquote verwendet, wenn das neurale Netzwerk trainiert wird. Im Wesentlichen bedeutet dies, dass jede Verbindung zwischen den Schichten (in diesem Fall zwischen der letzten dicht verbundenen Schicht und der Ausleseschicht) nur mit der Wahrscheinlichkeit 0.5 beim Training verwendet wird. Dies reduziert die Überanpassung. Für weitere Informationen über die Theorie des Abbaus, können Sie das Original Papier von Srivastava et al sehen . Informationen zur Verwendung in TensorFlow finden Sie in der Dokumentation zum tf.nn.dropout() operator.

Der Wert keep_prob wird über einen Platzhalter eingegeben, so dass der gleiche Graph für das Training (mit keep_prob = 0.5 ) und die Auswertung (mit keep_prob = 1.0 ) verwendet werden kann. Eine alternative Möglichkeit, diese Fälle zu behandeln, besteht darin, verschiedene Diagramme für Training und Evaluierung zu erstellen: Sehen Sie sich die Verwendung von Dropouts in der aktuellen convolutional.py Modell für ein Beispiel.

    
mrry 22.02.2016, 05:08
quelle

Tags und Links