主要内容

rlSACAgentOptions

囊剂的选择

自从R2020b

描述

使用一个rlSACAgentOptions对象为软actor-critic指定选项(SAC)代理。要创建一个囊剂,使用rlSACAgent

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

更多信息在不同类型的强化学习代理,看看强化学习代理

创建

描述

选择= rlSACAgentOptions时对象作为参数创建一个选项创建一个囊剂使用所有默认选项。您可以修改对象属性使用点符号。

例子

选择= rlSACAgentOptions (名称,值)设置选项属性使用名称-值对。例如,rlSACAgentOptions (DiscountFactor, 0.95)创建一个选项设定的折现系数0.95。您可以指定多个名称-值对。在报价附上每个属性的名字。

属性

全部展开

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

最初的熵组件重量,指定为一个积极的标量。

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

调优目标熵值熵权,指定为一个标量。一个更高的目标熵值鼓励更多的探索。

如果你不指定TargetEntropy,代理使用一个作为目标价值,一个是操作的数量。

算法来优化熵,指定为下列字符串之一。

  • “亚当”——亚当优化器使用。您可以指定的衰变速率梯度和平方梯度移动平均线使用GradientDecayFactorSquaredGradientDecayFactor的字段OptimizerParameters选择。

  • “个”——使用随机梯度下降势头(个)优化器。您可以指定使用动量值动力场的OptimizerParameters选择。

  • “rmsprop”——RMSProp优化器使用。您可以指定的衰变率的平方梯度移动平均使用SquaredGradientDecayFactor的字段OptimizerParameters选择。

对这些优化器的更多信息,见随机梯度下降法在深入学习工具箱™。

熵梯度阈值,指定为或积极的标量。如果梯度超过这个值,梯度是剪。

适用的优化参数,指定为一个OptimizerParameters对象使用以下参数。默认参数值适合大多数问题。

参数 描述 默认的
动力

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

这个参数只适用于当优化器“个”

0.9
ε

分母抵消,指定为一个积极的标量。优化器添加这个抵消分母在网络参数更新以避免除零。

这个参数只适用于当优化器“亚当”“rmsprop”

1 e-8
GradientDecayFactor

衰变的速度梯度移动平均,指定为一个积极的标量从0到1。

这个参数只适用于当优化器“亚当”

0.9
SquaredGradientDecayFactor

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

这个参数只适用于当优化器“亚当”“rmsprop”

0.999

当一个特定的属性OptimizerParameters不适用于优化器中指定的类型算法选项,属性设置为“不适用”

改变默认值,访问的属性OptimizerParameters使用点符号。

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

选择使用熵的评论家目标,指定为一个真正的(默认情况下,使用熵)或(不使用熵)。注意,这个选项不影响熵使用的演员。

例子:UseCriticTargetEntropy = false

演员之间的步骤数量政策更新,指定为一个正整数。有关更多信息,请参见训练算法

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

行动之前更新的演员和批评,指定为一个正整数。默认情况下,NumWarmStartSteps值等于MiniBatchSize价值。

数量的梯度步骤时要进行更新的演员和批评,指定为一个正整数。

演员优化选项,指定为一个rlOptimizerOptions对象。它允许您指定学习速率等演员的训练参数的估计值,梯度阈值,以及优化算法及其参数。有关更多信息,请参见rlOptimizerOptionsrlOptimizer

评论家优化选项,指定为一个rlOptimizerOptions对象。它允许您指定训练参数的评论家接近者,如学习速率梯度阈值,以及优化算法及其参数。有关更多信息,请参见rlOptimizerOptionsrlOptimizer

批处理数据调整选项,指定为一个rlConservativeQLearningOptions或作为一个rlBehaviorCloningRegularizerOptions对象。这些选项通常用于代理离线训练,从现有的数据。如果你离开这个选项空,使用不规范。

有关更多信息,请参见rlConservativeQLearningOptionsrlBehaviorCloningRegularizerOptions

例子:opt.BatchDataRegularizerOptions = rlConservativeQLearningOptions (NumSampledActions = 20)

平滑系数为目标评论家更新,指定为一个积极的标量小于或等于1。有关更多信息,请参见目标更新方法

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

选择清除缓冲区之前培训经验,指定为一个逻辑值。

最大batch-training轨迹长度使用递归神经网络时,指定为一个正整数。这个值必须大于1当使用递归神经网络1否则。

大小的随机mini-batch经验,指定为一个正整数。在每次训练集,代理经验的随机样本经验缓冲区时计算梯度更新演员和批评。大型mini-batches减少方差计算梯度但增加计算工作量。

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

体验缓冲区大小,指定为一个正整数。在培训期间,代理计算更新使用mini-batch经历随机取样的缓冲区。

样本代理的时候,作为一个积极的标量或指定1。设置这个参数1支持基于事件的模拟。

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

在MATLAB®环境中,代理执行每一次进步的环境。在这种情况下,SampleTime之间的时间间隔连续元素返回的输出的经验吗sim卡火车。如果SampleTime1之间的时间间隔连续元素返回的输出经验反映了事件触发代理执行的时机。

折现系数应用于未来的回报在训练,指定为一个积极的标量小于或等于1。

对象的功能

rlSACAgent 软actor-critic (SAC)强化学习代理

例子

全部折叠

创建一个囊剂的选择对象,指定折扣因素。

选择= rlSACAgentOptions (DiscountFactor = 0.95)
选择= rlSACAgentOptions属性:EntropyWeightOptions: [1 x1 rl.option。EntropyWeightOptions] UseCriticTargetEntropy: 1 PolicyUpdateFrequency: 1 CriticUpdateFrequency: 1 NumWarmStartSteps: 64 NumGradientStepsPerUpdate: 1 ActorOptimizerOptions: [1x1 rl.option.rlOptimizerOptions] CriticOptimizerOptions: [1x2 rl.option.rlOptimizerOptions] BatchDataRegularizerOptions: [] TargetSmoothFactor: 1.0000e-03 TargetUpdateFrequency: 1 ResetExperienceBufferBeforeTraining: 0 SequenceLength: 1 MiniBatchSize: 64 NumStepsToLookAhead: 1 ExperienceBufferLength: 10000 SampleTime: 1 DiscountFactor: 0.9500 InfoToSave: [1x1 struct]

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

opt.SampleTime = 0.5;

囊代理、配置熵权优化器使用的选项EntropyWeightOptions。例如,设置目标熵值5

opt.EntropyWeightOptions。TargetEntropy = 5;

引用

[1]萨顿,理查德·S。,安德鲁·g·Barto。强化学习:介绍。第二版。自适应计算和机器学习。剑桥:麻省理工学院出版社,2018年。

版本历史

介绍了R2020b

全部展开