Gần đây tôi đã thực hiện khóa học Sâu về Udacity dựa trên khoảng TensorFlow
. Tôi có một chương trình đơn giản MNIST
đó là chính xác khoảng 92%:Tensorflow Relu Misunderstanding
from tensorflow.examples.tutorials.mnist import input_data
import tensorflow as tf
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
y = tf.nn.softmax(tf.matmul(x, W) + b)
y_ = tf.placeholder(tf.float32, [None, 10])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))
phân công tiếp theo của tôi nó để Turn the logistic regression example with SGD into a 1-hidden layer neural network with rectified linear units nn.relu() and 1024 hidden nodes
Tôi gặp một khối tinh thần về việc này. Hiện tại tôi có ma trận trọng số 784 x 10 và vectơ thiên vị dài 10 phần tử. Tôi không hiểu cách tôi kết nối vector phần tử 10 kết quả từ WX + Bias
đến 1024 Relu
s.
Nếu ai đó có thể giải thích điều này với tôi, tôi sẽ rất biết ơn.
Cảm ơn bạn rất nhiều vì câu trả lời rõ ràng của bạn, tôi nghĩ bây giờ có một nắm bắt về những gì tôi cần làm. X là một phần tử vector 784 và quá trình WX + B phải dẫn đến một vectơ yếu tố 1024. Tôi không chắc chắn về mặt toán học khi có thêm 240 phần tử đến từ đâu, không phải là chúng thừa? Tôi cảm thấy như tôi sẽ hiểu điều này một cách trực quan hơn nếu số lượng các nút ẩn là <= 784 – James
Thực ra, nó thường được sử dụng để ánh xạ các đầu vào chiều thấp đến các không gian chiều cao hơn theo cách này. Giả sử bạn phải xây dựng một mạng mô hình sàn (x)% 2 == 0. Đầu vào của bạn là một chiều, nhưng trước tiên bạn phải ánh xạ nó vào không gian chiều cao hơn. TensorFlow sân chơi mặc định cho 2 tế bào thần kinh đầu vào và 4 tế bào thần kinh ẩn - http://playground.tensorflow.org/ –
Cảm ơn, tôi đoán điều này thực sự làm cho rất nhiều ý nghĩa bây giờ mà tôi đã có thêm một chút trong khóa học. Bạn muốn các nút dư thừa đó sao cho kết nối dự phòng có thể được tạo thành bằng cách bỏ qua, vv .. – James