近端策略优化(PPO)是一种无模型,在线,政策,政策梯度加固学习方法。该算法是一种策略梯度训练,可以通过环境相互作用的采样数据交替,并使用随机梯度下降优化剪切代理物理函数。通过限制每一步的政策变化的规模,剪裁代理目标函数提高了培训稳定性[1].
有关不同类型的强化学习代理的更多信息,请参见加固学习代理人.
PPO代理可以在具有以下观察和动作空间的环境中培训。
观察太空 | 行动空间 |
---|---|
离散或连续 | 离散或连续 |
PPO代理商使用以下演员和批评者表示。
评论家 | 演员 |
---|---|
价值函数评论家V(年代),您可以使用 |
随机政策演员π(s),您可以使用 |
在培训期间,PPO代理人:
估计在动作空间中拍摄每个动作的概率,并根据概率分布随机选择动作。
在使用小批量在多个时期内更新actor和影评属性之前,使用当前策略与环境进行多步骤交互。
如果是UseDeterministicExploitation
选项rlPPOAgentOptions
被设置为真的
始终使用最大可能性的动作sim卡
和生成policyfunction.
.这会导致模拟代理和所生成的策略确定。
要估算策略和值函数,PPO代理维护两个函数近似器:
演员μ.(年代)演员需要观察年代并返回在状态下在动作空间中取出每个动作的概率年代.
评论家V(年代) -评论家需要观察年代并返回相应的预期折扣长期奖励。
当训练完成时,训练后的最优策略存储在actor中μ.(年代)。
有关为函数近似创建actor和批评者的更多信息,请参见创建策略和价值功能表示.
您可以根据环境中的观察和操作规范,创建具有默认参与者和批评者表示的PPO代理。为此,请执行以下步骤。
为您的环境创建观察规范。如果您已有环境界面对象,可以使用环境界面对象getobservationInfo.
.
为环境创建动作规范。如果您已有环境界面对象,可以使用环境界面对象getActionInfo.
.
如果需要,请指定每个学习层中的神经元数或是否使用LSTM层。为此,请使用Agent初始化选项对象使用rlAgentInitializationOptions
.
指定代理选项rlPPOAgentOptions
目的。
使用rlPPOAgent
目的。
或者,您可以创建参与者和批评者表示,并使用这些表示创建您的代理。在这种情况下,确保参与者和批评者表示的输入和输出维度与环境的相应操作和观察规范相匹配。
使用一个创建演员rlstochastorrepresentation
目的。
创建一个批评家使用rlValueRepresentation
目的。
如果需要,请使用一个指定代理选项rlPPOAgentOptions
目的。
属性创建代理rlPPOAgent
函数。
PPO代理支持使用循环金宝app深度神经网络作为函数近似器的行动者和批评者。
有关为函数近似创建actor和批评者的更多信息,请参见创建策略和价值功能表示.
PPO代理使用以下培训算法。要配置培训算法,请使用arlPPOAgentOptions
目的。
初始化演员μ.(年代),使用随机参数值θ.μ..
初始化批评V(年代),使用随机参数值θ.V.
生成N通过遵循当前政策的经验。经验序列是
在这里,年代t是一种状态观察,一个t是从那个州采取的行动,年代t + 1是下一个州,而且Rt + 1是因为移动的奖励年代t来年代t + 1.
在状态时年代t,代理计算使用操作空间中的每个动作的概率μ.(年代t)随机选择动作一个t基于概率分布。
ts当前集的起始时间步长是否为N经验。在训练集的开始时,ts= 1.对于每个后续集合N同一培训集的经验,ts←ts+N.
对于不包含终端状态的每个体验序列,N等于经验丰富
选项值。否则,N小于经验丰富
和年代N是终端状态。
对于每个发作步骤t=ts+1,ts+2,......,ts+N,使用指定的方法计算返回和优势函数AdvantageEstimateMethod
选择。
指定折扣因素γ.对于任何一种方法,使用DiscountFactor
选择。
从小批量的经验中学习K时代。指定K,可以使用numepoch.
选择。对于每个学习时期:
样本随机迷你批量数据集米从目前的经验。指定米,可以使用小匹匹匹匹配
选择。迷你批处理数据集的每个元素都包含一个当前经验以及相应的返回和优势函数值。
通过最小化损失来更新批评家参数l评论家跨越所有抽样的小批数据。
通过最小化损失来更新actor参数l演员跨越所有抽样的小批数据。如果是EntropyLossWeight
选项大于零,则附加熵损失相加l演员,鼓励政策探索。
在这里:
D我和G我是函数的优势和返回值我小批量的元素,分别。
μ.我(年代我|θ.μ.)是采取行动的可能性一个我在状态时年代我,给定更新的策略参数θ.μ..
μ.我(年代我|θ.μ,老)是采取行动的可能性一个我在状态时年代我,给定前面的策略参数(θ.μ,老)来自目前的学习时期。
ε.是使用该剪辑因子指定的剪辑因子ClipFactor.
选择。
重复步骤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.