主要内容

近端政策优化(PPO)代理

近端政策优化(PPO)是一个模范自由,在网上,在政策、策略梯度强化学习方法。该算法是一种通过环境政策梯度训练之间交替采样数据交互和优化剪使用随机梯度下降法替代目标函数。剪替代目标函数可以提高训练稳定通过限制政策变化的大小每一步[1]

PPO是TRPO的简化版本。TRPO比PPO计算昂贵,但TRPO往往是更健壮的比PPO如果环境动力学是决定性的和低维观测。TRPO代理的更多信息,请参阅信赖域策略优化(TRPO)代理

更多信息在不同类型的强化学习代理,看看强化学习代理

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

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

PPO代理使用下面的演员和批评。

评论家 演员

价值函数的评论家V(年代),您将创建使用rlValueFunction

随机政策演员π(年代),您将创建使用rlDiscreteCategoricalActor(离散行动空间)rlContinuousGaussianActor(连续动作空间)

在培训期间,PPO代理:

  • 估计概率的每个行动的行动空间和基于概率分布随机选择操作。

  • 与多个步骤使用当前的政策环境使用前mini-batches更新演员和评论家属性在多个时期。

如果UseExplorationPolicy代理的选项设置最大似然的行动总是在使用sim卡generatePolicyFunction。结果,模拟生成代理和政策行为的确定性。

如果UseExplorationPolicy被设置为真正的代理选择其行动通过抽样概率分布。因此,政策是随机和代理其观测太空探索。

此选项只影响仿真和部署;它不影响训练。

演员和评论家函数近似者

估计策略和价值函数,PPO代理维护两个函数近似者。

  • 演员π(一个|年代;θ)——演员,参数θ,输出每个操作的条件概率一个在国家年代为以下之一:

    • 离散行动空间——每个离散采取行动的可能性。这些概率的总和所有行动是1。

    • 持续的行动空间——高斯概率分布的平均值和标准偏差为每个连续的动作。

  • 评论家V(年代;ϕ)——评论家,参数ϕ需要观察年代并返回相应的期望贴现的长期回报。

更多信息为函数近似创造演员和批评者,明白了创建政策和价值功能

在培训期间,代理曲调的参数值θ。培训后,参数保持在他们的调谐值和函数近似者存储在训练演员π(一个|年代)。

代理创建

您可以创建和训练在MATLAB PPO代理®命令行或使用强化学习设计应用。有关创建代理使用的更多信息强化学习设计,请参阅使用强化学习设计师创建代理

在命令行上,您可以创建一个PPO代理与默认的演员和评论家从环境中基于观察和操作规范。为此,执行以下步骤。

  1. 为您的环境创建观测规范。如果你已经有一个环境接口对象,您可以获得这些规范使用getObservationInfo

  2. 为您的环境创建动作规范。如果你已经有一个环境接口对象,您可以获得这些规范使用getActionInfo

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

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

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

或者,您可以创建演员和评论家和使用这些对象来创建你的代理。在这种情况下,确保演员和评论家的输入和输出维度匹配相应的行动和观测环境的规范。

  1. 使用一个创建一个演员rlDiscreteCategoricalActor(离散行动空间)或一个对象rlContinuousGaussianActor对象(连续动作空间)。

  2. 创建一个使用一个评论家rlValueFunction对象。

  3. 如果需要,使用一个指定代理选项rlPPOAgentOptions对象。

  4. 创建代理使用rlPPOAgent函数。

PPO代理支持演员和评金宝app论家使用复发性深层神经网络作为函数的近似者。

更多信息为函数近似创造演员和批评者,明白了创建政策和价值功能

训练算法

