主要内容

透镜

获取钢筋学习代理人的批评奖学金

描述

例子

评论家= accritic(代理人返回指定的强化学习代理的批评识别对象。

例子

全部收缩

假设您拥有现有的培训钢筋学习代理。对于此示例,从培训的代理商加载火车DDPG代理控制双积分系统

加载('doupleintegddpg.mat''代理人'

从代理人那里获得批评者。

评论家=克罗里特(代理人);

从评论家获取学习参数。

Params = GetLearnableParameters(评论家);

修改参数值。对于此示例,简单地将所有参数乘以2

ModifiedParams = Cellfun(@(x)x * 2,params,'统一输出',错误的);

将批评的参数值设置为新的修改值。

评论家= setlearnableparameters(批评者,修改日明普);

将代理商设置为新修改的评论家。

代理= setcritic(代理商,批评者);

创建具有连续动作空间的环境,并获得其观察和操作规范。对于此示例,请加载示例中使用的环境火车DDPG代理控制双积分系统

加载预定义的环境。

Env = Rlpredefinedenv(“双凝胶组连续”
Env =双凝集器Continualaculeate

获得观察和行动规范。

ObsInfo = GetobservationInfo(ENV);Actinfo = GetActionInfo(Env);

从环境观测和动作规范中创建PPO代理。

代理= rlppoagent(Obsinfo,Actinfo);

要修改强化学习代理中的深神经网络,您必须首先提取演员和批评者表示。

Actor = GetAttor(代理);评论家=克罗里特(代理人);

从演员和批评者表示中提取深神经网络。

ACTORNET = GETMODEL(演员);批评= getModel(评论家);

要查看网络,请使用阴谋功能。例如,查看actor网络。

情节(ACTORNET)

图包含轴。轴包含Type Graphplot的对象。

您可以修改Actor和批评网络并将其保存回代理。要修改网络,您可以使用深网络设计师应用程序。要为每个网络打开应用程序,请使用以下命令。

DeepNetworkDesigner(批评)DeepNetworkDesigner(ActorRornet)

深网络设计师,修改网络。例如,您可以向您的网络添加其他图层。修改网络时,请勿更改返回的网络的输入和输出层GetModel.。有关建筑网络的更多信息,请参阅使用深网络设计师构建网络

要将修改的网络结构导出到MATLAB®工作区,请生成用于创建新网络的代码并从命令行运行此代码。请勿使用导出选项深网络设计师。有关显示如何生成和运行代码的示例,请参阅使用深度网络设计师和使用图像观察创建代理

对于此示例,用于创建修改的演员和批评网络的代码CreateModifiedNetWorks.m.

CreateModifiedNetWorks.

每个修改的网络都包括额外的网络全康统计层抵押者在他们的输出路径中。查看修改后的actor网络。

绘图(ModifiedActornet)

图包含轴。轴包含Type Graphplot的对象。

导出网络后,将网络插入演员和批评者表示。

Actor = SetModel(演员,ModifiedActornet);评论家= setmodel(评论家,修改克里米特);

最后,在演员和批评者中插入修改的演员和批评者表示。

代理= setAttor(代理,演员);代理= setcritic(代理商,批评者);

输入参数

全部收缩

包含批评者表示的强化学习代理,指定为以下之一:

输出参数

全部收缩

批评代表对象,作为以下内容之一返回:

  • rlvalueerepresentation对象 - 返回什么时候代理人是一个rlacagent.rlpgagent., 或者rlppoagent.目的

  • rlqvalueerepresentation对象 - 返回什么时候代理人是一个rlqagent.rlsarsaagent.rldqnagent.rlddpgagent., 或者rltd3agent.对象与单一评论家

  • 两个元素行矢量rlqvalueerepresentation对象 - 返回何时代理人是一个rltd3agent.或者rlsacagent.有两个批评者的对象

在R2019A介绍