为什么裁剪的代理目标在近端策略优化中起作用?

人工智能 强化学习 文件 目标函数 近端策略优化
2021-10-20 11:26:06

近端策略优化算法(2017) 中,Schulman 等人。

在这个方案中,我们只在概率比的变化会使目标改善时忽略它,当它使目标变得更糟时我们将其包括在内。

我不明白为什么剪辑的代理目标有效。如果不考虑客观的改进,它如何工作?

2个回答

好的,所以我想我现在对此有了更好的理解。

首先,让我们提醒一下 PPO 的主要思想:贴近之前的政策。这与 TRPO 中的想法相同,但改进了 L 函数。

所以,你想做“小而安全的步骤”。使用剪裁的替代目标,您不会过于重视有希望的行动。你知道坏行为是坏的,所以你根据它们的“坏程度”来降低它们的概率。但是对于好的动作,你只知道它们“有点好”,它们的概率只会略微增加。

此机制允许您对策略执行少量但相关的更新。

希望这会对某人有所帮助:)

我认为@16Aghnar 很好地解释了这个概念。但是,仅通过裁剪代理目标并不能确保论文中所述的信任区域:

Engstrom 等人,2020 年,深度强化学习中的实施事项:关于 PPO 和 TRPO 的案例研究。

作者检查了 OpenAI 对 PPO 的实现,发现了许多代码级优化,我将在下面列出最重要的优化:

  1. 剪裁的替代物镜
  2. 价值函数裁剪
  3. 奖励缩放
  4. 正交初始化和层缩放
  5. 亚当学习率和退火

他们发现:

  • 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