政策梯度:为什么会搅乱数据导致性能在下降?

问题描述 投票:0回答:1

enter image description here

以上是平均分数每100个集当代理上的gym环境LunarLanderContinuous-v2运行。的橙色和蓝色线是结果时,代理转换喂依次到策略梯度算法(例如,ppo),而红线是结果时shuffle中代理它们馈送到算法之前收集的过渡。我不明白为什么只是洗牌的数据会做出这样的差异。据我所知,神经网络假定输入数据是IID,所以算法如DQN洗牌的数据(或随机样本从重放缓冲器)打破的相关性。但这里洗牌的数据似乎使事情变得更糟,为什么会出现这种情况?

这里是我的项目https://github.com/xlnwel/Distributed-Model-Free-RL/tree/master/dppo

每个工人样本转换,直至一定量的转变被收集,然后计算梯度,梯度发送给学习者用于更新权重,然后重复上述过程。对应于混洗数据的代码是在管线143中worker.py到线路150。

python neural-network reinforcement-learning
1个回答
0
投票

我要说的差为接通策略(策略的梯度)之间和断开策略方法(DQN为例如)。你可以不推诿收集到的数据,因为拟合每集后,政策本身的变化。当你收集新样本,他们在新的政策。然而,在DQN的情况下,您更新给定的状态 - 动作对,让你仍然可以使用随机样本一起更新它们的Q值的功能。

© www.soinside.com 2019 - 2024. All rights reserved.