【发布时间】:2016-11-18 23:04:27
【问题描述】:
我正在尝试将用纯 python 编码的强化学习脚本改编成 tensorflow。
我设计了它,当我开始对其进行采样时,我在前向传播中得到完全相同的值(对于第一个样本),但随后我的反向传播和梯度值不一样(甚至不接近)。
我认为它与通过 RELU 非线性的反向传播有关,但我又不完全确定。
查看网络架构逐步反向传播的最简单方法是什么?
【问题讨论】:
标签: tensorflow backpropagation
我正在尝试将用纯 python 编码的强化学习脚本改编成 tensorflow。
我设计了它,当我开始对其进行采样时,我在前向传播中得到完全相同的值(对于第一个样本),但随后我的反向传播和梯度值不一样(甚至不接近)。
我认为它与通过 RELU 非线性的反向传播有关,但我又不完全确定。
查看网络架构逐步反向传播的最简单方法是什么?
【问题讨论】:
标签: tensorflow backpropagation
一种方法是打印反向传播梯度的值:
optimizer = tf.train.AdamOptimizer()
variables = tf.trainable_variables()
gradients = optimizer.compute_gradients(cost, variables)
然后您可以通过将计算梯度的值传递给sess.run 函数来检查它们
【讨论】: