主要内容

赛特评论家

集合强化学习代理的批判表示

描述

实例

新代理人= setCritic (oldAgent,批评家)返回一个新的强化学习代理,新代理人,它使用指定的批评家表示形式。除批评家表示形式外,新代理具有与指定的原始代理相同的配置,oldAgent

例子

全部折叠

假设您已有一个经过培训的强化学习代理。对于本例,请从中加载经过培训的代理培训DDPG代理控制双积分系统

装载(“DoubleIntegDDPG.mat”,“代理人”)

从代理处获取批评家的陈述。

批评家=Get批评家(代理);

从批评家那里获得可学习的参数。

参数=getLearnableParameters(批评家);

修改参数值。对于本例,只需将所有参数乘以2.

modifiedParams=cellfun(@(x)x*2,参数,“UniformOutput”、假);

将批评家的参数值设置为新的修改值。

批评家=可设置的参数(批评家、修改的参数);

将代理中的评论家设置为新的修改过的评论家。

agent=set批评家(agent,批评家);

创造一个具有连续动作空间的环境,并获得其观察和动作规范。对于本示例,请加载示例中使用的环境培训DDPG代理控制双积分系统

加载预定义的环境。

env=rlPredefinedEnv(“DoubleIntegrator-Continuous”)
env=DoubleIntegrator具有属性的连续操作:增益:1 Ts:0.1000最大距离:5目标保留:0.0100 Q:[2x2 double]R:0.0100最大力:Inf状态:[2x1 double]

获得观察和行动规范。

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

根据环境观察和行动规范创建PPO代理。

agent=rlPPOAgent(obsInfo,actInfo);

为了修改强化学习代理内部的深度神经网络,你必须首先提取行动者和批评者的表征。

actor=getActor(agent);critic=getCritic(agent);

从演员和评论家的表达中提取深层神经网络。

actorNet = getModel(演员);criticNet = getModel(批评);

要查看网络,请使用情节函数。例如,查看参与者网络。

情节(actorNet)

图形包含轴。轴包含graphplot类型的对象。

您可以修改演员和评论家网络并将其保存回代理。要修改网络,可以使用深层网络设计师应用程序。要打开每个网络的应用程序,请使用以下命令。

deepNetworkDesigner(criticNet)deepNetworkDesigner(actorNet)

深层网络设计师,修改网络。例如,您可以向网络添加其他层。修改网络时,请勿更改由返回的网络的输入和输出层getModel.有关构建网络的更多信息,请参见使用Deep Network Designer构建网络

要将修改后的网络结构导出到MATLAB®工作区,请生成用于创建新网络的代码,并从命令行运行此代码。不要使用中的导出选项深层网络设计师。有关如何生成和运行代码的示例,请参阅使用深度网络设计器创建代理和使用图像观察训练

对于本例,用于创建修改后的演员和评论家网络的代码如下所示createModifiedNetworks.m

createModifiedNetworks

每个修改过的网络都有一个附加的完全连接层雷卢耶查看修改后的参与者网络。

情节(modifiedActorNet)

图形包含轴。轴包含graphplot类型的对象。

导出网络后,将网络插入到演员和评论家表示中。

演员= setModel(演员,modifiedActorNet);评论家= setModel(评论家,modifiedCriticNet);

最后,将修改过的参与者和批评者表示插入到参与者和批评者对象中。

agent=setActor(agent,actor);agent=setCritic(agent,critic);

输入参数

全部折叠

包含批判表示的原始强化学习代理,指定为如下之一:

批判表征对象,具体为:

  • rlValueRepresentation对象-当代理人是一个拉卡金特,rlPGAgentRLP发泡剂对象

  • rlQValueRepresentation对象-当代理人是一个rlQAgent,萨金特,rlDQNAgent,RLDDPG试剂RLTD3试剂用一个批评家反对

  • 两个元素的行向量rlQValueRepresentationobjects -返回时代理人是一个RLTD3试剂rlSACAgent有两位评论家反对

输出参数

全部折叠

更新的强化学习代理,作为使用指定批评家表示的代理对象返回。除了批评家表示外,新代理的配置与oldAgent

在R2019a中引入