文件帮助中心文件
设置策略或价值函数表示的计算模型
newrep = setmodel(oldrep,model)
例子
newRep= setmodel(oldRep那模型)返回新的策略或value函数表示,newRep,具有与原始表示相同的配置,oldRep,以及指定的计算模型模型.
newRep= setmodel(oldRep那模型)
newRep
oldRep
模型
全部收缩
创造一个具有连续动作空间的环境,并获得其观察和动作规范。对于本示例,请加载示例中使用的环境火车DDPG代理控制双积分系统.
加载预定义的环境。
Env = Rlpredefinedenv(“DoubleIntegrator-Continuous”)
Env =双凝胶组连续性与属性:增益:1 ts:0.1000 maxdistance:5守队列:0.0100 q:[2x2 double] r:0.0100 maxiforce:inf状态:[2x1 double]
获得观察和行动规范。
obsInfo = getObservationInfo (env);actInfo = getActionInfo (env);
从环境观测和动作规范中创建PPO代理。
代理= rlppoagent(Obsinfo,Actinfo);
为了修改强化学习代理内部的深度神经网络,你必须首先提取行动者和批评者的表征。
Actor = GetAttor(代理);评论家=克罗里特(代理人);
从演员和批评者表示中提取深神经网络。
actorNet = getModel(演员);criticNet = getModel(批评);
要查看网络,请使用阴谋函数。例如,查看参与者网络。
阴谋
情节(actorNet)
您可以修改Actor和批评网络并将其保存回代理。要修改网络,您可以使用深层网络设计师应用程序。要为每个网络打开应用程序,请使用以下命令。
DeepNetworkDesigner(批评)DeepNetworkDesigner(ActorRornet)
在深层网络设计师,修改网络。例如,您可以向您的网络添加其他图层。修改网络时,请勿更改返回的网络的输入和输出层getModel.有关构建网络的更多信息,请参见使用深网络设计师构建网络.
getModel
要将修改的网络结构导出到MATLAB®工作区,请生成用于创建新网络的代码并从命令行运行此代码。请勿使用导出选项深层网络设计师.有关显示如何生成和运行代码的示例,请参阅使用深度网络设计器创建代理和使用图像观察训练.
对于此示例,用于创建修改的演员和批评网络的代码createModifiedNetworks.m.
createModifiedNetworks.m
CreateModifiedNetWorks.
每个修改过的网络都有一个附加的全康统计层和抵押者在他们的输出路径中。查看修改后的actor网络。
全康统计层
抵押者
情节(modifiedActorNet)
导出网络后,将网络插入到演员和评论家表示中。
演员= setModel(演员,modifiedActorNet);评论家= setModel(评论家,modifiedCriticNet);
最后,将修改过的参与者和批评者表示插入到参与者和批评者对象中。
代理= setAttor(代理,演员);代理= setcritic(代理商,批评者);
rlvalueerepresentation
rlqvalueerepresentation
RLDETerminyActorRepresentation
rlStochasticActorRepresentation
策略或值函数表示,指定为下列之一:
rlvalueerepresentation对象 - 值函数表示
rlqvalueerepresentation对象 - Q值函数表示
RLDETerminyActorRepresentationobject -具有确定性动作的Actor表示
rlStochasticActorRepresentation对象 - 带有随机行动的演员表示
要创建策略或值函数表示,请使用以下方法之一。
使用相应的表示对象创建表示。
从代理商使用中获取现有的值函数表示透镜.
透镜
使用。从代理获取现有策略表示工作者.
工作者
层
layerGraph
Dagnetwork.
dlnetwork.
rltable.
计算模型,指定为以下内容之一:
深度神经网络定义为数组层对象,AlayerGraph对象,ADagnetwork.对象,或者dlnetwork.对象。的输入和输出层模型必须具有与?返回的网络相同的名称和维度getModel同样的表示。这里,输出层是在输出损耗层之前的一层。
rltable.对象中定义的表模型具有相同的维度newRep.
1 × 2单元格数组,包含自定义基函数的函数句柄和基函数参数。
在指定新模型时,必须使用与已定义的模型相同类型的模型newRep.
笔记
对于有多个评论家的代理,如TD3和SAC代理,必须调用setmodel.为每个评论家代表单独,而不是调用setmodel.对于返回的数组透镜.
setmodel.
批评者= accritic(mytd3agent);%修改批评家网络。批评(1)= setModel(批评者(1),criticNet1);评论(2)= setModel(批评者(2),criticNet2);myTD3Agent = setCritic (myTD3Agent、批评);
新策略或value函数表示,返回为与相同类型的表示对象oldRep.除了新的计算模型,newRep是相同的oldRep.
工作者|透镜|getModel|setActor.|setcritic.
setActor.
setcritic.
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室