OpenAI基线:为什么要同时使用`tf.stop_gradient`并指定`var_list`?

时间:2017-05-30 03:00:10

标签: machine-learning tensorflow openai-gym

DQN上的OpenAI基线代码中,tf.stop_gradient在构建操作图期间用于目标网络的q值,以防止目标q值的贡献最小化损失。 (第213行)

但是,在调用minimize时,var_list被指定为tf.Variable,其范围属于正在优化的q网络,不包括目标q网络下范围的变量。 (第223行)

我不确定为什么他们两个都这样做。这两种方法似乎都取得了相同的结果。

1 个答案:

答案 0 :(得分:2)

这是多余的。 IMO代码读得更好 - 你知道渐变不会流过那个表达式,你也知道哪些变量会受到影响。

确实可以达到同等效果。