主要内容

工作者

从强化学习代理获取行动者表示

描述

例子

演员= GetAttor(代理人的)返回指定的钢筋学习代理的Actor表示对象。

例子

全部收缩

假设您拥有现有的培训钢筋学习代理。对于此示例,从培训的代理商加载火车DDPG代理控制双积分系统

加载(“DoubleIntegDDPG.mat”'代理人'的)

从代理获得参与者表示。

Actor = GetAttor(代理);

从actor获取可学习参数。

Params = GetLearnableParameters(演员);

修改参数值。对于此示例,简单地将所有参数乘以2

ModifiedParams = Cellfun(@(x)x * 2,params,'统一输出'、假);

将Actor的参数值设置为新的修改值。

Actor = SetLearnableParameters(演员,ModifiedParams);

将代理中的演员设置为新修改的演员。

代理= setAttor(代理商,演员);

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

加载预定义的环境。

ent = rlpredefinedenv(“DoubleIntegrator-Continuous”的)
Env =双凝胶组连续性与属性:增益:1 TS:0.1000 Maxdistance:5守队列:0.0100 Q:[2x2 DOUBLE] R:0.0100 Maxiforce:INF状态:[2x1双]

获得观察和行动规范。

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

从环境观察和行动规范中创建PPO代理。

代理= rlppoagent(Obsinfo,Actinfo);

要修改钢筋内的深神经网络,必须首先提取演员和批评者表示。

Actor = GetAttor(代理);评论家=克理克里数据(代理人);

从演员和批评者表示中提取深神经网络。

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

网络是dlnetwork.对象。使用它来查看它们阴谋功能,必须将它们转换为layerGraph对象。

例如,查看actor网络。

绘图(层图(ActorRounet))

图包含轴对象。轴对象包含Type Graphplot的对象。

验证网络,使用分析.例如,验证评论家网络。

分析(批评)

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

deepNetworkDesigner (layerGraph (criticNet) deepNetworkDesigner (layerGraph (actorNet))

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

中验证修改后的网络深网络设计师,你必须点击分析了dlnetwork, 在下面分析部分。为了将修改后的网络结构导出到MATLAB®工作空间,生成用于创建新网络的代码,并从命令行运行此代码。中不使用导出选项深网络设计师.有关展示如何生成和运行代码的示例,请参阅使用深度网络设计器创建代理和使用图像观察训练

在此示例中,用于创建修改后的演员和批评网络的代码createModifiedNetworks.m

CreateModifiedNetWorks.

每一个修改后的网络包括一个附加的全康无经剥离在他们的输出路径中。查看修改后的actor网络。

情节(modifiedActorNet)

图包含轴对象。轴对象包含Type Graphplot的对象。

在输出网络之后,将网络插入到演员和评论家的表现中。

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

最后,在actor和critic对象中插入修改后的actor和critic表征。

代理= setAttor(代理商,演员);代理= setcritic(代理商,批评者);

输入参数

全部收缩

包含参与者表示的强化学习代理,指定为以下其中之一:

输出参数

全部收缩

Actor表示对象,指定为以下之一:

在R2019A引入