主要内容

rlSARSAAgent

撒尔沙强化学习代理

自从R2019a

描述

撒尔沙算法是一个模范自由,在网上,在政策强化学习方法。撒尔沙代理是一个基于价值观的强化学习代理,火车一个评论家估计返回或未来的回报。

请注意

撒尔沙代理不支持周期性网络。万博1manbetx

撒尔沙代理上的更多信息,见撒尔沙代理

更多信息在不同类型的强化学习代理,看看强化学习代理

创建

描述

例子

代理= rlSARSAAgent (评论家,agentOptions)创建一个撒尔沙代理指定的评论家网络和设置AgentOptions财产。

输入参数

全部展开

评论家,指定为一个rlQValueFunction对象。创建批评者的更多信息,请参阅创建政策和价值功能

属性

全部展开

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

选择使用探索政策选择行为时,指定为以下之一的逻辑值。

  • ——使用代理贪婪策略在选择行动。

  • 真正的——使用代理探索政策在选择行动。

这个属性是只读的。

观测规范,指定为一个rlFiniteSetSpecrlNumericSpec对象或数组包含一个混合的对象。数组中每个元素定义了一个环境观测通道的特性,比如尺寸,数据类型和名称。

的价值ObservationInfo匹配指定相应的值评论家

这个属性是只读的。

动作规范,指定为一个rlFiniteSetSpec对象。这个对象定义环境行动通道的属性,如尺寸,数据类型和名称。

请注意

只有一个动作频道是被允许的。

的价值ActionInfo匹配指定相应的值评论家

样本代理的时候,作为一个积极的标量或指定1。设置这个参数1支持基于事件的模拟。的初始值SampleTime匹配指定的值AgentOptions

在一个模型万博1manbetx®环境中,RL代理块中执行每一个指定的代理SampleTime秒的仿真时间。如果SampleTime1块继承了样本时间从母公司子系统。

在MATLAB®环境中,代理执行每一次进步的环境。在这种情况下,SampleTime之间的时间间隔连续元素返回的输出的经验吗sim卡火车。如果SampleTime1之间的时间间隔连续元素返回的输出经验反映了事件触发代理执行的时机。

对象的功能

火车 强化学习培训代理在指定的环境中
sim卡 模拟训练强化学习代理在指定的环境中
getAction 从代理,获得动作演员,或政策对象环境的观察
getActor 从强化学习代理提取的演员
setActor 集演员强化学习代理
getCritic 从强化学习代理提取评论家
setCritic 评论家强化学习代理
generatePolicyFunction 生成MATLAB函数,评价代理人的政策或政策对象

例子

全部折叠

创建或加载一个环境接口。对于这个示例加载基本网格世界环境界面也使用的例子强化学习培训代理基本网格的世界

env = rlPredefinedEnv (“BasicGridWorld”);

观察和操作规范。

obsInfo = getObservationInfo (env);actInfo = getActionInfo (env);

撒尔沙代理使用一个参数化核反应能量函数来估计政策的价值。核反应能量函数接受目前的观察和行动作为输入并返回一个标量输出(估计折扣累积长期奖励采取对应的行动从国家目前的观察,和后政策之后)。

因为观察和行动空间离散和低维,使用一个表模型内部的核反应能量函数评论家。rlTable创建一个表值对象的观察和操作规范对象。

创建一个表近似模型来源于环境观察和操作规范。

qTable = rlTable (obsInfo actInfo);

创建核反应能量函数近似者对象使用qTable和环境规范对象。有关更多信息,请参见rlQValueFunction

评论家= rlQValueFunction (qTable obsInfo actInfo);

创建一个撒尔沙代理使用近似者对象。

代理= rlSARSAAgent(批评)
代理= rlSARSAAgent属性:AgentOptions: [1 x1 rl.option。rlSARSAAgentOptions] UseExplorationPolicy: 0 ObservationInfo: [1x1 rl.util.rlFiniteSetSpec] ActionInfo: [1x1 rl.util.rlFiniteSetSpec] SampleTime: 1

指定一个ε的价值0.05

选择= rlSARSAAgentOptions;agent.AgentOptions.EpsilonGreedyExploration。ε= 0.05;

检查您的代理,使用getAction返回操作从一个随机的观察。

行动= getAction(代理,{兰迪(元素个数(obsInfo.Elements))});行为{1}
ans = 1

您现在可以测试和培训代理与环境。

版本历史

介绍了R2019a