PaddlePaddle / PARL

A high-performance distributed training framework for Reinforcement Learning
https://parl.readthedocs.io/
Apache License 2.0
3.24k stars 819 forks source link

关于DDPG价值网络与策略网络更新顺序问题 #909

Closed young-shy closed 2 years ago

young-shy commented 2 years ago

顺序上应该是 :先更新价值网络参数→利用更新后的价值网络获得Q值以更新策略网络参数。 图片中为何是先更新的策略网络 image

young-shy commented 2 years ago

why? :)

TomorrowIsAnOtherDay commented 2 years ago

抱歉忘记回复这个消息了。 先说结论:没太大影响。critic先跑更新确实是更严谨的,但是它学习率一般比较小,跑一次梯度更新对输出结果的影响很小。

TomorrowIsAnOtherDay commented 2 years ago

另外,如果是静态图的写法,先写哪个后写哪个就更不重要了,因为静态图是先声明计算图,再同时跑。 即便你先写actor更新再写critic更新,也不能保障底层c++真正运行的时候先跑actor再跑critic。 综上:这个写法对最终效果影响很小。

young-shy commented 2 years ago

tanks:)