主要内容

近端政策优化代理

近端策略优化(PPO)是一种无模型,在线,政策,政策梯度加固学习方法。该算法是一种策略梯度训练,可以通过环境相互作用的采样数据交替,并使用随机梯度下降优化剪切代理物理函数。通过限制每一步的政策变化的规模,剪裁代理目标函数提高了培训稳定性[1]

有关不同类型的强化学习代理的更多信息,请参见加固学习代理人

PPO代理可以在具有以下观察和动作空间的环境中培训。

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

PPO代理商使用以下演员和批评者表示。

评论家 演员

价值函数评论家V(年代),您可以使用rlValueRepresentation

随机政策演员π(s),您可以使用rlstochastorrepresentation

在培训期间,PPO代理人:

  • 估计在动作空间中拍摄每个动作的概率,并根据概率分布随机选择动作。

  • 在使用小批量在多个时期内更新actor和影评属性之前,使用当前策略与环境进行多步骤交互。

如果是UseDeterministicExploitation选项rlPPOAgentOptions被设置为真的始终使用最大可能性的动作sim卡生成policyfunction..这会导致模拟代理和所生成的策略确定。

演员和评论家功能

要估算策略和值函数,PPO代理维护两个函数近似器:

  • 演员μ.年代)演员需要观察年代并返回在状态下在动作空间中取出每个动作的概率年代

  • 评论家V年代) -评论家需要观察年代并返回相应的预期折扣长期奖励。

当训练完成时,训练后的最优策略存储在actor中μ.年代)。

有关为函数近似创建actor和批评者的更多信息,请参见创建策略和价值功能表示

代理创建

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

  1. 为您的环境创建观察规范。如果您已有环境界面对象,可以使用环境界面对象getobservationInfo.

  2. 为环境创建动作规范。如果您已有环境界面对象,可以使用环境界面对象getActionInfo.

  3. 如果需要,请指定每个学习层中的神经元数或是否使用LSTM层。为此,请使用Agent初始化选项对象使用rlAgentInitializationOptions

  4. 指定代理选项rlPPOAgentOptions目的。

  5. 使用rlPPOAgent目的。

或者,您可以创建参与者和批评者表示,并使用这些表示创建您的代理。在这种情况下,确保参与者和批评者表示的输入和输出维度与环境的相应操作和观察规范相匹配。

  1. 使用一个创建演员rlstochastorrepresentation目的。

  2. 创建一个批评家使用rlValueRepresentation目的。

  3. 如果需要,请使用一个指定代理选项rlPPOAgentOptions目的。

  4. 属性创建代理rlPPOAgent函数。

PPO代理支持使用循环金宝app深度神经网络作为函数近似器的行动者和批评者。

有关为函数近似创建actor和批评者的更多信息,请参见创建策略和价值功能表示

训练算法

PPO代理使用以下培训算法。要配置培训算法,请使用arlPPOAgentOptions目的。

  1. 初始化演员μ.年代),使用随机参数值θ.μ.

  2. 初始化批评V年代),使用随机参数值θ.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等于经验丰富选项值。否则,N小于经验丰富年代N是终端状态。

  4. 对于每个发作步骤tts+1,ts+2,......,ts+N,使用指定的方法计算返回和优势函数AdvantageEstimateMethod选择。

    • 有限的地平线优点司默认=“有限地平线”) - 计算返回Gt,这是该步骤的奖励和折扣未来奖励的总和[2]

      G t k t t 年代 + N γ. k t R k + b γ. N t + 1 V 年代 t 年代 + N | θ. V

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

      计算优势功能Dt

      D t G t V 年代 t | θ. V

    • 广义优势估计优点司默认=“GAE”) - 计算优势功能Dt,即时间差误差的折现和[3]

      D t k t t 年代 + N 1 γ. λ. k t δ. k δ. k R t + b γ. V 年代 t | θ. V

      在这里,b0如果年代t + N是终末状态和1否则。λ.是使用介绍指定的平滑因子高福戈斯选择。

      计算回报Gt

      G t D t V 年代 t | θ. V

    指定折扣因素γ.对于任何一种方法,使用DiscountFactor选择。

  5. 从小批量的经验中学习K时代。指定K,可以使用numepoch.选择。对于每个学习时期:

    1. 样本随机迷你批量数据集从目前的经验。指定,可以使用小匹匹匹匹配选择。迷你批处理数据集的每个元素都包含一个当前经验以及相应的返回和优势函数值。

    2. 通过最小化损失来更新批评家参数l评论家跨越所有抽样的小批数据。

      l c r t c θ. V 1 1 G V 年代 | θ. V 2

    3. 通过最小化损失来更新actor参数l演员跨越所有抽样的小批数据。如果是EntropyLossWeight选项大于零,则附加熵损失相加l演员,鼓励政策探索。

      l 一个 c t o r θ. μ. 1 1 最小值 r θ. μ. D c θ. μ. D r θ. μ. μ. 一个 年代 | θ. μ. μ. 一个 年代 | θ. μ. o l d c θ. μ. 最大限度 最小值 r θ. μ. 1 + ε. 1 ε.

      在这里:

      • DG是函数的优势和返回值小批量的元素,分别。

      • μ.年代|θ.μ.)是采取行动的可能性一个在状态时年代,给定更新的策略参数θ.μ.

      • μ.年代|θ.μ,老)是采取行动的可能性一个在状态时年代,给定前面的策略参数(θ.μ,老)来自目前的学习时期。

      • ε.是使用该剪辑因子指定的剪辑因子ClipFactor.选择。

  6. 重复步骤3到步骤5,直到训练阶段到达终点。

参考

[1]舒尔曼、约翰、菲利普·沃尔斯基、普拉富拉·达里瓦尔、亚历克·雷德福和奥列格·克里莫夫。“近端策略优化算法”。ArXiv: 1707.06347 (Cs),2017年7月19日。https://arxiv.org/abs/1707.06347

[2] Mnih,Volodymyr,AdriàPuigdomènebechBadia,Mehdi Mirza,Alex Graves,Timothy P. Lillicrap,Tim Harley,David Silver和Koray Kavukcuoglu。“深度加强学习的异步方法。”ArXiv: 1602.01783 (Cs), 2016年2月4日。https://arxiv.org/abs/1602.01783

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

另请参阅

|

相关话题