Ich benutze Python mit TF und auf der Suche nach der richtigen Möglichkeit, einen Teil der Eingabe zu maskieren, während ein Auto-De-Noising-Encoder für Mnist Daten geschult.Python Tensorflow mit Dropout auf Eingabeschicht
Ich habe versucht, Dropout für die Eingabeebene, genauso wie ich es für die versteckten Ebenen verwende, die Ergebnisse sind nicht groß, es ist schwer zu wissen, was das Problem mit dem Auto-Encoder ist, wie es schwer zu debuggen ist alle tief Lernarchitekturen
der Code, den ich für die Dropout verwendet, auf der Eingangsschicht einschließlich:
def encoder_2(x):
global dims #list of dimensions including the input
layers = [x]
dropouts = []
for i,dim in list(enumerate(dims))[:-1]:
dropouts.append(tf.nn.dropout(layers[-1], keep_prob=keep_prob))
try:
layers.append(tf.nn.relu(tf.add(tf.matmul(dropouts[-1], weights["encoder_h%d"%(i+1)]), biases["encoder_b%d"%(i+1)])))
except:
pass
return layers[-1]
ich here einige Implementierung für die Eingabe Maskierung gefunden, aber ich finde es schwer zu glauben, dass es keine eingebaute Funktion in tf dafür.
Ist die ordnungsgemäße Maskierung des Eingangs ein Dropout? wenn nicht, gibt es eine eingebaute Möglichkeit, Maskierung (Dropout) am Eingang zu verwenden?
Dank
Danke! Können Sie einen gut funktionierenden Mnist Auto-Encoder mit einer Genauigkeit> 97% empfehlen? – thebeancounter