文档帮助中心文档
设置策略或值函数表示的计算模型
newRep = setModel (oldRep模型)
例子
newrep.= setModel (oldrep.,模型)返回一个新的策略或值函数表示形式,newrep.,具有与原始表示法相同的配置,oldrep.的计算模型模型.
newrep.= setModel (oldrep.,模型)
newrep.
oldrep.
模型
全部折叠
创建具有连续动作空间的环境,并获得其观察和操作规范。对于此示例,请加载示例中使用的环境培训DDPG Agent控制双积分系统.
加载预定义的环境。
env = rlPredefinedEnv (“双凝胶组连续”)
env = DoubleIntegratorContinuousAction with properties: Gain: 1 Ts: 0.1000 MaxDistance: 5 GoalThreshold: 0.0100 Q: [2x2 double] R: 0.0100 MaxForce: Inf State: [2x1 double]
获得观察和行动规范。
ObsInfo = GetobservationInfo(ENV);Actinfo = GetActionInfo(Env);
根据环境观察和行动规范创建PPO代理。
代理= rlPPOAgent (obsInfo actInfo);
要修改强化学习代理中的深神经网络,您必须首先提取演员和批评者表示。
演员= getActor(代理);评论家= getCritic(代理);
从演员和评论家的表征中提取深度神经网络。
ACTORNET = GETMODEL(演员);批评= getModel(评论家);
网络是dlnetwork对象。来查看它们情节函数时,必须将它们转换为分层图对象。
dlnetwork
情节
分层图
例如,查看actor网络。
情节(layerGraph (actorNet))
要验证网络,请使用analyzeNetwork.例如,验证批评网络。
analyzeNetwork
analyzeNetwork (criticNet)
您可以修改演员和评论家网络,并将它们保存回代理。如果要修改网络,可以使用深层网络设计师要打开每个网络的应用程序,使用以下命令。
DeepNetWorkDesigner(LayerGraph(批评))DeepNetWorkDesigner(层图(ActorRounet))
在深层网络设计师,修改网络。例如,您可以向网络添加额外的层。修改网络时,不要改变返回网络的输入和输出层GetModel..有关建筑网络的更多信息,请参阅用深度网络设计器构建网络.
GetModel.
验证修改的网络深层网络设计师,您必须点击分析DLNETWORK.下,分析部分。要将修改的网络结构导出到MATLAB®工作区,请生成用于创建新网络的代码并从命令行运行此代码。请勿使用导出选项深层网络设计师.有关如何生成和运行代码的示例,请参见使用深度网络设计师和使用图像观察创建代理.
对于本例,创建修改过的参与者和批评者网络的代码在CreateModifiedNetWorks.m..
CreateModifiedNetWorks.m.
createModifiedNetworks
每个修改的网络都包括额外的网络fullyConnectedLayer和reluLayer在输出路径中。查看修改后的角色网络。
fullyConnectedLayer
reluLayer
绘图(ModifiedActornet)
导出网络后,将网络插入演员和批评者表示。
Actor = SetModel(演员,ModifiedActornet);评论家= setmodel(评论家,修改克里米特);
最后,在演员和批评者中插入修改的演员和批评者表示。
代理= setActor(代理、演员);代理= setCritic(代理、批评);
rlValueRepresentation
rlQValueRepresentation
rlDeterministicActorRepresentation
rlstochastorrepresentation
策略或value函数表示,指定为以下之一:
rlValueRepresentation对象-值函数表示
rlQValueRepresentation对象- q值函数表示
rlDeterministicActorRepresentation对象 - 具有确定性行动的演员表示
rlstochastorrepresentation随机动作的对象-行动者表示
要创建策略或value函数表示,请使用以下方法之一。
使用相应的表示对象创建表示。
使用。从代理获取现有值函数表示getCritic.
getCritic
使用代理商使用的现有策略表示getActor.
getActor
层
DAGNetwork
rlTable
计算模型,指定为下列之一:
深神经网络定义为一系列层对象,分层图对象,DAGNetwork对象,或dlnetwork目的。输入和输出层模型必须具有与网络返回的网络相同的名称和维度GetModel.对于同一表示。这里,输出层是在输出损耗层之前立即的层。
rlTable具有与所定义的表模型相同尺寸的对象newrep..
1-by-2单元阵列,包含自定义基本函数的函数句柄和基本函数参数。
在指定新模型时,必须使用与在newrep..
请注意
对于具有多个评论家的代理商,如TD3和SAC代理商,您必须致电setModel为每个批评者单独表示,而不是致电setModel返回的数组getCritic.
setModel
批评者= getCritic (myTD3Agent);%修改批评网络。批评者(1)= SetModel(批评者(1),批评1);批评者(2)= SetModel(批评者(2),批评者2);mytd3agent = setcritic(mytd3agent,批评者);
新的策略或值函数表示,返回为与oldrep..除了新的计算模型,newrep.是一样的oldrep..
getActor|setActor|getCritic|setCritic|GetModel.
setActor
setCritic
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系