文档帮助中心文档
从强化学习代理获得批判表示
评论家= getCritic(代理)
例子
评论家= getCritic (代理)返回指定强化学习代理的批判表示对象。
评论家= getCritic (代理)
评论家
代理
全部折叠
假设您有一个现有的经过训练的强化学习代理。对于本例,从下面加载经过训练的代理培训DDPG Agent控制双积分系统.
负载(“DoubleIntegDDPG.mat”,“代理”)
从代理获取批评家表示。
评论家= getCritic(代理);
从评论家那里获取可学习的参数。
params = getLearnableParameters(批评);
修改参数值。对于本例,只需将所有参数乘以2.
2
@(x) x*2,“UniformOutput”、假);
将批评家的参数值设置为修改后的值。
评论家= setLearnableParameters(评论家,modifiedParams);
将代理中的评论家设置为新的修改过的评论家。
代理= setCritic(代理、批评);
创造一个具有连续动作空间的环境,并获得其观察和动作规范。对于本示例,请加载示例中使用的环境培训DDPG Agent控制双积分系统.
加载预定义的环境。
env = rlPredefinedEnv (“DoubleIntegrator-Continuous”)
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(批评);
网络是dlnetwork对象。来查看它们情节函数时,必须将它们转换为layerGraph对象。
dlnetwork
情节
layerGraph
例如,查看参与者网络。
情节(layerGraph (actorNet))
要验证网络,请使用analyzeNetwork.例如,验证批评家网络。
analyzeNetwork
analyzeNetwork (criticNet)
您可以修改演员和评论家网络,并将它们保存回代理。如果要修改网络,可以使用深层网络设计师要打开每个网络的应用程序,使用以下命令。
deepNetworkDesigner (layerGraph (criticNet) deepNetworkDesigner (layerGraph (actorNet))
在深层网络设计师,修改网络。例如,您可以向网络添加额外的层。修改网络时,不要改变返回网络的输入和输出层getModel.有关构建网络的更多信息,请参见用深度网络设计器构建网络.
getModel
来验证修改后的网络深层网络设计师,你必须点击分析了dlnetwork下,分析部分。要将修改后的网络结构导出到MATLAB®工作空间,请生成用于创建新网络的代码,并从命令行运行此代码。不使用导出选项深层网络设计师.有关如何生成和运行代码的示例,请参见使用深度网络设计器创建代理和使用图像观察训练.
对于本例,创建修改过的参与者和批评者网络的代码在createModifiedNetworks.m.
createModifiedNetworks.m
createModifiedNetworks
每个修改过的网络都有一个附加的fullyConnectedLayer和reluLayer在输出路径中。查看修改后的角色网络。
fullyConnectedLayer
reluLayer
情节(modifiedActorNet)
导出网络后,将网络插入到演员和评论家表示中。
演员= setModel(演员,modifiedActorNet);评论家= setModel(评论家,modifiedCriticNet);
最后,将修改过的参与者和批评者表示插入到参与者和批评者对象中。
代理= setActor(代理、演员);代理= setCritic(代理、批评);
rlQAgent
rlSARSAAgent
rlDQNAgent
rlDDPGAgent
rlTD3Agent
rlPGAgent
rlACAgent
rlPPOAgent
rlSACAgent
包含批判表示的强化学习代理,指定为下列之一:
rlQAgent对象
rlSARSAAgent对象
rlDQNAgent对象
rlDDPGAgent对象
rlTD3Agent对象
rlACAgent对象
rlPPOAgent对象
rlSACAgent对象
rlPGAgent对象,该对象使用评论家估计基线值函数
rlValueRepresentation
rlQValueRepresentation
批评家表示对象,返回为以下情况之一:
rlValueRepresentationobject -返回时代理是一个rlACAgent,rlPGAgent,或rlPPOAgent对象
rlQValueRepresentationobject -返回时代理是一个rlQAgent,rlSARSAAgent,rlDQNAgent,rlDDPGAgent,或rlTD3Agent用一个批评家来反对
两个元素的行向量rlQValueRepresentationobjects -返回时代理是一个rlTD3Agent或rlSACAgent反对两个批评家
getActor|setActor|setCritic|getModel|setModel|getLearnableParameters|setLearnableParameters
getActor
setActor
setCritic
setModel
getLearnableParameters
setLearnableParameters
この例の変更されたバージョンがあります。編集された方の例を開きますか吗?
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してください。WebブラウザーはMATLABコマンドをサポートしていません。
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系