您可以使用角色-批评(AC)代理,它使用无模型、在线、基于策略的强化学习方法,来实现角色-批评算法,如A2C和A3C。这个代理的目标是直接优化政策(行动者),并培训评论家来估计回报或未来的回报[1].
有关不同类型的强化学习代理的更多信息,请参见强化学习代理.
AC代理人可以在以下观察和行动空间的环境中进行训练。
观察太空 | 行动空间 |
---|---|
离散或连续 | 离散或连续 |
AC代理使用以下演员和评论家表示。
评论家 | 演员 |
---|---|
价值函数的评论家V(年代),您可以使用 |
随机政策演员π(年代),您可以使用 |
在培训期间,AC代理人:
估计行动空间中采取每个行动的概率,并根据概率分布随机选择行动。
在更新参与者和批评者属性之前,使用当前策略与环境进行多步骤交互。
如果UseDeterministicExploitation
选项rlACAgentOptions
被设置为真正的
动作的最大可能性总是用在sim卡
和generatePolicyFunction
.这将导致模拟的代理和生成的策略具有确定性的行为。
为了估计策略函数和值函数,AC代理维护两个函数近似器:
演员π(年代|θ) -演员,有参数θ需要观察年代并返回在状态时在动作空间中执行每个动作的概率年代.
评论家V(年代|ϕ)——有参数的批评家ϕ需要观察年代并返回相应的贴现后长期回报的期望。
当训练完成时,训练后的最优策略存储在actor中π(年代).
有关为函数近似创建actor和批评者的更多信息,请参见创建策略和价值功能表示.
您可以根据环境中的观察和操作规范,创建具有默认参与者和评论家表示的AC代理。为此,请执行以下步骤。
为您的环境创建观察规范。如果您已经有了一个环境接口对象,您可以使用以下方法获取这些规范getObservationInfo
.
为您的环境创建操作规范。如果您已经有了一个环境接口对象,您可以使用以下方法获取这些规范getActionInfo
.
如果需要,指定每个可学习层的神经元数量或是否使用LSTM层。为此,使用以下方法创建代理初始化选项对象rlAgentInitializationOptions
.
如果需要,使用rlACAgentOptions
对象。
使用rlACAgent
对象。
或者,您可以创建参与者和批评者表示,并使用这些表示创建您的代理。在这种情况下,确保参与者和批评者表示的输入和输出维度与环境的相应操作和观察规范相匹配。
创建一个批评家使用rlValueRepresentation
对象。
指定代理选项rlACAgentOptions
对象。
使用rlACAgent
对象。
有关为函数近似创建actor和批评者的更多信息,请参见创建策略和价值功能表示.
AC agent使用下面的训练算法。要配置训练算法,请使用rlACAgentOptions
对象。
初始化的演员π(年代),使用随机参数值θ.
初始化批评V(年代),使用随机参数值ϕ.
生成N遵循当前政策的经验。情节体验序列是
在这里,年代t是一种状态观察,一个t是从那个州采取的行动,年代t + 1是下一个州,和Rt + 1是否收到搬家的奖励年代t来年代t + 1.
在国家年代t, agent利用动作空间计算采取每个动作的概率π(年代t)和随机选择行动一个t基于概率分布。
ts当前集的起始时间步长是否为N的经历。在训练开始时,ts= 1。对于每个后续的集合N在同一训练阶段的经历,ts=ts+N.
对于每一段不包含终结状态的训练,N等于NumStepsToLookAhead
选项值。否则,N小于NumStepsToLookAhead
和年代N是终端状态。
对于每个发作步骤t=ts+ 1,ts+ 2,…,ts+N,计算回报Gt即这一步的奖励和未来的折现奖励之和。如果年代t + N不是终端状态,贴现的未来奖励包括贴现状态值函数,使用批评家网络计算V.
在这里,b是0
如果年代t + N是终末状态和1
否则。
指定折扣因子γ,可以使用DiscountFactor
选择。
计算优势函数Dt.
通过遵循策略梯度来累积参与者网络的梯度,使期望的折扣报酬最大化。
通过最小化估计值函数间的均方误差损失来累积评价网络的梯度V(t)和计算的目标返回值Gt在所有N的经历。如果EntropyLossWeight
选项大于零,则累积额外的梯度以最小化熵损失函数。
通过应用渐变更新actor参数。
在这里,α是演员的学习速度。属性,在创建参与者表示时指定学习速率LearnRate
选项rlRepresentationOptions
对象。
通过应用梯度更新批评家参数。
在这里,β是批评家的学习速度。属性,在创建评论家表示时指定学习速率LearnRate
选项rlRepresentationOptions
对象。
对每个训练片段重复步骤3到步骤9,直到训练完成。
为简单起见,该算法的演员和评论家更新显示了使用基本随机梯度下降梯度更新。实际的梯度更新方法取决于使用指定的优化器rlRepresentationOptions
.
[1] 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.