PPO代理使用下面的训练算法。配置训练算法,使用一个指定选项rlPPOAgentOptions对象。

  1. 初始化的演员π(一个|年代;θ)和随机参数值θ

  2. 初始化批评V(年代;ϕ)和随机参数值ϕ

  3. 生成N按照当前的政策经验。序列的经验

    年代 t 年代 , 一个 t 年代 , R t 年代 + 1 , 年代 t 年代 + 1 , , 年代 t 年代 + N 1 , 一个 t 年代 + N 1 , R t 年代 + N , 年代 t 年代 + N

    在这里,年代t是一个状态观察,一个t是一个行动的状态,年代t + 1下一个状态,Rt + 1从收到的奖励吗年代t年代t + 1

    在国家年代t,代理计算的概率采取行动空间中的每个操作使用π(一个|年代t;θ)和随机选择的行动一个t基于概率分布。

    ts是当前设置的起始时间步的N的经历。初的训练集,ts= 1。为每个后续组N经历相同的训练集,tsts+N

    对于每一个经验序列,不包含一个终端状态,N等于ExperienceHorizon选项值。否则,N小于ExperienceHorizon年代N终端状态。

  4. 每集步骤t=ts+ 1,ts+ 2,…ts+N,计算返回指定的函数使用方法和优势AdvantageEstimateMethod选择。

    • 有限的地平线(AdvantageEstimateMethod = " finite-horizon ")- - -计算回报Gt,这是奖励之和,步骤和贴现未来的回报[2]

      G t = k = t t 年代 + N ( γ k t 1 R k ) + b γ t 年代 + N t V ( 年代 t 年代 + N ; ϕ )

      在这里,b0如果年代t + N终端状态和吗1否则。也就是说,如果年代t + N不是一个终端状态,贴现未来奖励包括折扣状态值函数,计算使用批评网络V

      计算优势函数Dt

      D t = G t V ( 年代 t ; ϕ )

    • 广义的优势估计量(AdvantageEstimateMethod = " gae ")函数计算优势Dt,这是时间差异的贴现金额错误[3]

      D t = k = t t 年代 + N 1 ( γ λ ) k t δ k δ k = R t + b γ V ( 年代 t ; ϕ )

      在这里,b0如果年代t + N终端状态和吗1否则。λ使用指定的平滑因子吗GAEFactor选择。

      计算返回Gt

      G t = D t + V ( 年代 t ; ϕ )

    指定折扣因素γ对于这两种方法中,使用DiscountFactor选择。

  5. 从mini-batches的经验中学习K时代的发展。指定K,可以使用NumEpoch选择。对于每个学习时代:

    1. 一个随机样本mini-batch数据集的大小从目前的经验。指定,可以使用MiniBatchSize选择。mini-batch数据集合的每个元素包含一个当前的经验和相应的返回和优势函数值。

    2. 更新评论家参数通过最小化损失l评论家在所有采样mini-batch数据。

      l c r t c ( ϕ ) = 1 2 = 1 ( G V ( 年代 ; ϕ ) ) 2

    3. 标准化的优势值D根据最近的非规范优势值。

      • 如果NormalizedAdvantageMethod选择是“没有”,不正常的价值观。

        D ^ D

      • 如果NormalizedAdvantageMethod选择是“当前”,标准化值在当前mini-batch基于非规范的优势。

        D ^ D e 一个 n ( D 1 , D 2 , , D ) 年代 t d ( D 1 , D 2 , , D )

      • 如果NormalizedAdvantageMethod选择是“移动”,规范化值基于非规范的优势N最近的优势,包括当前的利用价值。指定窗口大小N,可以使用AdvantageNormalizingWindow选择。

        D ^ D e 一个 n ( D 1 , D 2 , , D N ) 年代 t d ( D 1 , D 2 , , D N )

    4. 更新演员通过最小化演员损失函数参数l演员在所有采样mini-batch数据。

      l 一个 c t o r ( θ ) = 1 = 1 ( 最小值 ( r ( θ ) D , c ( θ ) D ) + w ( θ , 年代 ) ) r ( θ ) = π ( 一个 | 年代 ; θ ) π ( 一个 | 年代 ; θ o l d ) c ( θ ) = 马克斯 ( 最小值 ( r ( θ ) , 1 + ε ) , 1 ε )

      在这里:

      • DG的优势函数,返回值吗分别mini-batch的th元素。

      • π(一个|年代;θ)是采取行动的可能性一个在国家年代,考虑到更新政策参数θ

      • π(一个|年代;θ)是采取行动的可能性一个在国家年代,考虑到之前的政策参数θ从当前学习时代之前。

      • ε使用指定的剪辑因素吗ClipFactor选择。

      • (θ)是熵和损失w是熵损失重量因素,指定使用吗EntropyLossWeight选择。更多信息熵损失,明白了熵损失

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

熵损失

探索促进剂,可以添加一个熵损失w(θ,年代)演员损失函数,w熵损失重量和吗(θ,年代)是熵。

熵值较高时,代理是更加不确定下一步该采取哪些行动。因此,最大化熵损失项(减少负熵损失)代理的不确定性增加,因此鼓励探索。促进更多的探索,可以帮助当地代理的最适条件,您可以指定一个更大的熵减肥。

一个离散的行动空间,代理使用下面的熵值。在这种情况下,演员把每个可能的概率输出离散行动。

( θ , 年代 ) = k = 1 P π ( 一个 k | 年代 ; θ ) ln π ( 一个 k | 年代 ; θ )

在这里:

  • P的数量是可能的离散动作。

  • π(一个k|年代;θ)是采取行动的可能性一个k在国家年代当前的政策。

一个持续的行动空间,代理使用下面的熵值。在这种情况下,演员输出高斯分布的平均值和标准偏差为每个连续的动作。

( θ , 年代 ) = 1 2 k = 1 C ln ( 2 π e σ k , 2 )

在这里:

  • C是连续动作输出的数量的演员。

  • σ凯西,我是行动的标准偏差k在国家年代当前的政策。

引用

舒尔曼[1],约翰,菲利普Wolski, Prafulla Dhariwal,亚历克·雷德福,奥列格•克里莫夫。“近端政策优化算法。”ArXiv: 1707.06347 (Cs),2017年7月19日。https://arxiv.org/abs/1707.06347

[2]Mnih之上,阿德里亚Puigdomenech十二月,Mehdi殿下,亚历克斯坟墓,蒂莫西·p·Lillicrap大卫银、蒂姆•哈雷Koray Kavukcuoglu。“异步深强化学习方法。”ArXiv: 1602.01783 (Cs),2016年2月4日。https://arxiv.org/abs/1602.01783

舒尔曼[3],约翰,菲利普莫里茨,谢尔盖•莱文迈克尔·乔丹,Pieter Abbeel。“高维连续控制使用广义估计优势。”ArXiv: 1506.02438 (Cs),2018年10月20日。https://arxiv.org/abs/1506.02438

另请参阅

对象

相关的例子

更多关于