我正在尝试将以纯python编码的强化学习脚本改编为tensorflow。

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

我认为这与通过RELU非线性进行反向传播有关,但是我不确定。

逐步了解网络体系结构的最简单方法是什么?

最佳答案

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

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


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

10-08 07:52