主要内容

政策梯度代理

策略梯度(PG)算法是一种无模型,在线,策略的on-prodote加强学习方法。PG代理是一种基于策略的强化学习代理,它使用加强算法搜索最佳策略,以最大化预期的累积长期奖励。

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

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

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

PG Agents使用以下演员和批评者表示。

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

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

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

在培训期间,PG代理商:

  • 估计行动空间中采取每个行动的概率,并根据概率分布随机选择行动。

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

如果是Usedeterministicexploitation.选项rlpgagentoptions.被设置为真正的动作的最大可能性总是用在SIMgeneratePolicyFunction.这将导致模拟的代理和生成的策略具有确定性的行为。

演员和评论家功能

PG代理使用角色函数近似器表示策略μS.).演员采取观察S.并返回在状态时在动作空间中执行每个动作的概率S.

为了减少梯度估计过程中的方差,PG药剂可以使用基线值函数,该函数是用批评家函数近似器估计的,V.S.).批评者计算给定观察状态的值函数。

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

代理创作

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

  1. 为您的环境创建观察规范。如果您已经有了一个环境接口对象,您可以使用以下方法获取这些规范getObservationInfo

  2. 为您的环境创建操作规范。如果您已经有了一个环境接口对象,您可以使用以下方法获取这些规范getActionInfo

  3. 如果需要,指定每个可学习层的神经元数量或是否使用LSTM层。为此,使用以下方法创建代理初始化选项对象rlagentinitializationOptions.

  4. 如果需要,使用rlpgagentoptions.目的。

  5. 使用一个创建代理rlPGAgent目的。

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

  1. 属性创建一个参与者表示rlStochasticActorRepresentation目的。

  2. 如果您正在使用基线函数,请使用rlvalueerepresentation目的。

  3. 使用该选项指定代理选项rlpgagentoptions.目的。

  4. 使用一个创建代理rlPGAgent目的。

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

培训算法

PG Agents使用钢筋(Monte Carlo Policy梯度)算法在或没有基线。要配置培训算法,请使用arlpgagentoptions.目的。

加强算法

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

  2. 对于每个培训集,按照演员策略生成集体验μS.).为了选择一个动作,行动者为动作空间中的每个动作生成概率,然后agent根据概率分布随机选择一个动作。代理在到达终端状态之前执行操作S.T..剧集经验包括序列

    S. 0. 一种 0. R. 1 S. 1 ...... S. T. - 1 一种 T. - 1 R. T. S. T.

    这里,S.T.是一个国家观察,一种T.是从该州采取的行动,S.T + 1是下一个州,和R.T + 1是否收到搬家的奖励S.T.S.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 μ S. T. | θ μ

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

    θ μ = θ μ + α D. θ μ

    这里,α是演员的学习率。通过设置创建演员表示时,请指定学习速率学习选项rlrepresentationOptions.目的。为简单起见,此步骤显示使用基本随机梯度下降的渐变更新。实际渐变更新方法取决于您使用的优化器rlrepresentationOptions.

  6. 对每个训练片段重复步骤2到步骤5,直到训练完成。

用基线算法加固

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

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

  3. 对于每个培训集,按照演员策略生成集体验μS.).剧集经验包括序列

    S. 0. 一种 0. R. 1 S. 1 ...... S. T. - 1 一种 T. - 1 R. T. S. T.

  4. 为了T.= 1, 2,…T.

    • 计算回报GT.,即贴现后的未来回报。

      G T. = σ. K. = T. T. γ K. - T. R. K.

    • 计算优势函数δT.使用基线值函数从批评家估计。

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

  5. 积累批评网络的梯度。

    D. θ V. = σ. T. = 1 T. - 1 δ T. θ V. V. S. T. | θ V.

  6. 积累演员网络的梯度。如果是Entropylossweight.选项大于零,则累积额外的梯度以最小化熵损失函数。

    D. θ μ = σ. T. = 1 T. - 1 δ T. θ μ ln μ S. T. | θ μ

  7. 更新批评参数θV.

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

    这里,β是批评家的学习速度。属性,在创建评论家表示时指定学习速率学习选项rlrepresentationOptions.目的。

  8. 更新Actor参数θμ

    θ μ = θ μ + α D. θ μ

  9. 为每个训练集重复步骤3到8,直到培训完成。

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

参考文献

[1]威廉姆斯,罗纳德J.“用于连接主义强化学习的简单统计梯度 - 之后算法”。机器学习8,不。3-4(1992年5月):229-56。https://doi.org/10.1007/BF00992696.

也可以看看

|

相关的话题