主要内容

演员批评者

您可以使用演员 - 评论家(AC)代理,它使用无模型的在线,在线策略强化学习方法来实现演员 - 评论家算法,例如A2C和A3C。此代理的目标是直接优化政策(演员)并培训批评批评,以估计回报或未来的奖励[1]

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

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

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

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

批评 演员

价值函数评论家v(s),您创建使用rlvalueerepresentation

随机政策演员π(s),您创建使用rlstochastorrepresentation

在培训期间,AC代理人:

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

  • 在更新Actor和批评属性之前,使用当前策略与环境进行交互。

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

演员和评论家功能

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

  • 演员μ.S.) - 演员采取观察S.并返回在状态下在动作空间中取出每个动作的概率S.

  • 批评V.S.) - 评论家采取观察S.并返回相应的预期折扣长期奖励。

培训完成后,培训的最佳策略存储在演员中μ.S.)。

有关创建函数近似的演员和批评者的更多信息,请参阅创建策略和值函数表示

代理创作

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

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

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

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

  4. 如果需要,请使用一个指定代理选项rlacagentoptions.对象。

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

或者,您可以创建Actor和批评批读表示,并使用这些表示来创建代理。在这种情况下,确保演员和批评者表示的输入和输出尺寸与环境的相应动作和观察规范匹配。

  1. 使用一个创建演员rlstochastorrepresentation对象。

  2. 使用一个批评评论家rlvalueerepresentation对象。

  3. 使用一个指定代理选项rlacagentoptions.对象。

  4. 使用一个创建代理rlacagent.对象。

有关创建函数近似的演员和批评者的更多信息,请参阅创建策略和值函数表示

培训算法

AC代理使用以下培训算法。要配置培训算法,请使用arlacagentoptions.对象。

  1. 初始化演员μ.S.)随机参数值θ.μ.

  2. 初始化评论家V.S.)随机参数值θ.V.

  3. generN通过遵循当前政策的经验。剧集经验序列是

    S. T. S. A. T. S. R. T. S. + 1 S. T. S. + 1 ...... S. T. S. + N - 1 A. T. S. + N - 1 R. T. S. + N S. T. S. + N

    在这里,S.T.是一个国家观察,A.T.是从该州采取的行动,S.T + 1是下一个州,而且R.T + 1是因为移动的奖励S.T.到目前为止S.T + 1

    在状态时S.T.,代理计算使用操作空间中的每个动作的概率μ.S.T.)随机选择动作A.T.基于概率分布。

    TS.是当前集合的起始时间步骤N经验。在训练集的开始时,TS.= 1.对于每个后续集合N同一培训集的经验,TS.=TS.+N

    对于不包含终端状态的每个训练集,N等于numstepstolookahead.选项值。否则,N少于numstepstolookahead.S.N是终端状态。

  4. 对于每一集步骤T.=TS.+1,TS.+2,......,TS.+N,计算返回G.T.,这是该步骤的奖励和折扣未来奖励的总和。如果S.TS + N.不是终端状态,折扣未来奖励包括折扣状态值函数,使用批评网络计算V.

    G. T. = σ. K. = T. T. S. + N γ. K. - T. R. K. + B. γ. N - T. + 1 V. S. T. S. + N | θ. V.

    在这里,B.0.如果S.TS + N.是终端状态和1否则。

    指定折扣因素γ.,用来贴纸物选项。

  5. 计算优势功能D.T.

    D. T. = G. T. - V. S. T. | θ. V.

  6. 通过遵循政策渐变来累积演员网络的梯度,以最大限度地提高预期的折扣奖励。

    D. θ. μ. = σ. T. = 1 N θ. μ. LN. μ. S. T. | θ. μ. * D. T.

  7. 通过最小化估计值函数之间的平均平方误差丢失来累积批评网络的梯度V.T.)和计算的目标返回G.T.遍布所有人N经验。如果是Entropylossweight.选项大于零,然后累积额外的渐变以最小化熵丢失函数。

    D. θ. V. = σ. T. = 1 N θ. V. G. T. - V. S. T. | θ. V. 2

  8. 通过应用渐变更新Actor参数。

    θ. μ. = θ. μ. + α. D. θ. μ.

    在这里,α.是演员的学习率。通过设置创建演员表示时,请指定学习速率学习选项在rlrepresentationOptions.对象。

  9. 通过应用渐变更新批评者参数。

    θ. V. = θ. V. + β D. θ. V.

    在这里,β是评论家的学习率。通过设置创建批评批评表示时,请指定学习率学习选项在rlrepresentationOptions.对象。

  10. 对于每个训练集,重复步骤3到9,直到培训完成。

为简单起见,该算法中的演员和批评者更新显示了使用基本随机梯度下降的渐变更新。实际渐变更新方法取决于使用的优化器使用rlrepresentationOptions.

参考资料

[1] Mnih,Volodymyr,AdriàPuigdomènechBadia,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

另请参阅

|

相关主题