我在使用张量流中的纯张量样式实现强化学习(RL)算法时遇到问题。这个想法来自Deepmind IMPALA的实现。该代码以纯张量样式编写,没有获取和提要。作者使用tf.py_func()将仿真器转换为tensorflow ops。然后,工作人员将数据放入tf.queue,学习者从tf.contrib.staging.StagingArea中提取训练数据,以计算损失函数和优化器。最后,一次获取优化器即可运行所有算法。我想将代码转换为其他RL算法。因此,作为一项练习,我正在尝试在体育馆训练,并且正在尝试策略梯度(PG)和近端策略优化(PPO)。但是,最近几周我的成绩很差,需要别人的帮助。
我在repo中运行健身房游戏的代码。
我不确定我是否正确使用PG算法。 PG的“ CartPole-v0”结果。它最终收敛到200分。但是“ LunarLander-v2”的PG结果似乎有问题。该算法首先学习了一些知识,但一段时间后,情节性回报急剧下降到了错误的位置,再也没有回来。但是我的PPO一点也不学。 (see pictures here)
请帮助我找出我的代码出了什么问题?纯张量代码的结果应该与常规的结果相匹配。作为参考,我还使用以下传统的张量流提取和提要提供了这些RL算法:PG conventional和PPO conventional。