rlSACAgentOptions
SAC代理选项
描述
使用一个rlSACAgentOptions
对象指定软actor-critic (SAC)代理的选项。要创建SAC代理,请使用rlSACAgent
.
有关更多信息,请参见软演员-评论家代理.
有关不同类型的强化学习代理的更多信息,请参见强化学习代理.
创建
属性
EntropyWeightOptions
- - - - - -熵调优选项
EntropyWeightOptions
对象
熵优化选项,指定为EntropyWeightOptions
具有以下属性的对象。
EntropyWeight
-初始熵分量权重
1
(默认)|正标量
初始熵分量权重,指定为正标量。
LearnRate
-优化学习率
3的军医
(默认)|非负标量
优化器学习率,指定为非负标量。如果LearnRate
等于0EntropyWeight
值在训练期间是固定的TargetEntropy
Value被忽略。
TargetEntropy
-目标熵值
[]
(默认)|标量
用于调优熵权重的目标熵值,指定为标量。更高的目标熵值鼓励更多的探索。
如果您没有指定TargetEntropy
时,代理使用-一个为目标值,其中一个是动作的数量。
算法
-优化熵的算法
“亚当”
(默认)|“个”
|“rmsprop”
优化熵的算法,指定为以下字符串之一。
“亚当”
-使用Adam优化器。函数指定梯度移动平均和平方梯度移动平均的衰减率GradientDecayFactor
而且SquaredGradientDecayFactor
字段OptimizerParameters
选择。“个”
-使用随机梯度下降与动量(SGDM)优化器。方法指定动量值动力
字段OptimizerParameters
选择。“rmsprop”
-使用RMSProp优化器。函数指定梯度移动平均平方的衰减率SquaredGradientDecayFactor
字段OptimizerParameters
选择。
有关这些优化器的详细信息,请参见随机梯度下降在深度学习工具箱™。
GradientThreshold
—梯度阈值
正
(默认)|正标量
熵梯度的阈值,指定为正
或者一个正标量。如果梯度超过这个值,梯度就会被剪切。
OptimizerParameters
-优化器适用参数
OptimizerParameters
对象
优化器的适用参数,指定为OptimizerParameters
使用以下参数创建。默认参数值适用于大多数问题。
参数 | 描述 | 默认的 |
---|---|---|
动力 |
上一步的贡献,指定为从0到1的标量。值为0表示上一步没有贡献。值为1表示最大贡献。 仅当 |
0.9 |
ε |
分母偏移量,指定为正标量。优化器将此偏移量添加到网络参数更新中的分母中,以避免除零。 仅当 |
1 e-8 |
GradientDecayFactor |
梯度移动平均的衰减率,指定为从0到1的正标量。 仅当 |
0.9 |
SquaredGradientDecayFactor |
梯度移动平均的平方衰减率,指定为从0到1的正标量。 仅当 |
0.999 |
的特定属性时OptimizerParameters
中指定的优化器类型不适用算法
选项,该属性被设置为“不适用”
.
的属性可更改默认值OptimizerParameters
使用点表示法。
opt = rlSACAgentOptions;opt.EntropyWeightOptions.OptimizerParameters.GradientDecayFactor = 0.95;
PolicyUpdateFrequency
- - - - - -参与者策略更新之间的步数
1
(默认)|正整数
参与者策略更新之间的步数,指定为正整数。有关更多信息,请参见训练算法.
CriticUpdateFrequency
- - - - - -评论家更新之间的步数
1
(默认)|正整数
评论家更新之间的步数,指定为正整数。有关更多信息,请参见训练算法.
NumWarmStartSteps
- - - - - -在更新演员和评论家之前要采取的行动数量
正整数
在更新参与者和评论家之前要采取的操作数,指定为正整数。默认情况下,NumWarmStartSteps
Value等于MiniBatchSize
价值。
NumGradientStepsPerUpdate
- - - - - -更新演员和评论家时的渐变步骤数
1
(默认)|正整数
更新参与者和评论家时采用的渐变步骤数,指定为正整数。
ActorOptimizerOptions
- - - - - -角色优化器选项
rlOptimizerOptions
对象
对象优化器选项,指定为rlOptimizerOptions
对象。它允许您指定角色逼近器的训练参数,如学习率、梯度阈值,以及优化器算法及其参数。有关更多信息,请参见rlOptimizerOptions
而且rlOptimizer
.
CriticOptimizerOptions
- - - - - -评论家优化选项
rlOptimizerOptions
对象
评论家优化器选项,指定为rlOptimizerOptions
对象。它允许您指定临界逼近器的训练参数,如学习率,梯度阈值,以及优化器算法及其参数。有关更多信息,请参见rlOptimizerOptions
而且rlOptimizer
.
TargetSmoothFactor
- - - - - -平滑因子的目标评论家更新
1 e - 3
(默认)|小于等于1的正标量
目标评论家更新的平滑因子,指定为小于或等于1的正标量。有关更多信息,请参见目标更新方法.
TargetUpdateFrequency
- - - - - -目标评论家更新之间的步数
1
(默认)|正整数
目标批评家更新之间的步数,指定为正整数。有关更多信息,请参见目标更新方法.
ResetExperienceBufferBeforeTraining
- - - - - -清除经验缓冲区的选项
真正的
(默认)|假
用于在培训之前清除经验缓冲区的选项,指定为逻辑值。
SequenceLength
- - - - - -使用RNN时的最大批量训练轨迹长度
1
(默认)|正整数
使用循环神经网络时的最大批量训练轨迹长度,指定为正整数。此值必须大于1
当使用循环神经网络时1
否则。
MiniBatchSize
- - - - - -随机经验小批量的大小
64
(默认)|正整数
随机经验小批的大小,指定为正整数。在每一集训练中,智能体在计算梯度以更新演员和评论家时,从经验缓冲区中随机抽取经验。大的小批量在计算梯度时减少了方差,但增加了计算工作量。
NumStepsToLookAhead
- - - - - -用于评估保单价值的未来奖励数目
1
(默认)|正整数
用于估计策略价值的未来奖励数目,指定为正整数。更多信息请参见[1],第7章。
注意,如果并行训练被启用(即如果一个rlTrainingOptions
选项对象中的UseParallel
属性设置为真正的
传递给火车
),那么NumStepsToLookAhead
必须设置为1
,否则产生错误。这保证了体验是连续存储的。
.
ExperienceBufferLength
- - - - - -经验缓冲大小
10000
(默认)|正整数
经验缓冲区大小,指定为正整数。在训练过程中,智能体使用从缓冲区随机采样的一小批经验计算更新。
DiscountFactor
- - - - - -折现系数
0.99
(默认)|小于等于1的正标量
折扣因子应用于培训期间的未来奖励,指定为小于或等于1的正标量。
对象的功能
rlSACAgent |
软演员-评论家强化学习代理 |
例子
创建SAC代理选项对象
创建一个SAC代理选项对象,指定折扣因子。
opt = rlSACAgentOptions(“DiscountFactor”, 0.95)
属性:EntropyWeightOptions: [1x1 rl.option. option.]EntropyWeightOptions] PolicyUpdateFrequency: 1 CriticUpdateFrequency: 1 NumWarmStartSteps: 64 NumGradientStepsPerUpdate: 1 ActorOptimizerOptions: [1x1 rl.option.rlOptimizerOptions] CriticOptimizerOptions: [1x2 rl.option.rlOptimizerOptions] TargetSmoothFactor: 1.0000e-03 TargetUpdateFrequency: 1 ResetExperienceBufferBeforeTraining: 1 SequenceLength: 1 MiniBatchSize: 64 NumStepsToLookAhead: 1 ExperienceBufferLength: 10000 SampleTime: 1 DiscountFactor: 0.9500 InfoToSave: [1x1 struct]
可以使用点表示法修改选项。例如,设置代理采样时间为0.5
.
opt.SampleTime = 0.5;
对于SAC代理,使用中的选项配置熵权优化器EntropyWeightOptions
.例如,将目标熵值设置为5
.
opt.EntropyWeightOptions.TargetEntropy = -5;
参考文献
[1]萨顿,理查德S和安德鲁g巴托。强化学习:简介.第二版。自适应计算与机器学习。马萨诸塞州剑桥:麻省理工学院出版社,2018年。
版本历史
R2020b中介绍R2022a:仿真与部署:UseDeterministicExploitation
将被移除
房地产UseDeterministicExploitation
的rlSACAgentOptions
对象将在将来的版本中删除。使用UseExplorationPolicy
的属性rlSACAgent
代替。
之前,你设置了UseDeterministicExploitation
如下。
强制代理总是选择具有最大可能性的操作,从而使用贪婪确定性策略进行模拟和部署。
agent.AgentOptions.UseDeterministicExploitation = true;
允许智能体通过采样其概率分布来选择其行为,以进行模拟和策略部署,从而使用探索观察空间的随机策略。
agent.AgentOptions.UseDeterministicExploitation = false;
从R2022a开始,设置UseExplorationPolicy
如下。
强制代理总是选择具有最大可能性的操作,从而使用贪婪确定性策略进行模拟和部署。
代理。UseExplorationPolicy = false;
允许智能体通过采样其概率分布来选择其行为,以进行模拟和策略部署,从而使用探索观察空间的随机策略。
代理。UseExplorationPolicy = true;
类似于UseDeterministicExploitation
,UseExplorationPolicy
仅影响模拟和部署;这不会影响训练。
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。