主要内容

重置

重置环境、代理、经验缓冲区或策略对象

    描述

    例子

    initialObs=重置(env重置指定的MATLAB®环境恢复到初始状态,并返回得到的初始观察值。

    不要使用重置对于仿真软件®环境,在运行新模拟时隐式重置。方法自定义重置行为ResetFcn环境的属性。

    例子

    重置(代理重置指定的代理。重置内置代理将执行以下操作(如果适用)。

    • 空缓冲区的经验。

    • 设置演员和评论家网络的循环神经网络状态为零。

    • 重置代理使用的任何噪声模型的状态。

    代理=重置(代理还将重置代理作为输出参数返回。

    例子

    resetPolicy=重置(政策返回策略对象。resetPolicy其中任一循环神经网络状态设为零,任一噪声模型状态设为初始条件。如果策略对象不使用循环神经网络,也没有带状态的噪声模型,则此语法没有效果。

    例子

    重置(缓冲通过删除所有的经验,重置指定的重播记忆缓冲区。

    例子

    全部折叠

    创造一个强化的学习环境。对于本例,创建一个连续时间的车-杆系统。

    env = rlPredefinedEnv (“CartPole-Continuous”);

    重置环境并返回初始观测结果。

    initialObs =重置(env)
    initialObs =4×10 0 0.0315 0

    建立观察和行动规范。

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

    使用这些规范创建一个默认DDPG代理。

    initOptions = rlAgentInitializationOptions (UseRNN = true);代理= rlDDPGAgent (obsInfo actInfo initOptions);

    重启代理。

    代理=重置(代理);

    建立观察和行动规范。

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

    创建一个回放记忆体验缓冲区。

    缓冲= rlReplayMemory (obsInfo actInfo 10000);

    向缓冲区添加经验。对于本例,添加20个随机体验。

    i = 1:20 expBatch(i)。观察= {obsInfo.UpperLimit。*兰德(4,1)};expBatch(我)。Action = {actInfo.UpperLimit。*兰德(1,1)};expBatch(我)。NextObservation = {obsInfo.UpperLimit。*兰德(4,1)};expBatch(我)。奖励= 10 *兰德(1);expBatch(我)。结束= 0;结束expBatch(20)。结束= 1;追加(缓冲区,expBatch);

    重置并清除缓冲区。

    重置(缓冲)

    建立观察和行动规范。

    obsInfo = rlNumericSpec([4 1]);actInfo = rlFiniteSetSpec([-1 0 1]);

    为了近似临界内的q值函数,使用深度神经网络。创建每个网络路径作为层对象的数组。

    %创建路径obsPath = [featureInputLayer(4) fulllyconnectedlayer (1,Name= .“obsout”));actPath = [featureInputLayer(1) fulllyconnectedlayer (1,Name= .“actout”));comPath = [additionLayer(2名=“添加”...fullyConnectedLayer (1)];%添加层网= layerGraph;网= addLayers(净,obsPath);网= addLayers(净,actPath);网= addLayers(净,comPath);网= connectLayers(网络,“obsout”“添加/三机一体”);网= connectLayers(网络,“actout”“添加/ in2”);%转换为dlnetwork对象网= dlnetwork(净);%显示权重的数量总结(净)
    可学习数:9 input: 1' input' 4 features 2 'input_1' 1 features

    使用q值函数逼近器创建一个贪婪的策略对象。

    评论家= rlQValueFunction(网,obsInfo, actInfo);政策= rlEpsilonGreedyPolicy(批评)
    QValueFunction: [1x1 rl.function. policy = rlEpsilonGreedyPolicy。rlQValueFunction] ExplorationOptions: [1x1 rl.option.]epsilongreedyaction: 1 EnableEpsilonDecay: 1 ObservationInfo: [1x1 rl.util.]rlNumericSpec] ActionInfo: [1x1 rl.util.]rlFiniteSetSpec] SampleTime: 1

    重置政策。

    =重置政策(政策);

    输入参数

    全部折叠

    强化学习环境,指定为以下对象之一。

    强化学习代理,指定为下列对象之一。

    请注意

    代理是句柄对象,因此无论是否作为输出参数返回,它都将被重置。有关句柄对象的更多信息,请参见处理对象的行为

    经验缓冲,指定为rlReplayMemoryrlPrioritizedReplayMemory对象。

    输出参数

    全部折叠

    重置后的初始环境观测,返回为以下之一:

    • 阵列,其尺寸与具有单一观测通道的环境的观测规范相匹配。

    • 对于具有多个观测通道的环境,长度等于观测通道数量的单元阵列。单元阵列的每个元素都包含一个数组,其尺寸与环境观测规范的相应元素相匹配。

    重置策略,作为相同类型的策略对象返回代理但它的循环神经网络状态设为零。

    重置代理,作为代理对象返回。请注意,代理句柄对象。因此,如果它包含任何递归神经网络,则其状态是否重置代理是否作为输出参数返回。有关句柄对象的更多信息,请参见处理对象的行为

    版本历史

    介绍了R2022a

    另请参阅

    ||

    Baidu
    map