文档帮助中心文档
设置策略或值函数表示的计算模型
newRep = setModel (oldRep模型)
例子
newRep= setModel (oldRep,模型)返回一个新的策略或值函数表示形式,newRep,具有与原始表示法相同的配置,oldRep的计算模型模型.
newRep= setModel (oldRep,模型)
newRep
oldRep
模型
全部折叠
创建一个连续动作空间的环境,并获得其观察和操作规范。对于这个例子,在加载示例中使用的环境培训DDPG Agent控制双积分系统.
加载预定义的环境。
env = rlPredefinedEnv (“DoubleIntegrator,连续”)
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(演员);criticNet = getModel(评论家);
要查看网络,请使用情节功能。例如,查看网络的演员。
情节
图(actorNet)
您可以修改演员和评论家网络,并将它们保存回代理。如果要修改网络,可以使用深网络设计师要打开每个网络的应用程序,使用以下命令。
deepNetworkDesigner (criticNet) deepNetworkDesigner (actorNet)
在深网络设计师,修改网络。例如,您可以向网络添加额外的层。修改网络时,不要改变返回网络的输入和输出层getModel.有关构建网络的详细信息,请参阅用深度网络设计器构建网络.
getModel
要将修改后的网络结构导出到MATLAB®工作空间,请生成用于创建新网络的代码,并从命令行运行此代码。不使用导出选项深网络设计师.有关如何生成和运行代码的示例,请参见创建代理使用Deep网络设计者和火车站使用图像观察.
对于本例,创建修改过的参与者和批评者网络的代码在createModifiedNetworks.m.
createModifiedNetworks.m
createModifiedNetworks
各改性网络包括附加的fullyConnectedLayer和reluLayer在输出路径中。查看修改后的角色网络。
fullyConnectedLayer
reluLayer
图(modifiedActorNet)
导出网络后,插入网络到演员和评论家表示。
演员=则setModel(演员,modifiedActorNet);评论家=则setModel(评论家,modifiedCriticNet);
最后,插入演员和评论家的对象修改后的演员和评论家表示。
代理= setActor(代理、演员);代理= setCritic(代理、批评);
rlValueRepresentation
rlQValueRepresentation
rlDeterministicActorRepresentation
rlstochastorrepresentation
政策或值函数表示,指定为以下情况之一:
rlValueRepresentation对象-值函数表示
rlQValueRepresentation对象- q值函数表示
rlDeterministicActorRepresentation对象 - 具有确定性的动作演员表现
rlstochastorrepresentation随机动作的对象-行动者表示
要创建一个策略或价值函数表示,使用下列方法之一。
使用相应的表现对象创建的表示。
使用。从代理获取现有值函数表示getCritic.
getCritic
使用获得的代理现行的政策表示getActor.
getActor
层
layerGraph
DAGNetwork
dlnetwork
rlTable
计算模型,指定为下列之一:
定义为一个阵列深层神经网络层对象,layerGraph对象,DAGNetwork对象,或dlnetwork目的。的输入和输出层模型必须具有相同的名称,尺寸等返回的网络getModel对于相同的表示。在此,输出层是输出损耗层之前紧接在层。
rlTable具有相同尺寸的对象定义表中的模型newRep.
1×2单元阵列,它包含一个自定义的基函数和基函数的参数的函数的手柄。
在指定新模型时,必须使用与在newRep.
请注意
对于不止一位评论家剂,如TD3和SAC代理,则必须调用setModel每个评论家表示单独,而不是调用setModel返回的数组getCritic.
setModel
批评者= getCritic (myTD3Agent);%修改评论家网络。评论家(1)=则setModel(评论家(1),criticNet1);评论家(2)=则setModel(评论家(2),criticNet2);myTD3Agent = setCritic(myTD3Agent,评论家);
新的策略或值函数表示,返回为与oldRep.除了新的计算模型,newRep是一样的oldRep.
getActor|getCritic|getModel|setActor|setCritic
setActor
setCritic
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系