主要内容

setActor.

设置钢筋学习代理的演员代表

描述

例子

新代理= setAttor(老年人演员返回一个新的加强学习代理,新代理,使用指定的演员表示。除了actor表示,新代理与指定的原始代理具有相同的配置,老年人

例子

全部收缩

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

加载('doupleintegddpg.mat''代理人'

从代理商中获取演员表示。

Actor = GetAttor(代理);

从演员获取学习参数。

Params = GetLearnableParameters(演员);

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

ModifiedParams = Cellfun(@(x)x * 2,params,'统一输出',错误的);

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

Actor = SetLearnableParameters(演员,ModifiedParams);

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

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

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

加载预定义的环境。

Env = Rlpredefinedenv(“双凝胶组连续”
Env =双凝集器Continualaculeate

获得观察和行动规范。

ObsInfo = GetobservationInfo(ENV);Actinfo = GetActionInfo(ENV);

从环境观测和动作规范中创建PPO代理。

代理= rlppoagent(Obsinfo,Actinfo);

要修改强化学习代理中的深神经网络,您必须首先提取演员和批评者表示。

Actor = GetAttor(代理);评论家=克罗里特(代理人);

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

ACTORNET = GETMODEL(演员);批评= getModel(评论家);

要查看网络,请使用阴谋功能。例如,查看actor网络。

情节(ACTORNET)

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

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

DeepNetworkDesigner(批评)DeepNetworkDesigner(ActorRornet)

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

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

对于此示例,用于创建修改的演员和批评网络的代码CreateModifiedNetWorks.m.

CreateModifiedNetWorks.

每个修改的网络都包括额外的网络全康统计层抵押者在他们的输出路径中。查看修改后的actor网络。

绘图(ModifiedActornet)

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

导出网络后,将网络插入演员和批评者表示。

Actor = SetModel(演员,ModifiedActornet);评论家= setmodel(评论家,修改克里米特);

最后,在演员和批评者中插入修改的演员和批评者表示。

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

输入参数

全部收缩

包含演员表示的强化学习代理,指定为以下之一:

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

指定表示的输入和输出层必须与原始代理的观察和操作规范匹配。

要创建策略或value函数表示,请使用以下方法之一:

  • 使用相应的表示对象创建表示。

  • 使用代理商使用的现有策略表示工作者

输出参数

全部收缩

更新的钢筋学习代理,作为使用指定的Actor表示的代理对象返回。除了演员表示,新代理的配置与老年人

在R2019A介绍