检查反向传播梯度

时间:2016-11-18 23:04:27

标签: tensorflow backpropagation

我正在尝试将在纯python中编码的强化学习脚本调整为张量流。

我设计了它并且当我开始通过它进行采样时,我在前向传播中获得了完全相同的值(对于第一个样本),但后来我反向传播并且梯度值不相同(甚至不接近)。

我认为它与RELU通过RELU的非线性有关,但是我再也不确定了。

逐步反向传播网络架构的最简单方法是什么?

1 个答案:

答案 0 :(得分:5)

一种方法是打印反向传播梯度的值:

optimizer = tf.train.AdamOptimizer() 
variables = tf.trainable_variables()
gradients = optimizer.compute_gradients(cost, variables)

然后,您可以通过将计算梯度的值传递给sess.run函数

来检查它们的值