主要内容

rlTD3AgentOptions

TD3代理选项

描述

使用一个rlTD3AgentOptions对象指定双延迟深度确定性策略梯度(TD3)代理的选项。要创建TD3代理,请使用rlTD3Agent

有关更多信息,请参见双延迟深度确定性策略梯度代理

有关不同类型的强化学习代理的更多信息,请参见强化学习代理

创建

描述

选择= rlTD3AgentOptions创建一个options对象,以便在使用所有默认选项创建TD3代理时作为参数使用。可以使用点表示法修改对象属性。

例子

选择= rlTD3AgentOptions (名称,值设置选项属性使用名称-值对。例如,rlTD3AgentOptions (DiscountFactor, 0.95)创建贴现因子为的选项集0.95.可以指定多个名称-值对。将每个属性名用引号括起来。

属性

全部展开

噪声模型选项,指定为GaussianActionNoise对象或一个OrnsteinUhlenbeckActionNoise对象。有关噪声模型的更多信息,请参见噪声模型

对于具有多个动作的智能体,如果动作的范围和单位不同,很可能每个动作需要不同的噪声模型参数。如果动作的范围和单位相似,可以将所有动作的噪声参数设置为相同的值。

例如,对于具有两个动作的代理,将每个动作的标准差设置为不同的值,同时对两个标准差使用相同的衰减率。

选择= rlTD3AgentOptions;opt.ExplorationModel.StandardDeviation = [0.1 0.2];opt.ExplorationModel.StandardDeviationDecayRate = 1的军医;

要使用Ornstein-Uhlenbeck动作噪声,首先创建一个默认值OrnsteinUhlenbeckActionNoise对象。然后,使用点表示法指定任何非默认模型属性。

选择= rlTD3AgentOptions;opt.ExplorationModel = rl.option.OrnsteinUhlenbeckActionNoise;opt.ExplorationModel.StandardDeviation = 0.05;

目标平滑噪声模型选项,指定为GaussianActionNoise对象。该模型帮助策略利用具有高q值估计的动作。有关噪声模型的更多信息,请参见噪声模型

对于具有多个动作的agent,如果动作的范围和单位不同,很可能每个动作需要不同的平滑噪声模型参数。如果动作的范围和单位相似,可以将所有动作的噪声参数设置为相同的值。

例如,对于具有两个动作的代理,将每个动作的标准差设置为不同的值,同时对两个标准差使用相同的衰减率。

选择= rlTD3AgentOptions;opt. targetpolicyysmoothmodel . standard deviation = [0.1 0.2];opt.TargetPolicySmoothModel.StandardDeviationDecayRate = 1的军医;

策略更新之间的步骤数,指定为正整数。

参与者优化器选项,指定为rlOptimizerOptions对象。它允许您指定actor近似器的训练参数,如学习率,梯度阈值,以及优化器算法及其参数。有关更多信息,请参见rlOptimizerOptions而且rlOptimizer

批评家优化器选项,指定为rlOptimizerOptions对象。它允许您指定临界逼近器的训练参数,如学习率,梯度阈值,以及优化器算法及其参数。有关更多信息,请参见rlOptimizerOptions而且rlOptimizer

用于目标参与者和批评家更新的平滑因子,指定为小于或等于1的正标量。有关更多信息,请参见目标更新方法

目标参与者和批评家更新之间的步骤数,指定为正整数。有关更多信息,请参见目标更新方法

用于在训练前清除经验缓冲区的选项,指定为一个逻辑值。

使用循环神经网络时的最大批训练轨迹长度,指定为正整数。该值必须大于1当使用循环神经网络和1否则。

随机经验小批量的大小,指定为正整数。在每一个训练集中,agent在计算更新评价属性的梯度时,从经验缓冲区中随机抽样经验。在计算梯度时,大的小批量减少了方差,但增加了计算工作量。

用于估计策略值的未来奖励数,指定为正整数。有关更多信息,请参见[1],第7章。

注意,如果启用了并行训练(即如果一个rlTrainingOptions选项对象中的UseParallel属性设置为真正的传递给火车),那么NumStepsToLookAhead必须设置为1,否则将提示错误。这保证了经验是连续存储的。

经验缓冲区大小,指定为正整数。在训练期间,代理使用从缓冲区随机抽样的小批经验计算更新。

代理的采样时间,指定为正标量或-1.将此参数设置为-1允许基于事件的模拟。

在一个模型®环境中,RL代理块,指定代理在其中执行SampleTime秒模拟时间。如果SampleTime-1,该块从其父子系统继承采样时间。

在MATLAB®在环境中,每当环境前进时,都会执行代理。在这种情况下,SampleTime是否返回输出经验中连续元素之间的时间间隔sim卡火车.如果SampleTime-1,返回的输出经验中连续元素之间的时间间隔反映了触发代理执行的事件的时间。

折扣因子应用于训练期间的未来奖励,指定为小于或等于1的正标量。

对象的功能

rlTD3Agent 双延迟深度确定性策略梯度强化学习代理

例子

全部折叠

这个例子展示了如何创建TD3代理选项对象。

创建一个rlTD3AgentOptions对象,该对象指定小批处理大小。

选择= rlTD3AgentOptions (“MiniBatchSize”48)
ExplorationModel: [1x1 rl.option. properties]targetpolicyysmoothmodel: [1x1 rl.option.]GaussianActionNoise] PolicyUpdateFrequency: 2 ActorOptimizerOptions: [1x1 rl.option.rlOptimizerOptions] CriticOptimizerOptions: [1x2 rl.option.rlOptimizerOptions] TargetSmoothFactor: 0.0050 TargetUpdateFrequency: 2 ResetExperienceBufferBeforeTraining: 1 SequenceLength: 1 MiniBatchSize: 48 NumStepsToLookAhead: 1 ExperienceBufferLength: 10000 SampleTime: 1 DiscountFactor: 0.9900 InfoToSave: [1x1 struct]

可以使用点表示法修改选项。例如,将代理采样时间设置为0.5

opt.SampleTime = 0.5;

算法

全部展开

参考文献

[1]萨顿,理查德S.和安德鲁G.巴托。强化学习:导论.第二版。自适应计算与机器学习。马萨诸塞州剑桥:麻省理工学院出版社,2018。

版本历史

介绍了R2020a

全部展开

Baidu
map