rlPGAgent

策略梯度强化学习代理

描述

策略梯度(PG)算法是一种无模型的、在线的、基于策略的强化学习方法。PG代理是一种基于策略的强化学习代理,它直接计算出长期回报最大化的最优策略。

有关PG代理的详细信息,请参阅政策梯度代理

对于学习代理不同类型的增强的详细信息,请参阅强化学习代理

创建

描述

代理人= rlPGAgent(演员创建具有指定演员网络PG剂。默认情况下,UseBaseline该试剂的属性是在这种情况下。

代理人= rlPGAgent(演员评论家使用指定的参与者和评论家网络创建PG代理。默认情况下,UseBaseline选项真正的在这种情况下。

代理人= rlPGAgent(___agentOptions创建一个PG剂,并设置AgentOptions属性。

输入参数

展开全部

参与者网络表示,指定为rlStochasticActorRepresentation。有关创建演员表示的更多信息,请参阅创建策略和价值功能交涉

网络表示,指定为rlValueRepresentation宾语。有关创建评论家表示的更多信息,请参阅创建策略和价值功能交涉

属性

展开全部

代理选项,指定为rlPGAgentOptions宾语。

对象函数

培养 在指定的环境中培养了强化学习剂
SIM卡 在指定的环境中模拟训练的强化学习代理
getActor 从强化学习代理中得到行为表征
setActor 集合角色表示的强化学习代理
getCritic 从强化学习代理人获取评论家表示
setCritic 强化学习剂套装评论家表示
generatePolicyFunction 创建评估强化学习代理的训练策略的函数

例子

全部收缩

创建一个环境接口。

%加载预定义环境ENV = rlPredefinedEnv(“DoubleIntegrator-Discrete”);%得到观察和规格信息obsInfo = getObservationInfo(ENV);actInfo = getActionInfo(ENV);

创建一个评论家表示作为基准来使用。

创建一个网络作为潜在的评论家近似baselineNetwork = [imageInputLayer([obsInfo.Dimension(1)1 1],'正常化''没有''名称''州')fullyConnectedLayer (8,'名称''BaselineFC')reluLayer('名称'“CriticRelu1”)fullyConnectedLayer(1,'名称''BaselineFC2''BiasLearnRateFactor',0)];%设置一些选项的评论家baselineOpts = rlRepresentationOptions('LearnRate',5 e - 3,'GradientThreshold',1);%创建一个基于网络的逼近评论家基线= rlValueRepresentation(baselineNetwork,obsInfo,“观察”,{'州'},baselineOpts);

创建一个演员表示。

%创建网络以用作演员逼近底层actorNetwork = [imageInputLayer([obsInfo.Dimension(1)1 1],'正常化''没有''名称''州')fullyConnectedLayer(numel(actInfo.Elements),'名称''行动''BiasLearnRateFactor',0)];%设置一些选项为演员actorOpts = rlRepresentationOptions('LearnRate',5 e - 3,'GradientThreshold',1);%创建一个基于网络的逼近演员演员= rlStochasticActorRepresentation(actorNetwork,obsInfo,actInfo,...“观察”,{'州'},actorOpts);

指定代理选项,并使用环境、参与者和批评者创建PG代理。

agentOpts = rlPGAgentOptions(...'UseBaseline',真正,...'DiscountFactor',0.99);代理= rlPGAgent(演员、基线、agentOpts)
agent = rlPGAgent with properties: AgentOptions: [1x1 rl.option.rlPGAgentOptions]

要检查你的代理,使用的getAction从随机观察返回的动作。

的getAction(代理,{兰特(2,1)})
ANS = -2

现在,您可以测试和训练剂危害环境。

介绍了在R2019a