2016-10-14 3 views
0

В белой бумаге TensorFlow указано, что градиенты рассчитываются по обратному пути с помощью правила цепи. Я визуализировал учебник «https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/mnist/mnist_softmax.py» в Tensorboard и не смог узнать, действительно ли это происходит. Если в визуализации Tensorboard есть край, может ли поток данных в обоих направлениях? (как правило, я бы ожидать, направленные ребра) Graph visualisation in TensorboardЯвляется ли backpropagation реализованным в TensorFlow при использовании GradientDescentOptimizer?

ответ

1

Внутри коробки «GradientDescent» вы уже видели два «update_w» и «update_b» коробки, и вы задаетесь вопросом, почему стрелки указывают только на от переменных , но никто им не принадлежит.

В принципе, стрелки в тензоре показывают зависимости, а не как данные перемещаются. Много времени они похожи. Но это не похоже на simulink от MATLAB, если вы знакомы с ним. На графике нет циклов.

Итак, стрелки говорят: вы не можете запустить «update_w», пока не получите «w», «learning_rate» и «gradients».

«update_w» обновляет «w», там просто стрелка не показывает.

Обновление не идет назад и по стрелке. Рассмотрим:

x = tf.Variable(0,'x') 
y = tf.Variable(1,'y') 
set_x_eq_y =x.assign(y,name = 'set_x_eq_y') 

Здесь график будет иметь стрелку от "y" до "set_x_eq_y". Нет стрелки, касающейся «x».

Смежные вопросы