文档帮助中心
创建函数评估训练策略的强化学习代理
generatePolicyFunction(代理)
generatePolicyFunction(代理、名称、值)
例子
generatePolicyFunction (代理)创建一个函数来评估学习政策指定代理使用默认的功能,政策,和数据文件名称。生成政策评估功能后,您可以:
generatePolicyFunction (代理)
代理
使用生成代码的函数MATLAB®编码器™或GPU编码器™。有关更多信息,请参见部署训练强化学习策略。
模拟训练仿真软件代理金宝app®使用一个MATLAB函数(金宝app模型)块。
generatePolicyFunction (代理,名称,值)指定了函数,政策,和数据使用一个或多个名称-值对参数文件名。
generatePolicyFunction (代理,名称,值)
名称,值
全部折叠
这个例子展示了如何创建一个PG代理政策评价函数。
首先,创建和培训强化学习代理。对于这个示例,加载PG代理培训火车PG代理Cart-Pole平衡系统:
负载(“MATLABCartpolePG.mat”,“代理”)
然后,创建一个该代理政策评估函数使用默认的名字:
generatePolicyFunction(代理);
这个命令创建evaluatePolicy.m文件,其中包含的政策功能,agentData.mat文件,其中包含深层神经网络训练的演员。
evaluatePolicy.m
agentData.mat
视图生成的函数。
类型evaluatePolicy.m
函数action1 = evaluatePolicy (observation1) % # codegen %强化学习工具箱%上生成:30 - 11月- 2020年16:52:07 actionSet = -10 [10];%从抽样概率概率选择行动= localEvaluate (observation1);%概率p =概率(:)的正常化/总和(概率);%确定哪些操作边缘= min ([0 cumsum (p)], 1);边(结束)= 1;[~,actionIndex] = histc(兰德(1,1),边);% #好< HISTC > action1 = actionSet (actionIndex);结束% %本地函数函数概率= localEvaluate (observation1)持续的政策如果isempty(政策)政策= coder.loadDeepLearningNetwork (“agentData.mat”、“政策”);结束observation1 = observation1 (:);概率=预测(政策、observation1); end
对于一个给定的观察,每个潜在的政策功能评估概率使用演员网络行动。然后,政策根据这些概率函数随机选择一个行动。
因为演员这个PG代理网络只有一个输入层和输出层,您可以生成代码使用深度学习工具箱™网络一代的功能。有关更多信息,请参见部署训练强化学习策略。
这个例子展示了如何创建一个政策评价函数q学习的代理。
对于这个示例,负载q学习代理的培训强化学习培训代理基本网格的世界
负载(“basicGWQAgent.mat”,“qAgent”)
创建一个政策评估函数对该代理并指定代理数据文件的名称。
generatePolicyFunction (qAgent“MATFileName”,“policyFile.mat”)
这个命令创建evaluatePolicy.m文件,其中包含的政策功能,policyFile.mat文件,其中包含训练Q表值函数。
policyFile.mat
函数action1 = evaluatePolicy (observation1) % # codegen %强化学习工具箱%上生成:30 - 11月- 2020年16:52:09 actionSet = (1; 2; 3; 4);numActions =元素个数(actionSet);q = 0 (1、numActions);i = 1: numActions问(我)= localEvaluate (observation1, actionSet(我));结束[~,actionIndex] = max (q);action1 = actionSet (actionIndex);结束% %本地函数函数q = localEvaluate (observation1、动作)持续的政策如果isempty(政策)s = coder.load (“policyFile.mat”、“政策”);政策= s.policy;结束actionSet = (1; 2; 3; 4);observationSet = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12、13、14、15、16、17、18、19、20、21、22、23、24、25); actionIndex = rl.codegen.getElementIndex(actionSet,action); observationIndex = rl.codegen.getElementIndex(observationSet,observation1); q = policy(observationIndex,actionIndex); end
对于一个给定的观察,政策函数查找值函数使用Q表为每一个潜在的行动。然后,政策函数选择的行动值函数是最大的。
您可以生成代码政策功能使用MATLAB®编码器™
有关更多信息,请参见部署训练强化学习策略
强化学习培训代理,指定为以下之一:
rlQAgent对象
rlQAgent
rlSARSAAgent对象
rlSARSAAgent
rlDDPGAgent对象
rlDDPGAgent
rlTD3Agent对象
rlTD3Agent
rlACAgent对象
rlACAgent
rlPGAgent对象,估计基线值函数使用一个评论家
rlPGAgent
因为深度学习工具箱™代码生成和预测功能不支持深层神经网络有超过一个输入层,金宝appgeneratePolicyFunction不支持以下代理的配金宝app置。
generatePolicyFunction
对于DQN代理与深层神经网络评论家表示
任何代理与深层神经网络演员或评论家表示有多个观察输入层
请注意
DQN代理与多输出支持深层神经网络表示金宝appgeneratePolicyFunction,网络只有一个输入层的观察。
要训练你的代理,可以使用火车函数。
火车
指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家。
的名字
价值
Name1, Value1,…,的家
“FunctionName”、“computeAction”
“FunctionName”
“evaluatePolicy”
生成的函数的名称,指定为组成的名称-值对“FunctionName”和一个字符串或字符向量。
“PolicyName”
“政策”
政策变量在生成的函数名称,指定为组成的名称-值对“PolicyName”和一个字符串或字符向量。
“MATFileName”
“agentData”
代理数据文件名称,指定为组成的名称-值对“MATFileName”和一个字符串或字符向量。
这个例子的修改版本存在于你的系统。你想打开这个版本呢?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
选择一个网站
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室
得到审判现在