主要内容

rlTD3AgentOptions

TD3代理的选项

描述

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

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

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

创建

描述

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

例子

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

属性

全部展开

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

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

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

opt = rlTD3AgentOptions;opt.ExplorationModel.StandardDeviation = [0.1 0.2];opt.ExplorationModel.StandardDeviationDecayRate = 1e-4;

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

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

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

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

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

opt = rlTD3AgentOptions;opt. targetpolicyysmoothmodel . standard - deviation = [0.1 0.2];opt. targetpolicyysmoothmodel . standarddeviationdecayrate = 1e-4;

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

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

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

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

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

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

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

随机经验小批的大小,指定为正整数。在每次训练过程中,智能体在计算梯度以更新批评属性时,从经验缓冲区中随机抽取经验。大的小批量在计算梯度时减少了方差,但增加了计算工作量。

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

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

经验缓冲区大小,指定为正整数。在训练过程中,智能体使用从缓冲区随机采样的一小批经验计算更新。

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

在Simulink金宝app中®环境中,RL代理块,在其中指定代理执行每个SampleTime秒模拟时间。如果SampleTime-1,块从它的父子系统继承采样时间。

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

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

对象的功能

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

例子

全部折叠

本示例展示如何创建TD3代理选项对象。

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

opt = rlTD3AgentOptions(“MiniBatchSize”48)
属性:ExplorationModel: [1x1 rl.option. opt = rlTD3AgentOptionsGaussianActionNoise] TargetPolicySmoothModel: [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中引入

全部展开