主要内容

rlQAgent

Q-learning强化学习代理

描述

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

有关q学习代理的更多信息,请参见q学习的代理

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

创建

描述

例子

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

输入参数

全部展开

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

属性

全部展开

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

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

  • —选择动作时使用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中训练强化学习代理

环境= rlPredefinedEnv(“BasicGridWorld”);

获得观察和行动规范。

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

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

qTable = rlTable(obsInfo,actInfo);

使用qTable.Q代理使用rlValueFunction对象来实现批评家。

rlQValueFunction(qTable,obsInfo,actInfo);

使用指定的临界值和epsilon值创建q学习代理0.05

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

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

act = getAction(代理,{randi(编号(obsInfo.Elements))});行为{1}
Ans = 1

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

版本历史

在R2019a中引入