Machine learning OpenAI基线:为什么同时使用'tf.stop_gradient'并指定'var_list'?

Machine learning OpenAI基线:为什么同时使用'tf.stop_gradient'并指定'var_list'?,machine-learning,tensorflow,openai-gym,Machine Learning,Tensorflow,Openai Gym,在OpenAI baselines code on中,在构建操作图期间,在目标网络的q值上使用tf.stop_gradient,以防止目标q值对损失最小化的贡献。(第213行) 但是,当调用minimize时,var_list仅指定为范围在优化q网络下的tf.变量,不包括目标q网络下范围在内的变量。(第223行) 我不知道他们为什么两者兼而有之。这两种方法似乎达到了相同的结果。这是多余的。IMO代码读起来更好——您知道梯度不会流经该表达式,而且您还确切地知道哪些变量会受到影响 一个确实足以达到相

在OpenAI baselines code on中,在构建操作图期间,在目标网络的q值上使用
tf.stop_gradient
,以防止目标q值对损失最小化的贡献。(第213行)

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


我不知道他们为什么两者兼而有之。这两种方法似乎达到了相同的结果。

这是多余的。IMO代码读起来更好——您知道梯度不会流经该表达式,而且您还确切地知道哪些变量会受到影响


一个确实足以达到相同的效果。

我建议另一个堆栈交换站点在这方面更为活跃