主要内容

rlDeterministicActorPolicy

策略对象为自定义生成连续的确定性行为训练循环和应用程序部署

自从R2022a

    描述

    这个对象实现了一个确定的政策,这将返回给定一个输入连续的确定性行为的观察。您可以创建一个rlDeterministicActorPolicy对象从一个rlContinuousDeterministicActor从一个或提取它rlDDPGAgentrlTD3Agent。你可以训练策略对象使用自定义训练循环或将它部署您的应用程序使用generatePolicyBlockgeneratePolicyFunction。这一政策总是确定性和不执行任何勘探。有关政策和价值函数的更多信息,请参阅创建政策和价值功能

    创建

    描述

    例子

    政策= rlDeterministicActorPolicy (演员)创建策略对象确定的演员政策从连续确定的演员演员。它还设置了演员的属性政策的输入参数演员

    属性

    全部展开

    连续确定的演员,指定为一个rlContinuousDeterministicActor对象。

    观测规范,指定为一个rlFiniteSetSpecrlNumericSpec对象或类对象数组。这些对象定义属性,如尺寸,数据类型和观测通道的名称。

    动作规范,指定为一个rlNumericSpec对象。这个对象定义环境行动通道的属性,如尺寸,数据类型和名称。

    请注意

    只有一个动作频道是被允许的。

    样的政策,作为一个积极的标量或指定1(默认)。设置这个参数1支持基于事件的模拟。

    在一个模型万博1manbetx®环境中,RL代理块中执行每一个指定的政策SampleTime秒的仿真时间。如果SampleTime1块继承了样本时间从母公司子系统。

    在MATLAB®环境中,政策执行每一次进步的环境。在这种情况下,SampleTime之间的时间间隔连续元素输出经验。如果SampleTime1,样品时间视为等于1

    例子:0.2

    对象的功能

    generatePolicyBlock 生成万博1manbetx块,评估一个代理的政策或政策对象
    generatePolicyFunction 生成MATLAB函数,评价代理人的政策或政策对象
    getAction 从代理,获得动作演员,或政策对象环境的观察
    getLearnableParameters 从代理,获得可学的参数值函数近似者,或政策对象
    重置 重置环境、代理经验缓冲区,或政策对象
    setLearnableParameters 设置代理可学的参数值,函数近似者,或政策对象

    例子

    全部折叠

    对象创建的观察和操作规范。对于本例,观察和行动空间定义为连续四次和二维空间,分别。

    obsInfo = rlNumericSpec (1 [4]);2 actInfo = rlNumericSpec ([1]);

    另外,使用getObservationInfogetActionInfo提取规范对象从一个环境

    创建一个连续确定的演员。这演员必须接受一个观察作为输入,并返回一个行动作为输出。

    近似策略函数中的演员,使用神经网络模型。层对象的网络定义为一个数组,并观察和行动空间的维数从环境规范的对象。

    层= [featureInputLayer (obsInfo.Dimension (1) fullyConnectedLayer (16) reluLayer fullyConnectedLayer (actInfo.Dimension (1)));

    网络转换为一个dlnetwork对象和显示权重的数量。

    模型= dlnetwork(层);总结(模型)
    初始化:可学的真正的数字:114输入:1“输入”4特性

    创建一个演员使用模型,观察和操作规范。

    演员= rlContinuousDeterministicActor(模型、obsInfo actInfo)
    演员= rlContinuousDeterministicActor属性:ObservationInfo: [1 x1 rl.util。rlNumericSpec] ActionInfo: [1 x1 rl.util。rlNumericSpec] UseDevice:“cpu”

    检查演员与一个随机观测输入。

    行动= getAction(演员,{兰德(obsInfo.Dimension)});行为{1}
    ans =2 x1单一列向量0.4013 - 0.0578

    创建一个策略对象演员

    政策= rlDeterministicActorPolicy(演员)
    政策= rlDeterministicActorPolicy属性:演员:[1 x1 rl.function。rlContinuousDeterministicActor] ObservationInfo: [1 x1 rl.util。rlNumericSpec] ActionInfo: [1 x1 rl.util。rlNumericSpec] SampleTime: 1

    检查策略和一个随机观察输入。

    行动= getAction(政策,{兰德(obsInfo.Dimension)});行为{1}
    ans =2×10.4313 - -0.3002

    你现在可以循环培训政策与一个定制的培训,然后将其部署到您的应用程序。

    版本历史

    介绍了R2022a