检查反向传播梯度

Cés*_*pez 3 backpropagation tensorflow

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

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

我认为它与RELU通过RELU的非线性有关,但是我不能完全确定.

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

fab*_*ioM 5

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

optimizer = tf.train.AdamOptimizer() 
variables = tf.trainable_variables()
gradients = optimizer.compute_gradients(cost, variables)
Run Code Online (Sandbox Code Playgroud)

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