主要内容

rlSARSAAgent

SARSA强化学习剂

描述

SARSA算法是一种无模型、在线、基于策略的强化学习方法。SARSA代理是一种基于价值的强化学习代理,它训练评论家来估计回报或未来的奖励。

有关SARSA代理程序的更多信息,请参见撒尔沙代理

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

创建

描述

例子

代理= rlSARSAAgent (评论家agentOptions使用指定的批评网络创建SARSA代理,并设置AgentOptions财产。

输入参数

全部展开

评论家,指定为rlQValueFunction对象。有关创建批评的更多信息,请参见创建策略和值函数

属性

全部展开

代理选项,指定为rlSARSAAgentOptions对象。

选项,在选择操作时使用探索策略,指定为以下逻辑值之一。

  • —选择动作时使用agent greedy策略。

  • 真正的—选择动作时使用座席探索策略。

此属性是只读的。

观察规范,指定为强化学习规范对象,定义诸如维度、数据类型和观察信号的名称等属性。

的价值ObservationInfo中指定的对应值评论家

此属性是只读的。

动作规范,指定为rlFiniteSetSpec对象。

的价值ActionInfo中指定的对应值评论家

试剂的取样时间,指定为正标量或-1.将此参数设置为-1允许基于事件的模拟。的初始值SampleTime中指定的值AgentOptions

在Simulink金宝app中®环境中,RL代理块,在其中指定代理执行每个SampleTime秒模拟时间。如果SampleTime-1,块从它的父子系统继承采样时间。

在MATLAB中®环境时,每当环境前进时执行代理。在这种情况下,SampleTime输出经验中连续元素之间的时间间隔是否由返回sim卡火车.如果SampleTime-1,返回的输出体验中连续元素之间的时间间隔反映了触发代理执行的事件的时间。

对象的功能

火车 在指定的环境中训练强化学习代理
sim卡 在指定的环境中模拟训练好的强化学习代理
getAction 给定环境观测,从代理或行动者获得动作
getActor 从强化学习代理中得到actor
setActor 强化学习代理的集合角色
getCritic 从强化学习代理获得评论家
setCritic 强化学习代理集评论家
generatePolicyFunction 创建评估强化学习代理训练策略的函数

例子

全部折叠

创建或加载环境接口。对于本例,加载本例中也使用的Basic Grid World环境接口在Basic Grid World中训练强化学习代理

环境= rlPredefinedEnv(“BasicGridWorld”);

根据环境观察和操作规范创建一个近似表模型。

qTable = rlTable(...getObservationInfo (env),...getActionInfo (env));

使用qTable.SARSA特工使用anrlValueFunction对象来实现批评家。

rlQValueFunction(qTable,...getObservationInfo (env),...getActionInfo (env));

使用指定的临界值和值创建SARSA代理0.05

opt = rlSARSAAgentOptions;opt.EpsilonGreedyExploration.Epsilon = 0.05;agent = rlSARSAAgent(critical,opt)
agent = rlSARSAAgent with properties: AgentOptions: [1x1 rl.option. option.]rlSARSAAgentOptions] UseExplorationPolicy: 0 ObservationInfo: [1x1 rl.util.rlFiniteSetSpec] ActionInfo: [1x1 rl.util.rlFiniteSetSpec] SampleTime: 1

要检查代理,使用getAction从随机观察中返回操作。

getAction(代理,{兰迪(25)})
ans =1x1单元阵列{[1]}

现在可以针对环境测试和训练代理。

版本历史

在R2019a中引入