の割り当て操作がの後にネットワークの順方向パスの部分で使用されている場合、TensorFlowのバックプロパゲーションはその重みの勾配を決定する際の割り当て操作を考慮していますか?たとえば、私が持っている場合、TensorFlow - 処理後の勾配を割り当てるops?
weights = tf.Variable(...)
bias = tf.Variable(...)
output = tf.tanh(tf.matmul(weights, input) + bias)
weight_assign_op = weights.assign(weights + 1.0)
with tf.control_dependencies(weight_assign_op):
output2 = tf.identity(output)
出力が計算され、次に重みが変更されます。変数を更新するために出力を使用して損失と勾配を計算する場合、勾配はweights
への変更を考慮して作成されますか?つまり、weights
の勾配はold_weights + 1.0
の正しい勾配ですか、またはの勾配になりますか?新しいweights
に適用すると必ずしも勾配降下の「正しい」勾配ではありませんか?