setCritic
描述
例子
评论家修改参数值
假设您有一个现有的训练强化学习代理。对于这个示例,加载训练有素的代理火车DDPG剂来控制双积分器系统。
负载(“DoubleIntegDDPG.mat”,“代理”)
从代理获得评论家函数近似者。
评论家= getCritic(代理);
获得评论家的可学的参数。
params = getLearnableParameters(批评)
params =2×1单元阵列{[-4.9869 -1.5577 -0.3351 -0.1097 -0.0444 7.5240 e-04]} {[0]}
修改参数值。对于这个示例,简单地将所有的参数乘以2
。
modifiedParams = cellfun (@ x * 2 (x),参数,“UniformOutput”、假);
评论家的参数值设置为新修改的值。
评论家= setLearnableParameters(评论家,modifiedParams);
设置代理新修改的评论家的批评。
setCritic(代理、评论家);
显示新的参数值。
getLearnableParameters (getCritic(代理)
ans =2×1单元阵列{[-9.9737 -3.1153 -0.6702 -0.2194 -0.0888 0.0015]}{[0]}
在强化学习修改深层神经网络代理
创造一个环境,一个连续的操作空间和获得其观察和操作规范。对于这个示例,负载在示例中使用的环境火车DDPG剂来控制双积分器系统。
负载预定义的环境。
env = rlPredefinedEnv (“DoubleIntegrator-Continuous”);
获得观察和操作规范。
obsInfo = getObservationInfo (env);actInfo = getActionInfo (env);
创建PPO代理从环境中观察和操作规范。该代理使用默认深层神经网络的演员和评论家。
代理= rlPPOAgent (obsInfo actInfo);
修改强化学习中的深层神经网络代理,您必须首先提取演员和评论家函数近似者。
演员= getActor(代理);评论家= getCritic(代理);
从演员和提取深层神经网络评论家函数近似者。
actorNet = getModel(演员);criticNet = getModel(批评);
网络是dlnetwork
对象。查看使用情节
功能,您必须将它们转换为layerGraph
对象。
例如,查看演员网络。
情节(layerGraph (actorNet))
验证一个网络,使用analyzeNetwork
。例如,验证网络评论家。
analyzeNetwork (criticNet)
您可以修改演员和评论家网络和拯救他们回代理。修改网络,您可以使用深层网络设计师为每个网络应用。打开应用程序,使用下面的命令。
deepNetworkDesigner (layerGraph (criticNet) deepNetworkDesigner (layerGraph (actorNet))
在深层网络设计师,修改网络。例如,您可以添加额外的层网络。当你修改网络,不改变网络的输入和输出层返回的getModel
。建立网络的更多信息,见构建网络与深度网络设计师。
验证修改后的网络深层网络设计师,你必须点击分析了dlnetwork下,分析部分。出口MATLAB®工作区中修改后的网络结构,生成代码来创建新网络和从命令行运行这段代码。不使用导出选项深层网络设计师。为例,展示了如何生成并运行代码,看看创建DQN代理使用深层网络设计师和训练使用图像的观察。
对于这个示例,创建的代码修改的演员和评论家网络createModifiedNetworks
辅助脚本。
createModifiedNetworks
每个网络包括一个额外的修改fullyConnectedLayer
和reluLayer
在他们的主要常见的路径。查看修改后的演员网络。
情节(layerGraph (modifiedActorNet))
出口网络后,网络插入演员和评论家函数近似者。
演员= setModel(演员,modifiedActorNet);评论家= setModel(评论家,modifiedCriticNet);
最后,将修改后的演员兼评论家函数近似者插入到演员和批评的对象。
代理= setActor(代理、演员);代理= setCritic(代理、批评);
输入参数
代理
- - - - - -强化学习代理
强化学习代理对象
评论家
- - - - - -评论家
rlValueFunction
对象|rlQValueFunction
对象|rlVectorQValueFunction
对象|双元素的行向量rlQValueFunction
对象
批评对象,指定为以下之一:
rlValueFunction
对象——返回当代理
是一个rlACAgent
,rlPGAgent
,或rlPPOAgent
对象。rlQValueFunction
对象——返回当代理
是一个rlQAgent
,rlSARSAAgent
,rlDQNAgent
,rlDDPGAgent
,或rlTD3Agent
对象用一个评论家。rlVectorQValueFunction
对象——返回当代理
是一个rlQAgent
,rlSARSAAgent
,rlDQNAgent
、对象与一个离散的行动空间,向量核反应能量函数评论家。双元素的行向量
rlQValueFunction
对象——返回当代理
是一个rlTD3Agent
或rlSACAgent
对象有两个评论家。
输出参数
版本历史
介绍了R2019a
打开举例
你们possedez一个版本modifiee de cet(中央东部东京)为例。Souhaitez-vous打开cet(中央东部东京)为例用vos修改吗?
对MATLAB
你们有派对在联合国留置权,对应这个对MATLAB:
倒实行la对saisissez-la在fenetre德对MATLAB。Les navigateurs web不sup金宝appportent Les MATLAB命令。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。