我有一个关于PPO 算法中网络/模型更新的一般性问题。
如果我理解正确的话,在模型上使用从环境创建的数据(更新前的模型)对模型进行了多次权重更新迭代。现在,我认为在第一次迭代/优化步骤之后模型权重的更新不再正确,因为模型权重发生了变化,因此训练数据已经过时(因为模型现在会在环境中给出不同的动作,因此不同奖励)。
基本上,在算法的伪代码中,我不明白“优化代理 L ... with K epochs ...”这一行。如果更新是针对多个 epoch 进行的,那么在第一次优化迭代之后,学习到的数据已经过时了,因为模型的权重发生了变化。在其他算法中,如 A2C,只完成一个优化步骤,而不是时代。
这是通过使用旧模型为多次迭代创建的数据对数据进行某种形式的近似或扩充,还是我在这里遗漏了什么?如果是,这个想法是在哪里首次引入或更好地描述的?哪里有(经验)证明这仍然会导致正确的权重更新?