Wie in 2-Ebenen neuronales Netz mit TensorFlow und python auf dem MNIST-Daten

Ich bin ein Neuling in der Maschine zu lernen, und ich bin nach tensorflow tutorial zu erstellen einige einfache Neuronale Netze, die lernen, die MNIST-Daten.

Ich gebaut haben eine single-layer-Netzwerk (nach dem tutotial), Genauigkeit war über 0.92, das ist ok für mich. Aber dann fügte ich eine weitere Ebene, die Genauigkeit reduziert, 0.113, das ist sehr schlecht.

Unten ist die Beziehung zwischen 2 Schichten:

import tensorflow as tf
x = tf.placeholder(tf.float32, [None, 784])

#layer 1
W1 = tf.Variable(tf.zeros([784, 100]))
b1 = tf.Variable(tf.zeros([100]))
y1 = tf.nn.softmax(tf.matmul(x, W1) + b1)

#layer 2
W2 = tf.Variable(tf.zeros([100, 10]))
b2 = tf.Variable(tf.zeros([10]))
y2 = tf.nn.softmax(tf.matmul(y1, W2) + b2)

#output
y = y2
y_ = tf.placeholder(tf.float32, [None, 10])

Ist meine Struktur in Ordnung? Was ist der Grund dafür, dass macht es so schlecht? Wie sollte ich ändern mein Netzwerk?

Schreibe einen Kommentar