主要内容

getModel

从策略或值函数表示获取计算模型

    描述

    例子

    模型= getModel (代表返回策略或值函数表示所使用的计算模型代表

    例子

    全部折叠

    创造一个具有连续动作空间的环境,并获得其观察和动作规范。对于本示例,请加载示例中使用的环境培训DDPG Agent控制双积分系统

    加载预定义的环境。

    env = rlPredefinedEnv (“DoubleIntegrator-Continuous”
    env = DoubleIntegratorContinuousAction with properties: Gain: 1 Ts: 0.1000 MaxDistance: 5 GoalThreshold: 0.0100 Q: [2x2 double] R: 0.0100 MaxForce: Inf State: [2x1 double]

    获得观察和行动规范。

    obsInfo = getObservationInfo (env);actInfo = getActionInfo (env);

    根据环境观察和行动规范创建PPO代理。

    代理= rlPPOAgent (obsInfo actInfo);

    为了修改强化学习代理内部的深度神经网络,你必须首先提取行动者和批评者的表征。

    演员= getActor(代理);评论家= getCritic(代理);

    从演员和评论家的表征中提取深度神经网络。

    actorNet = getModel(演员);criticNet = getModel(批评);

    要查看网络,请使用情节函数。例如,查看参与者网络。

    情节(actorNet)

    图中包含一个坐标轴。坐标轴包含一个graphplot类型的对象。

    您可以修改演员和评论家网络,并将它们保存回代理。如果要修改网络,可以使用深层网络设计师要打开每个网络的应用程序,使用以下命令。

    deepNetworkDesigner (criticNet) deepNetworkDesigner (actorNet)

    深层网络设计师,修改网络。例如,您可以向网络添加额外的层。修改网络时,不要改变返回网络的输入和输出层getModel.有关构建网络的更多信息,请参见用深度网络设计器构建网络

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

    对于本例,创建修改过的参与者和批评者网络的代码在createModifiedNetworks.m

    createModifiedNetworks

    每个修改过的网络都有一个附加的fullyConnectedLayerreluLayer在输出路径中。查看修改后的角色网络。

    情节(modifiedActorNet)

    图中包含一个坐标轴。坐标轴包含一个graphplot类型的对象。

    导出网络后,将网络插入到演员和评论家表示中。

    演员= setModel(演员,modifiedActorNet);评论家= setModel(评论家,modifiedCriticNet);

    最后,将修改过的参与者和批评者表示插入到参与者和批评者对象中。

    代理= setActor(代理、演员);代理= setCritic(代理、批评);

    输入参数

    全部折叠

    策略或值函数表示,指定为下列之一:

    要创建策略或值函数表示,请使用以下方法之一:

    • 使用相应的表示对象创建表示。

    • 使用。从代理获取现有值函数表示getCritic

    • 使用。从代理获取现有策略表示getActor

    请注意

    对于有多个评论家的代理,如TD3和SAC代理,必须调用getModel为每个评论家代表单独,而不是调用getModel返回的数组getCritic

    批评者= getCritic (myTD3Agent);criticNet1 = getModel(批评者(1));criticNet2 = getModel(批评者(2));

    输出参数

    全部折叠

    计算模型,返回如下其中之一:

    • 深度神经网络定义为DAGNetwork对象

    • rlTable对象

    • 1 × 2单元格数组,包含自定义基函数的函数句柄和基函数参数

    介绍了R2020b