在近端策略优化算法(2017) 中,Schulman 等人。写
在这个方案中,我们只在概率比的变化会使目标改善时忽略它,当它使目标变得更糟时我们将其包括在内。
我不明白为什么剪辑的代理目标有效。如果不考虑客观的改进,它如何工作?
在近端策略优化算法(2017) 中,Schulman 等人。写
在这个方案中,我们只在概率比的变化会使目标改善时忽略它,当它使目标变得更糟时我们将其包括在内。
我不明白为什么剪辑的代理目标有效。如果不考虑客观的改进,它如何工作?
好的,所以我想我现在对此有了更好的理解。
首先,让我们提醒一下 PPO 的主要思想:贴近之前的政策。这与 TRPO 中的想法相同,但改进了 L 函数。
所以,你想做“小而安全的步骤”。使用剪裁的替代目标,您不会过于重视有希望的行动。你知道坏行为是坏的,所以你根据它们的“坏程度”来降低它们的概率。但是对于好的动作,你只知道它们“有点好”,它们的概率只会略微增加。
此机制允许您对策略执行少量但相关的更新。
希望这会对某人有所帮助:)
我认为@16Aghnar 很好地解释了这个概念。但是,仅通过裁剪代理目标并不能确保论文中所述的信任区域:
Engstrom 等人,2020 年,深度强化学习中的实施事项:关于 PPO 和 TRPO 的案例研究。
作者检查了 OpenAI 对 PPO 的实现,发现了许多代码级优化,我将在下面列出最重要的优化:
他们发现:
PPO-M ( 2.
- 5.
) 单独可以维护信任区域。
(PPO-M:没有裁剪代理目标的 PPO,但具有代码级优化)
PPO-Clip(1.
仅限)无法维护信任区域。
(PPO-Clip:没有代码级优化的 PPO,但具有 Clipped 代理目标)
TRPO+ 与 TRPO 相比具有更好的性能,与 PPO 相比具有相似的性能
(TRPO+:在 PPO OpenAI 实现中使用了代码级优化的 TRPO)
关于为什么裁剪代理目标单独不起作用的一个直观想法是:我们采取的第一步是取消裁剪。
结果,由于我们初始化作为(因此比率开始都等于 1)我们采取的第一步与未裁剪的代理奖励上的最大化步骤相同。因此,我们采取的步长大小仅取决于代理景观的陡度(即我们解决的优化问题的 Lipschitz 常数),我们最终可以任意远离信任区域。——Engstrom等人,2020