主要内容

generatePolicyFunction

生成MATLAB函数,评价代理人的政策或政策对象

自从R2019a

描述

这个函数生成一个MATLAB®政策评估函数,您可以使用:

  • 生成部署代码的目的使用MATLAB编码器™或GPU编码器™。有关更多信息,请参见部署训练强化学习策略

  • 模拟训练仿真软件代理金宝app®使用一个MATLAB函数(金宝app模型)块。

这个函数创建一个数据文件存储政策信息。评价函数加载这些数据文件正确初始化本身是第一次。

有关政策和价值函数的更多信息,请参阅创建政策和价值功能

例子

generatePolicyFunction (代理)创建一个函数来评估学习政策指定代理使用默认的函数名,政策名称和数据文件的名字。

generatePolicyFunction (政策)创建一个函数来评估学习的政策策略对象使用指定默认的函数名,政策名称和数据文件的名字。

例子

generatePolicyFunction (___,名称=值)指定了函数名、政策名称和数据使用一个或多个名称-值对参数文件名称。

例子

全部折叠

这个例子展示了如何创建一个PG代理政策评价函数。

首先,创建和培训强化学习代理。对于这个示例,加载PG代理培训火车PG代理Cart-Pole平衡系统

负载(“MATLABCartpolePG.mat”,“代理”)

然后,创建一个该代理政策评估函数使用默认名称。

generatePolicyFunction(代理);

这个命令创建evaluatePolicy.m文件,其中包含的政策功能,agentData.mat文件,其中包含深层神经网络训练的演员。

视图生成的函数。

类型evaluatePolicy.m
函数action1 = evaluatePolicy (observation1) % # codegen %强化学习工具箱%上生成:03 - mar - 2023 10:23:07持久的政策;如果isempty(政策)政策= coder.loadRLPolicy (“agentData.mat”);结束%评估政策action1 = getAction(政策,observation1);

为一个随机观察评估政策。

evaluatePolicy(兰德(agent.ObservationInfo.Dimension))
ans = 10

现在,您可以为这一政策函数生成代码使用MATLAB®编码器™。有关更多信息,请参见部署训练强化学习策略

您可以创建和培训政策对象在一个定制的培训循环或提取训练策略对象从一个训练有素的代理。

对于这个示例,加载PG代理培训火车PG代理Cart-Pole平衡系统,并提取其确定性(贪婪的)政策的使用getGreedyPolicy。或者,您可以提取随机策略使用getExplorationPolicy为探索,这将是有用的。

负载(“MATLABCartpolePG.mat”,“代理”)政策= getGreedyPolicy(代理)
政策= rlStochasticActorPolicy属性:演员:[1 x1 rl.function。rlDiscreteCategoricalActor] UseMaxLikelihoodAction: 1 ObservationInfo: [1 x1 rl.util。rlNumericSpec] ActionInfo: [1 x1 rl.util。rlFiniteSetSpec] SampleTime: 1

然后,创建一个政策评估函数这一政策使用默认名称。

generatePolicyFunction(政策);

这个命令创建evaluatePolicy.m文件,其中包含的政策功能,agentData.mat文件,其中包含深层神经网络训练的演员。

视图生成的函数。

类型evaluatePolicy.m
函数action1 = evaluatePolicy (observation1) % # codegen %强化学习工具箱%上生成:03 - mar - 2023 10:23:10持久的政策;如果isempty(政策)政策= coder.loadRLPolicy (“agentData.mat”);结束%评估政策action1 = getAction(政策,observation1);

为一个随机观察评估政策。

evaluatePolicy(兰德(policy.ObservationInfo.Dimension))
ans = 10

现在,您可以为这一政策函数生成代码使用MATLAB®编码器™。有关更多信息,请参见部署训练强化学习策略

这个例子展示了如何创建一个政策评价函数q学习的代理。

对于这个示例,负载q学习代理的培训强化学习培训代理基本网格的世界

负载(“basicGWQAgent.mat”,“qAgent”)

创建一个政策评估函数对该代理并指定代理数据文件的名称。

generatePolicyFunction (qAgent“MATFileName”,“policyFile.mat”)

这个命令创建evaluatePolicy.m文件,其中包含的政策功能,policyFile.mat文件,其中包含训练Q表值函数。

视图生成的函数。

类型evaluatePolicy.m
函数action1 = evaluatePolicy (observation1) % # codegen %强化学习工具箱%上生成:05 - 2022年5月——17:43:27持久的政策;如果isempty(政策)政策= coder.loadRLPolicy (“policyFile.mat”);结束%评估政策action1 = getAction(政策,observation1);

为一个随机观察评估政策。

evaluatePolicy (randi (25)
ans = 3

现在,您可以为这一政策函数生成代码使用MATLAB®编码器™。有关更多信息,请参见部署训练强化学习策略

输入参数

全部折叠

强化学习培训代理,指定为以下代理对象之一。要训练你的代理,可以使用火车函数。

代理和一个随机的演员(PG、PPO、囊、TRPO AC),返回的行动生成函数的值取决于政策UseExplorationPolicy房地产代理的。默认情况下,UseExplorationPolicy和生成的行动是确定的。如果UseExplorationPolicy真正的,行动是随机生成的。

强化学习政策,指定为以下对象之一:

请注意

rlAdditiveNoisePolicyrlEpsilonGreedyPolicy政策不支持对象。金宝app

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:FunctionName = " computeAction "

生成的函数的名称,指定为字符串或字符向量。

政策对象中生成的函数名称,指定为字符串或字符向量。

生成的数据文件名称,指定为字符串或字符向量。如果一个指定名称的文件已经存在于当前的MATLAB文件夹,然后添加一个适当的数字名称,这样不覆盖现有文件。

生成的数据文件包含四个结构存储数据所需的充分描述政策。评价函数加载这些数据文件正确初始化本身是第一次。

版本历史

介绍了R2019a

全部展开