撒尔沙代理
SARSA算法是一种无模型、在线、基于策略的强化学习方法。SARSA代理是一种基于价值的强化学习代理,它训练评论家来估计回报或未来的奖励。对于给定的观察,代理选择并输出估计回报最大的操作。
有关不同类型的强化学习代理的更多信息,请参见强化学习代理.
SARSA特工可以在具有以下观察和行动空间的环境中进行训练。
观察太空 | 行动空间 |
---|---|
连续或离散 | 离散 |
SARSA特工使用以下批评。
评论家 | 演员 |
---|---|
q值函数评论家问(年代,一个),您可以使用它来创建 |
SARSA代理不使用actor。 |
在训练过程中,智能体使用贪心探索来探索动作空间。在每个控制区间内,智能体有概率地选择一个随机动作ϵ,否则选择值函数最大的动作,概率为1 -ϵ.
临界函数逼近器
为了估计值函数,SARSA代理维护一个批评家问(年代,一个;ϕ),它是一个带参数的函数逼近器ϕ.评论家进行观察年代和行动一个作为投入和回报的相应期望的长期回报。
对于使用基于表的值函数的评论家,在参数ϕ是实际的问(年代,一个)的值。
有关为值函数近似创建评论家的更多信息,请参见创建策略和值函数.
在训练期间,代理调整参数值ϕ.训练后,参数保持在其调谐值,训练后的值函数逼近器存储在批评家中问(年代,一个).
代理创建
创建一个SARSA代理:
创建一个评论家使用
rlQValueFunction
对象。属性指定代理选项
rlSARSAAgentOptions
对象。类创建代理
rlSARSAAgent
对象。
训练算法
SARSA代理使用以下训练算法。若要配置训练算法,请使用rlSARSAAgentOptions
对象。
初始化评论家问(年代,一个;ϕ中的随机参数值)ϕ.
每期培训:
获得初步观察结果年代来自环境。
对于目前的观测年代,选择一个随机动作一个的概率ϵ.否则,选择临界值函数最大的动作。
指定ϵ它的衰减率,用
EpsilonGreedyExploration
选择。本节的每一步重复以下步骤,直到年代是终端状态:
执行动作一个0.观察奖励R下一个观察年代.
对于目前的观测年代,选择一个随机动作一个“的概率ϵ.否则,选择临界值函数最大的动作。
如果年代是否是终端状态下,设定的价值函数目标y来R.否则,设置为
设置贴现因子γ,使用
DiscountFactor
选择。计算差值Δ问在值函数目标和当前之间问(年代,一个;ϕ)值。
使用学习率更新评论家α.属性,在创建批评时指定学习率
LearnRate
选项中的rlCriticOptimizerOptions
属性。对于基于表的评论,更新相应的评论问(年代,一个)的值。
对于所有其他类型的批评,计算梯度Δϕ关于参数的损失函数ϕ.然后,根据计算的梯度更新参数。在这种情况下,损失函数是的平方Δ问.
设定观察值年代来年代.
设置动作一个来一个“.
另请参阅
rlSARSAAgent
|rlSARSAAgentOptions