主要内容

近端政策优化代理

近端策略优化(PPO)是一种无模型、在线、基于策略的策略梯度强化学习方法。该算法是一种策略梯度训练,它通过环境交互来交替采样数据和使用随机梯度下降来优化修剪过的代理目标函数。剪切的代理目标函数通过限制每一步策略变化的大小来提高训练的稳定性[1]

有关不同类型的强化学习代理商的更多信息,请参阅强化学习代理

PPO代理人可以在以下观察和行动空间的环境中进行训练。

观察空间 行动空间
离散或连续 离散或连续

PPO代理使用以下演员和评论家表示。

评论家 演员

价值函数的评论家v(s),您创建使用rlvalueerepresentation

随机政策演员π(S),您创建使用rlStochasticActorRepresentation

在培训期间,PPO代理商:

  • 估计行动空间中采取每个行动的概率,并根据概率分布随机选择行动。

  • 在使用Mini-Batches之前,使用当前策略与环境进行交互,以便在多个时期更新Actor和批评者和批评者属性。

如果Usedeterministicexploitation.选项rlppoagentoptions.被设置为真正的动作的最大可能性总是用在SIMgeneratePolicyFunction.这将导致模拟的代理和生成的策略具有确定性的行为。

演员和评论家功能

为了估计策略和价值功能,PPO代理维持两个功能近似器:

  • 演员μS.) - 演员采取观察S.并返回在状态时在动作空间中执行每个动作的概率S.

  • 评论家V.S.) - 评论家采取观察S.并返回相应的贴现后长期回报的期望。

培训完成后,培训的最佳策略存储在演员中μS.)。

有关创建函数近似的演员和批评者的更多信息,请参阅创建策略和值函数表示

代理创作

您可以根据环境的观察和操作规范创建具有默认Actor和批评者表示的PPO代理。为此,请执行以下步骤。

  1. 为您的环境创建观察规范。如果您已经有了一个环境接口对象,您可以使用以下方法获取这些规范getObservationInfo

  2. 为您的环境创建操作规范。如果您已经有了一个环境接口对象,您可以使用以下方法获取这些规范getActionInfo

  3. 如果需要,指定每个可学习层的神经元数量或是否使用LSTM层。为此,使用以下方法创建代理初始化选项对象rlagentinitializationOptions.

  4. 使用一个指定代理选项rlppoagentoptions.对象。

  5. 使用一个创建代理rlppoagent.对象。

或者,您可以创建Actor和批评批读表示,并使用这些表示来创建代理。在这种情况下,确保演员和批评者表示的输入和输出尺寸与环境的相应动作和观察规范匹配。

  1. 使用rlStochasticActorRepresentation对象。

  2. 使用一个批评评论家rlvalueerepresentation对象。

  3. 如果需要,使用rlppoagentoptions.对象。

  4. 使用该代理商创建代理rlppoagent.功能。

PPO代理支持使用经常万博1manbetx性深神经网络作为功能近似器的演员和批评者。

有关创建函数近似的演员和批评者的更多信息,请参阅创建策略和值函数表示

培训算法

