主要内容

政策梯度代理人

策略梯度(PG)算法是一种无模型、在线、基于策略的强化学习方法。PG agent是一种基于策略的强化学习agent,它使用REINFORCE算法来搜索最优策略,使预期累积的长期回报最大化。

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

PG特工可以在以下观察和行动空间的环境中进行训练。

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

PG经纪人使用以下演员和评论家的代表。

批评家(如果使用基线) 演员

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

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

在训练期间,一名PG特工:

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

  • 在学习经验和更新策略参数之前,使用当前策略完成完整的训练集。

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

演员和评论家功能

PG代理使用Actor函数近似器代表策略μ.年代).行为人进行观察年代并返回在状态下在动作空间中取出每个动作的概率年代

为了减少梯度估计期间的方差,PG代理可以使用基线值函数,这是使用批评函数近似器估计的基线值函数,V年代).批评家计算给定观测状态的值函数。

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

代理创建

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

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

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

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

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

  5. 使用rlpgagent.对象。

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

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

  2. 如果您使用的是基线函数,请使用一个批评者使用rlValueRepresentation对象。

  3. 属性指定代理选项rlPGAgentOptions对象。

  4. 使用rlpgagent.对象。

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

训练算法

PG代理使用REINFORCE(蒙特卡罗策略梯度)算法,有或没有基线。要配置训练算法,请使用rlPGAgentOptions对象。

增强算法

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

  2. 对于每个训练集,通过遵循演员政策来生成剧集体验μ.年代).要选择一个动作,Actor为动作空间中的每个动作生成概率,然后代理随机选择基于概率分布的动作。代理采取动作,直到它到达终端状态年代T.情节体验由序列组成

    年代 0 一个 0 R 1 年代 1 ... 年代 T 1 一个 T 1 R T 年代 T

    在这里,年代t是一种状态观察,一个t是从那个州采取的行动,年代t + 1是下一个州,而且Rt + 1是因为移动的奖励年代t年代t + 1

  3. 对于集序列中的每个状态,即t= 1,2,......,T-1,计算回报Gt,这是未来的未来奖励。

    G t k t T γ. k t R k

  4. 通过遵循政策渐变来累积演员网络的梯度,以最大限度地提高预期的折扣奖励。如果EntropyLossWeight选项大于零,然后累积额外的渐变以最小化熵丢失函数。

    d θ. μ. t 1 T 1 G t θ. μ. LN. μ. 年代 t | θ. μ.

  5. 通过应用渐变更新actor参数。

    θ. μ. θ. μ. + α. d θ. μ.

    在这里,α.是演员的学习速度。属性,在创建参与者表示时指定学习速率LearnRate选项在rlRepresentationOptions对象。为简单起见,这一步显示了使用基本随机梯度下降的梯度更新。实际的梯度更新方法取决于您指定使用的优化器rlRepresentationOptions

  6. 对于每个训练集,重复步骤2到5,直到培训完成。

基线增强算法

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

  2. 初始化批评V年代),使用随机参数值θ.

  3. 对于每个训练集,通过遵循演员政策来生成剧集体验μ.年代).情节体验由序列组成

    年代 0 一个 0 R 1 年代 1 ... 年代 T 1 一个 T 1 R T 年代 T

  4. t= 1,2,......,T

    • 计算返回Gt,这是未来的未来奖励。

      G t k t T γ. k t R k

    • 计算优势功能δ.t使用来自批评者的基线值函数估计。

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

  5. 为评论家网络积累梯度。

    d θ. V t 1 T 1 δ. t θ. V V 年代 t | θ. V

  6. 累积参与者网络的梯度。如果EntropyLossWeight选项大于零,然后累积额外的渐变以最小化熵丢失函数。

    d θ. μ. t 1 T 1 δ. t θ. μ. LN. μ. 年代 t | θ. μ.

  7. 更新批评家参数θ.V

    θ. V θ. V + β d θ. V

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

  8. 更新actor参数θ.μ.

    θ. μ. θ. μ. + α. d θ. μ.

  9. 对每个训练片段重复步骤3到步骤8,直到训练完成。

为简单起见,该算法的演员和评论家更新显示了使用基本随机梯度下降梯度更新。实际的梯度更新方法取决于您指定使用的优化器rlRepresentationOptions

参考

[1] Williams, Ronald J. "连接主义强化学习的简单统计梯度跟随算法"机器学习8,不。3-4(1992年5月):229-56。https://doi.org/10.1007/BF00992696

另请参阅

|

相关话题