rlSACAgentOptions
描述
使用一个rlSACAgentOptions
对象为软actor-critic指定选项(SAC)代理。要创建一个囊剂,使用rlSACAgent
。
有关更多信息,请参见软Actor-Critic (SAC)代理。
更多信息在不同类型的强化学习代理,看看强化学习代理。
创建
属性
EntropyWeightOptions
- - - - - -熵调优选项
EntropyWeightOptions
对象
熵优化选项,指定为一个EntropyWeightOptions
具有以下属性的对象。
EntropyWeight
——初始熵组件的重量
1
(默认)|积极的标量
最初的熵组件重量,指定为一个积极的标量。
LearnRate
——优化学习速率
3的军医
(默认)|负的标量
优化学习速率,指定为负的标量。如果LearnRate
是零,EntropyWeight
在培训和价值是固定的TargetEntropy
值将被忽略。
TargetEntropy
——目标熵值
[]
(默认)|标量
调优目标熵值熵权,指定为一个标量。一个更高的目标熵值鼓励更多的探索。
如果你不指定TargetEntropy
,代理使用一个作为目标价值,一个是操作的数量。
算法
——熵算法来优化
“亚当”
(默认)|“个”
|“rmsprop”
算法来优化熵,指定为下列字符串之一。
“亚当”
——亚当优化器使用。您可以指定的衰变速率梯度和平方梯度移动平均线使用GradientDecayFactor
和SquaredGradientDecayFactor
的字段OptimizerParameters
选择。“个”
——使用随机梯度下降势头(个)优化器。您可以指定使用动量值动力
场的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
使用点符号。
选择= rlSACAgentOptions;opt.EntropyWeightOptions.OptimizerParameters。GradientDecayFactor = 0.95;
UseCriticTargetEntropy
- - - - - -选择使用熵的批评的目标
真正的
(默认)|假
选择使用熵的评论家目标,指定为一个真正的
(默认情况下,使用熵)或假
(不使用熵)。注意,这个选项不影响熵使用的演员。
例子:UseCriticTargetEntropy = false
PolicyUpdateFrequency
- - - - - -演员之间的步骤数量政策更新
1
(默认)|正整数
演员之间的步骤数量政策更新,指定为一个正整数。有关更多信息,请参见训练算法。
CriticUpdateFrequency
- - - - - -批评家之间的步骤数量更新
1
(默认)|正整数
批评家之间的步骤数量更新,指定为一个正整数。有关更多信息,请参见训练算法。
NumWarmStartSteps
- - - - - -行动之前更新的演员和评论家
正整数
行动之前更新的演员和批评,指定为一个正整数。默认情况下,NumWarmStartSteps
值等于MiniBatchSize
价值。
NumGradientStepsPerUpdate
- - - - - -梯度的步骤当更新演员和批评
1
(默认)|正整数
数量的梯度步骤时要进行更新的演员和批评,指定为一个正整数。
ActorOptimizerOptions
- - - - - -演员优化器选择
rlOptimizerOptions
对象
演员优化选项,指定为一个rlOptimizerOptions
对象。它允许您指定学习速率等演员的训练参数的估计值,梯度阈值,以及优化算法及其参数。有关更多信息,请参见rlOptimizerOptions
和rlOptimizer
。
CriticOptimizerOptions
- - - - - -评论家优化器选择
rlOptimizerOptions
对象
评论家优化选项,指定为一个rlOptimizerOptions
对象。它允许您指定训练参数的评论家接近者,如学习速率梯度阈值,以及优化算法及其参数。有关更多信息,请参见rlOptimizerOptions
和rlOptimizer
。
BatchDataRegularizerOptions
- - - - - -批量数据调整选项
[]
(默认)|rlConservativeQLearningOptions
对象|rlBehaviorCloningRegularizerOptions
对象
批处理数据调整选项,指定为一个rlConservativeQLearningOptions
或作为一个rlBehaviorCloningRegularizerOptions
对象。这些选项通常用于代理离线训练,从现有的数据。如果你离开这个选项空,使用不规范。
有关更多信息,请参见rlConservativeQLearningOptions
和rlBehaviorCloningRegularizerOptions
。
例子:opt.BatchDataRegularizerOptions = rlConservativeQLearningOptions (NumSampledActions = 20)
TargetSmoothFactor
- - - - - -平滑系数为目标评论家更新
1 e - 3
(默认)|积极的标量小于或等于1
平滑系数为目标评论家更新,指定为一个积极的标量小于或等于1。有关更多信息,请参见目标更新方法。
TargetUpdateFrequency
- - - - - -目标之间的步骤数目评论家更新
1
(默认)|正整数
目标的批评家之间的步骤数量更新,指定为一个正整数。有关更多信息,请参见目标更新方法。
ResetExperienceBufferBeforeTraining
- - - - - -选择清除缓冲区的经验
假
(默认)|真正的
选择清除缓冲区之前培训经验,指定为一个逻辑值。
SequenceLength
- - - - - -使用RNN时最大batch-training轨迹长度
1
(默认)|正整数
最大batch-training轨迹长度使用递归神经网络时,指定为一个正整数。这个值必须大于1
当使用递归神经网络1
否则。
MiniBatchSize
- - - - - -大小的随机mini-batch经验
64年
(默认)|正整数
大小的随机mini-batch经验,指定为一个正整数。在每次训练集,代理经验的随机样本经验缓冲区时计算梯度更新演员和批评。大型mini-batches减少方差计算梯度但增加计算工作量。
NumStepsToLookAhead
- - - - - -使用未来的奖励数量估计价值的政策
1
(默认)|正整数
使用未来的奖励数量估计的值政策,指定为一个正整数。有关更多信息,请参见[1],第7章。
ExperienceBufferLength
- - - - - -经验的缓冲区大小
10000年
(默认)|正整数
体验缓冲区大小,指定为一个正整数。在培训期间,代理计算更新使用mini-batch经历随机取样的缓冲区。
DiscountFactor
- - - - - -折现系数
0.99
(默认)|积极的标量小于或等于1
折现系数应用于未来的回报在训练,指定为一个积极的标量小于或等于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年。
版本历史
介绍了R2020bR2022a:仿真和部署:UseDeterministicExploitation
将被删除
房地产UseDeterministicExploitation
的rlSACAgentOptions
对象将被删除在将来的版本中。使用UseExplorationPolicy
的属性rlSACAgent
代替。
以前,你UseDeterministicExploitation
如下。
力代理总是选择最大似然的行动,从而使用贪婪的确定性的政策模拟和部署。
agent.AgentOptions。UseDeterministicExploitation = true;
允许代理选择其行动抽样概率分布仿真和政策部署,从而使用随机策略,探讨了观测空间。
agent.AgentOptions。UseDeterministicExploitation = false;
从R2022a开始,集UseExplorationPolicy
如下。
力代理总是选择最大似然的行动,从而使用贪婪的确定性的政策模拟和部署。
代理。UseExplorationPolicy = false;
允许代理选择其行动抽样概率分布仿真和政策部署,从而使用随机策略,探讨了观测空间。
代理。UseExplorationPolicy = true;
类似于UseDeterministicExploitation
,UseExplorationPolicy
只会影响仿真和部署;它不影响训练。
R2022a:默认值的ResetExperienceBufferBeforeTraining
属性改变了
默认值的ResetExperienceBufferBeforeTraining
已经从真正的
来假
。
当创建一个新的囊代理,如果你想清除缓冲区之前培训经验,您必须指定ResetExperienceBufferBeforeTraining
作为真正的
。例如,在训练之前,设置属性使用点符号。
agent.AgentOptions。ResetExperienceBufferBeforeTraining = true;
此外,您可以设置的属性真正的
在一个rlSACAgentOptions
对象,并使用这个对象创建囊剂。
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。