PPO代理使用以下训练算法。要配置训练算法,请使用rlppoagentoptions.对象。

  1. 初始化的演员μS.)随机参数值θμ

  2. 初始化评论家V.S.)随机参数值θV.

  3. 产生N遵循当前政策的经验。经验序列是

    S. T. S. 一种 T. S. R. T. S. + 1 S. T. S. + 1 ...... S. T. S. + N - 1 一种 T. S. + N - 1 R. T. S. + N S. T. S. + N

    这里,S.T.是一个国家观察,一种T.是从该州采取的行动,S.T + 1是下一个州,和R.T + 1是否收到搬家的奖励S.T.S.T + 1

    在国家S.T., agent利用动作空间计算采取每个动作的概率μS.T.)和随机选择行动一种T.基于概率分布。

    TS.是当前集合的起始时间步骤N的经历。在训练开始时,TS.= 1。对于每个后续的集合N在同一训练阶段的经历,TS.TS.+N

    对于每一个不包含终结状态的体验序列,N等于ExperienceHorizon选项值。否则,N小于ExperienceHorizonS.N是终端状态。

  4. 对于每一集步骤T.=TS.+ 1,TS.+ 2,…,TS.+N,使用由指定的方法计算返回和优势函数优点司莫替米瑟选项。

    • 有限地平线AdvantageEstimateMethod = " finite-horizon ") -计算返回值GT.即这一步的奖励和未来的折现奖励之和[2]

      G T. = σ. K. = T. T. S. + N γ K. - T. R. K. + B. γ N - T. + 1 V. S. T. S. + N | θ V.

      这里,B.0.如果S.TS + N.是终端状态和1否则。那是,如果S.TS + N.不是终端状态,折扣未来奖励包括折扣状态值函数,使用批评网络计算V.

      计算优势函数D.T.

      D. T. = G T. - V. S. T. | θ V.

    • 广义的优势估计量AdvantageEstimateMethod = " gae ") -计算优势函数D.T.,这是时间差异错误的折扣和[3]

      D. T. = σ. K. = T. T. S. + N - 1 γ λ K. - T. δ K. δ K. = R. T. + B. γ V. S. T. | θ V.

      这里,B.0.如果S.TS + N.是终端状态和1否则。λ平滑因子是否使用GAEFactor选项。

      计算返回GT.

      G T. = D. T. - V. S. T. | θ V.

    指定折扣因子γ对于这两种方法,使用贴纸物选项。

  5. 从迷你批次的经历中学习K.时代的发展。指定K., 使用NumEpoch选项。对于每个学习时期:

    1. 抽样大小的随机小批量数据集m从目前的经验来看。指定m, 使用MiniBatchSize选项。迷你批量数据集的每个元素包含当前的经验和相应的返回和优势函数值。

    2. 通过最大限度地减少损失来更新批评者参数L.评论家跨越所有抽样的小批数据。

      L. C R. 一世 T. 一世 C θ V. = 1 m σ. 一世 = 1 m G 一世 - V. S. 一世 | θ V. 2

    3. 通过最大限度地减少损耗来更新actor参数L.演员跨越所有抽样的小批数据。如果Entropylossweight.选项大于零,然后添加额外的熵损耗L.演员,鼓励政策探索。

      L. 一种 C T. O. R. θ μ = - 1 m σ. 一世 = 1 m R. 一世 θ μ * D. 一世 C 一世 θ μ * D. 一世 R. 一世 θ μ = μ 一种 一世 S. 一世 | θ μ μ 一种 一世 S. 一世 | θ μ O. L. D. C 一世 θ μ = 马克斯 R. 一世 θ μ 1 + ε 1 - ε

      这里:

      • D.一世G一世是否为优势函数和返回值一世分别批量的元素。

      • μ一世S.一世|θμ)是采取行动的概率一种一世在国家S.一世给定更新的策略参数θμ

      • μ一世S.一世|θμ,旧)是采取行动的概率一种一世在国家S.一世给定前策略参数(θμ,旧)。

      • ε是否使用ClipFactor选项。

  6. 重复步骤3到5,直到训练集达到终端状态。

参考文献

[1] Schulman,John,Filip Wolski,Prafulla Dhariwal,Alec Radford和Oleg Klimov。“近端政策优化算法”。arxiv:1707.06347 [CS], 2017年7月19日。https://arxiv.org/abs/1707.06347

[2] Mnih, Volodymyr, Adrià Puigdomènech Badia, Mehdi Mirza, Alex Graves, Timothy P. lilliicrap, Tim Harley, David Silver, Koray Kavukcuoglu。深度强化学习的异步方法arxiv:1602.01783 [CS],2016年2月4日。https://arxiv.org/abs/1602.01783

[3] Schulman,John,Philipp Moritz,Sergey Levine,Michael Jordan和Pieter BeBeel。“使用广义优势估算的高维连续控制。”arxiv:1506.02438 [CS],2018年10月20日。https://arxiv.org/abs/1506.02438

也可以看看

|

相关的话题