主要内容

rlSACAgentOptions

SAC特工的选择

描述

使用一个rlSACAgentOptions对象指定软演员评论(SAC)代理的选项。要创建SAC特工,请使用rlSACAgent

有关更多信息,请参见软Actor-Critic代理

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

创建

描述

选择= rlSACAgentOptions使用所有默认选项创建SAC代理时,创建选项对象用作参数。您可以使用点表示法修改对象属性。

例子

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

属性

全部展开

熵优化选项,指定为EntropyWeightOptions对象的以下属性。

初始熵分量权值,指定为一个正标量。

优化器学习率,指定为非负标量。如果LearnRate是零,EntropyWeight价值是固定的在培训和TargetEntropy值将被忽略。

针对调整熵权重的目标熵值,指定为标量。更高的目标熵值鼓励更多的探索。

如果没有指定TargetEntropy,代理使用-一个为目标值,其中一个是行动的次数。

用于熵调优的优化器,指定为以下字符串之一。

  • “亚当”-使用亚当优化器。可以指定梯度和平方梯度移动平均的衰减率GradientDecayFactorSquaredGradientDecayFactor田野的领域优化器参数选项。

  • “个”-使用随机梯度下降与动量(SGDM)优化器。可以使用。指定动量值动力场的优化器参数选项。

  • “rmsprop”—使用RMSProp优化器。您可以指定衰减速率的平方梯度移动平均使用SquaredGradientDecayFactor田野的领域优化器参数选项。

有关这些优化器的更多信息,请参见随机梯度下降在深度学习工具箱™中。

熵梯度的阈值,指定为INF.或者一个正标量。如果渐变超过这个值,渐变将被裁剪。

可用于优化器的参数,指定为优化器参数对象,其参数如下。默认参数值对于大多数问题都很有效。

参数 描述 默认的
动力

上一步的贡献,指定为从0到1的标量。值为0表示前一步没有贡献。值为1表示最大贡献。

该参数仅适用于以下情况优化器“个”

0.9
ε

分母偏移量,指定为正标量。优化器将这个偏移量加到网络参数更新中的分母上,以避免被零除掉。

该参数仅适用于以下情况优化器“亚当”要么“rmsprop”

1 e-8
GradientDecayFactor

梯度移动平均的衰减率,指定为从0到1的一个正标量。

该参数仅适用于以下情况优化器“亚当”

0.9
SquaredGradientDecayFactor

平方梯度移动平均的衰减率,指定为从0到1的一个正标量。

该参数仅适用于以下情况优化器“亚当”要么“rmsprop”

0.999

当一个特殊的性质优化器参数不适用于所指定的优化器类型优化器选项时,该属性将被设置为“不适用”

要更改默认值,请访问属性优化器参数使用点符号。

选择= rlSACAgentOptions;opt.EntropyWeightOptions.OptimizerParameters.GradientDecayFactor = 0.95;

参与者策略更新之间的步骤数,指定为正整数。有关更多信息,请参见训练算法

评论家更新之间的步骤数,指定为正整数。有关更多信息,请参见训练算法

目标批读更新之间的步数,指定为正整数。有关更多信息,请参见目标更新方法

选项以返回最大可能性用于模拟和策略生成的最大可能性,指定为逻辑值。当UseDeterministicExploitation被设置为真的,始终使用最大可能性的动作sim卡generatePolicyFunction,镇静代理人的表现形式。

UseDeterministicExploitation被设置为时,代理从概率分布中抽样行为,使代理表现为随机行为。

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

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

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

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

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

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

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

试剂的采样时间,指定为正标量。

在一个模型万博1manbetx®环境中,代理被执行SampleTime模拟时间的秒数。

在Matlab中®环境,代理每次环境进步时都会执行。然而,SampleTime是输出体验中连续元素之间的时间间隔sim卡要么火车

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

在保存代理时保存经验缓冲区数据的选项,指定为逻辑值。此选项适用于在培训期间保存候选代理以及使用保存函数。

对于某些代理,例如具有大经验缓冲区和基于图像的观察的代理,节省其体验缓冲区所需的内存大。在这种情况下,不保存体验缓冲区数据,设置SaveExperienceBufferWithAgent

如果您计划进一步列出已保存的代理,您可以使用以前的经验缓冲区作为起点开始培训。在这种情况下,设置SaveExperienceBufferWithAgent真的

在更新参与者和批评者之前要采取的操作数,指定为正整数。默认情况下,numwarmstartsteps.值等于MiniBatchSize价值。

当更新参与者和批评者时要采取的梯度步骤数,指定为正整数。

对象的功能

rlSACAgent 软演员-评论家强化学习代理

例子

全部折叠

创建一个SAC代理选项对象,指定折扣因子。

选择= rlSACAgentOptions (“DiscountFactor”, 0.95)
[1x1 rl.option.] [1x1 rl.option.]EntropyWeightOptions] PolicyUpdateFrequency: 1 CriticUpdateFrequency: 1 NumWarmStartSteps: 64 NumGradientStepsPerUpdate: 1 UseDeterministicExploitation: 0 TargetSmoothFactor: 1.0000e-03 TargetUpdateFrequency: 1 ResetExperienceBufferBeforeTraining: 1 SaveExperienceBufferWithAgent: 0 SequenceLength: 1 MiniBatchSize: 64 NumStepsToLookAhead: 1 ExperienceBufferLength: 10000 SampleTime: 1 DiscountFactor: 0.9500

您可以使用点符号修改选项。例如,将代理示例时间设置为0.5

opt.SampleTime = 0.5;

对于SAC Agent,使用选项配置熵权优化器EntropyWeightOptions。例如,将目标熵值设置为5

opt.EntropyWeightOptions.TargetEntropy = 5;

参考

Richard S. Sutton和Andrew G. Barto。强化学习:简介。第二版。自适应计算与机器学习。剑桥,质量:2018年的麻省理工学院新闻。

另请参阅

介绍了R2020b