信赖域策略优化(TRPO)是一种无模型、在线、基于策略、策略梯度强化学习算法。TRPO通过环境交互在采样数据和通过解决约束优化问题更新策略参数之间进行交替。在优化过程中,旧策略和新策略之间的KL差异被用作约束。因此,与标准策略梯度方法相比,该算法通过将更新后的策略保持在接近当前策略的信任区域内,防止了性能的显著下降[1].
PPO是TRPO的简化版本。TRPO在计算上比PPO更昂贵,但如果环境动力学是确定性的,且观测数量较低,TRPO往往比PPO更稳健。有关PPO代理的更多信息,请参阅策略优化代理.
有关不同类型的强化学习代理的更多信息,请参阅强化学习代理.
TRPO代理可以在具有以下观察和行动空间的环境中进行培训。
观测空间
动作空间
| |
离散的还是连续的
离散的还是连续的
| |
TRPO代理使用以下参与者和评论家表示。
批评家
演员
| |
价值函数批评家v(s),您可以使用rlValueRepresentation |
随机政策参与者π(s),您可以使用随机表示 |
培训期间,TRPO代理:
如果利用决定论剥削选择权RLTRP代理设置为符合事实的具有最大可能性的动作通常用于模拟和生成策略函数. 因此,模拟代理和生成的策略的行为具有确定性。
演员和评论家的职能
为了估计策略和值函数,TRPO代理维护两个函数近似器。
训练完成后,训练后的最优策略存储在actor中π(s).
有关为函数近似创建参与者和批评者的更多信息,请参见创建策略和值函数表示.
代理创建
您可以根据环境中的观察和操作规范,创建具有默认参与者和评论家表示的TRPO代理。为此,请执行以下步骤。
为您的环境创建观察规范。如果您已经有环境接口对象,则可以使用获取这些规范获取观测信息.
为您的环境创建操作规范。如果您已经有一个环境接口对象,则可以使用getActionInfo.
如果需要,指定每个可学习层中的神经元数量rlagentinizationoptions.
使用RLTRP代理对象
使用rltrpo试剂对象
或者,您可以创建演员和评论家表示,并使用这些表示来创建代理。在这种情况下,请确保参与者和批评家表示的输入和输出维度与环境的相应操作和观察规范相匹配。
使用随机表示对象
使用rlValueRepresentation对象
如果需要,请使用RLTRP代理对象
使用rltrpo试剂作用
TRPO代理不支持使用递归深层神经网络金宝app作为函数逼近器的参与者和批评者。TRPO代理也不支持使用二次层.
有关为函数近似创建参与者和批评者的更多信息,请参见创建策略和值函数表示.
信赖域策略优化
信赖域策略优化找到使下列参与者损失函数最小化的参与者参数。
在这里:
M是最小批量大小。
D我是一种优势功能。
π我(s我|θ)是采取行动的可能性A.我遵循现行政策。该值是概率(离散作用)或概率密度函数(连续作用)的特定值。
π我(s我|θ古老的)是采取行动的可能性A.我遵循旧政策。
Wℋ我(θ,s我)是熵损失项,其中W是熵损失和重量ℋ我(θ,s我)是熵。有关详细信息,请参阅熵损失.
这种最小化受到以下约束。
在这里:
D吉隆坡(θ古老的,θ,s我)库尔贝克-莱布尔(KL)与旧政策之间是否存在分歧π(s我|θ古老的)和现行政策π(s我|θ).D吉隆坡衡量新旧政策的概率分布差异程度。D吉隆坡如果两个分布相同,则为零。
δ限制是多少D吉隆坡并控制新政策与旧政策的偏离程度。
对于具有离散作用空间的代理,D吉隆坡计算如下,其中P是操作数。
对于具有连续动作空间的代理,D吉隆坡计算如下。
在这里:
为了近似此优化问题,TRPO代理使用的线性近似值为L演员(θ)和的二次近似D吉隆坡(θ古老的,θ,s我).近似值通过采用泰勒级数展开进行计算θ.
该近似优化问题的解析解如下所示。
在这里x=H-1G和α是确保策略改进并满足约束的系数。
训练算法
TRPO代理使用以下训练算法。要配置训练算法,请使用RLTRP代理对象
初始化参与者π(s)具有随机参数值θ.
初始化批评家v(s)具有随机参数值ϕ.
生成N通过遵循当前政策获得经验。经验顺序为
在这里sT是一种状态观察,,A.T是该州采取的行动,st+1是下一个州,和Rt+1搬家是否获得奖励sT到st+1.处于状态时sT,代理使用π(sT)并随机选择动作A.T基于概率分布。ts是当前数据集的开始时间步长N经验。在训练开始时,ts= 1. 对于随后的每一组N在同一训练集中的经历,ts←ts+N.对于每个不包含终端状态的体验序列,N等于经验视野期权价值。否则,N少于经验视野和sN
是终端状态。
对于每个情节步骤T=ts+1,ts+2, …,ts+N,使用优势估计法选项
有限视界(AdvantageEstimateMethod=“有限地平线”)-计算回报GT,这是该步骤的奖励与折扣后的未来奖励之和[2].
在这里B是0如果sts+N是一个终端状态,并且1.否则也就是说,如果sts+N不是终端状态,贴现未来奖励包括贴现状态值函数,使用批评家网络计算v.计算优势函数DT.
广义优势估计量(AdvantageeEstimateMethod=“gae”)-计算优势函数DT,它是时间差误差的贴现和[3].
在这里B是0如果sts+N是一个终端状态,并且1.否则λ是使用GAEFactor选项计算回报GT.
指定折扣系数的步骤γ对于这两种方法,请使用折扣因素选项
从过去的小批量经验中学习K年代。指定K,使用努梅波奇选项对于每个学习阶段:
对大小为的随机小批量数据集进行采样M从当前的一组经验中。要指定M,使用小批量选项小批量数据集的每个元素都包含当前体验以及相应的返回和优势函数值。
通过最小化损失来更新临界参数L批评家在所有采样的小批量数据中。
将优势值标准化D我基于最近未规范化的优势值。
如果标准化优势法选择是“没有”,不要规范化优势值。
如果标准化优势法选择是“当前”,根据当前小批量中未标准化的优势值标准化优势值。
如果标准化优势法选择是“移动”,根据未标准化的优势对优势值进行标准化N最近的优势,包括当前优势值。指定窗口大小的步骤N,使用得天独厚选项
通过求解约束优化问题更新参与者参数。
计算策略梯度。
应用共轭梯度(CG)法找到以下方程的近似解,其中H是吉隆坡新旧政策分歧的根源。
要配置CG算法的终止条件,请使用NumiteirationsConjugategradient和共轭辐射耐受性选项。要稳定CG算法的数值计算,请使用共轭辐射阻尼选项
使用直线搜索算法,找到最大的α它满足以下约束。
在这里δ是KL发散极限,使用克伦西林酒店选项N是使用NumiterionSlineSearch选项
如果有效值为α存在时,将参与者网络的参数更新为θ。如果有效值为α不存在,请不要更新参与者参数。
重复步骤3至步骤5,直到训练情节达到结束状态。
熵损失
为了促进agent探索,可以添加熵损失项Wℋ我(θ,s我)到演员损失函数,其中W是熵损失和重量ℋ我(θ,s我)是熵。
当代理更不确定下一步要采取的行动时,熵值更高。因此,最大化熵损失项(最小化负熵损失)会增加代理的不确定性,从而鼓励探索。为了促进额外的探索,这可以帮助代理摆脱局部最优,您可以指定更大的熵损失权重。
对于离散动作空间,代理使用以下熵值。在这种情况下,参与者输出采取每个可能的离散动作的概率。
在这里:
对于连续动作空间,代理使用以下熵值。在这种情况下,参与者输出每个连续动作的高斯分布的平均值和标准偏差。
在这里:
工具书类
[1] 舒尔曼、约翰、谢尔盖·莱文、彼得·阿比尔、迈克尔·乔丹和菲利普·莫里茨。“信任区域策略优化。”第32届机器学习国际会议记录,第1889-1897页。2015
[2] Mnih、Volodymyr、AdriáPuigdomènech Badia、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.