返回介绍

数学基础

统计学习

深度学习

工具

Scala

1.3 实验

发布于 2023-07-17 23:38:23 字数 10520 浏览 0 评论 0 收藏 0

1.3.1 Surrogate Objective 的比较

  1. 首先,我们在不同的超参数下比较几个不同的 surrogate objective

    (20)No clipping or penalty :Lt(θ)=Et[rt(θ)A^t]Clipping :Lt(θ)=Et[min(rt(θ)A^t,r~t(θ)A^t)]KL penalty :Lt(θ)=Et[rt(θ)A^tβ×KL[πθold,πθ]]
    • 对于 KL penalty ,可以使用一个固定的惩罚系数β$ \beta $ 、或者使用 target KL valuedtarg$ d_\text{targ} $ 的自适应系数。
    • 我们也尝试过在 log space (而不是线性空间)中进行剪裁,但发现其性能并没有提高。

    因为我们正在为每个算法搜索超参数,所以我们选择了一个计算量小的 benchmark 来测试算法。也就是说,我们使用了在OpenAI Gym 中实现的 7 个模拟机器人任务,它们使用了 MuJoCo 物理引擎。我们在每个任务上做 1M timesteps 的训练。除了用于裁剪的超参数(ϵ$ \epsilon $ )和 KL penaltyβ,dtarg$ \beta, d_\text{targ} $ )都是我们超参数搜索而来,其他的超参数在下表中提供。

  2. 我们使用了一个全连接的MLP 来表示策略函数。这个 MLP 有两个隐藏层,隐层维度为 64 ,采用 tanh 非线性激活函数,输出高斯分布的平均值,并有可变的标准差。我们不在策略函数和价值函数之间共享参数(因此c1$ c_1 $ 是 irrelevant 的),我们也不使用 entropy bonus

    意思是c1=0$ c_1 = 0 $ ?因为策略函数和价值函数没有共享参数,因此没有Vθ(st)$ V_\theta(s_t) $ 。

    每个算法都在所有 7 种环境下运行,每种环境下有 3 个随机种子。我们通过计算最后 100episodes 的平均总奖励来评估算法的每次运行。我们对每个环境的分数进行 shiftscale ,使随机策略给出的分数为 0、最好策略给出的分数为 1 ,并对 21 次运行进行平均,从而为每个算法 setting 产生一个单一的标量。

    结果如下表所示。请注意,对于 No clipping or penaltysetting ,得分是负的,因为在其中一个环境(half cheetah)上它导致了一个非常负的分数,这比最初的随机策略更糟糕。

    Clipping 的效果在这三者之间最好。

1.3.2 Continuous Domain 中的算法比较

  1. 接下来,我们将 PPO (具有 clipped surrogate objective)与文献中的其他几种方法进行比较,这些文献中的方法被认为对 continuous problems 有效。我们与以下算法的超参数调优的实现进行了比较:

    • trust region policy optimization《Trust region policy optimization》)。
    • cross-entropy method: CEM《Learning Tetris using the noisy cross-entropy method》)。
    • 带有自适应步长的平凡策略梯度。
    • A2C《Asynchronous methods for deep reinforcement learning》)。
    • 带有 trust regionA2C《Sample Efficient Actor-Critic with Experience Replay》)。

    A2C 代表 advantage actor critic ,是 A3C 的一个同步版本,我们发现它的性能与异步版本(即 A3C )相同或更好。对于PPO,我们使用了上一节中的超参数,其中ϵ=0.2$ \epsilon = 0.2 $ 。我们看到,PPO 在几乎所有的 continuous control environments 上都优于以前的方法。

1.3.3 Continuous Domain 中的示例

  1. 为了展示 PPO 在高维连续控制问题 high-dimensional continuous control problems 上的性能,我们对涉及三维人形机器人的一组问题进行了训练,在这些问题中,机器人必须跑动、转向、并从地面上站起来,并且同时可能被方块击中。我们测试的三个任务是:

    • RoboschoolHumanoid :仅向前运动。
    • RoboschoolHumanoidFlagrun :每隔 200timestepposition of target 随机变化,或只要达到目标则 position of target 就随机变化。
    • RoboschoolHumanoid-FlagrunHarder:机器人被方块砸中,需要从地上站起来。

    Figure 5 是学习策略的静止画面,Figure 4 是这三个任务的学习曲线。下表中提供了超参数。在同期的工作中, 《Emergence of Locomotion Behaviours in Rich Environments》 使用PPO 的自适应 KL 变体来学习三维机器人的运动策略。

1.3.4 Atari Domain 中的算法比较

  1. 我们还在 Arcade Learning Environment 这个 benchmark 上运行 PPO ,并与 A2C《Asynchronous methods for deep reinforcement learning》)和 ACER《Sample Efficient Actor-Critic with Experience Replay》)的 well-tuned 实现进行比较。对于这三种算法,我们使用了与 《Asynchronous methods for deep reinforcement learning》 相同的策略网络架构。下表中提供了 PPO 的超参数。对于其他两种算法,我们使用了经过调优的超参数,从而在该 benchmark 上的性能最大化。

    下表和下图提供了所有 49 个游戏的结果和学习曲线。

  2. 我们考虑了以下两个评分指标:

    • 整个训练期间每个 episode 的平均奖励(有利于快速学习)。
    • 训练的最后 100episodes 的每个 episode 平均奖励(有利于最终表现)。

    下表显示了每种算法 "获胜" 的游戏数量,我们通过对三次试验的平均得分指标来计算胜利者。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文