rlDDPGAgentOptions
描述
使用一个rlDDPGAgentOptions
对象指定选项深决定性策略梯度(DDPG)代理。创建一个DDPG代理,使用rlDDPGAgent
。
有关更多信息,请参见深决定性策略梯度(DDPG)代理。
更多信息在不同类型的强化学习代理,看看强化学习代理。
创建
属性
NoiseOptions
- - - - - -噪声模型的选择
OrnsteinUhlenbeckActionNoise
对象
噪声模型选项,指定为一个OrnsteinUhlenbeckActionNoise
对象。关于噪声模型的更多信息,请参阅噪声模型。
代理与多个操作,如果操作有不同的范围和单位,每个操作可能需要不同的噪声模型参数。如果有类似的行为范围和单位,你可以设置噪声参数为所有操作相同的值。
例如,代理的两个动作,每个动作到另一个值的标准偏差时使用相同的衰变率两个标准差。
选择= rlDDPGAgentOptions;opt.NoiseOptions。StandardDeviation = (0.1 - 0.2);opt.NoiseOptions。StandardDeviationDecayRate = 1的军医;
ActorOptimizerOptions
- - - - - -演员优化器选择
rlOptimizerOptions
对象
演员优化选项,指定为一个rlOptimizerOptions
对象。它允许您指定学习速率等演员的训练参数的估计值,梯度阈值,以及优化算法及其参数。有关更多信息,请参见rlOptimizerOptions
和rlOptimizer
。
CriticOptimizerOptions
- - - - - -评论家优化器选择
rlOptimizerOptions
对象
评论家优化选项,指定为一个rlOptimizerOptions
对象。它允许您指定训练参数的评论家接近者,如学习速率梯度阈值,以及优化算法及其参数。有关更多信息,请参见rlOptimizerOptions
和rlOptimizer
。
BatchDataRegularizerOptions
- - - - - -批量数据调整选项
[]
(默认)|rlBehaviorCloningRegularizerOptions
对象
批处理数据调整选项,指定为一个rlBehaviorCloningRegularizerOptions
对象。这些选项通常用于代理离线训练,从现有的数据。如果你离开这个选项空,使用不规范。
有关更多信息,请参见rlBehaviorCloningRegularizerOptions
。
例子:opt.BatchDataRegularizerOptions = rlBehaviorCloningRegularizerOptions (BehaviorCloningRegularizerWeight = 10)
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。
对象的功能
rlDDPGAgent |
深决定性策略梯度(DDPG)强化学习代理 |
例子
创建DDPG代理的选择对象
创建一个rlDDPGAgentOptions
对象,该对象指定mini-batch大小。
选择= rlDDPGAgentOptions (MiniBatchSize = 48)
选择= rlDDPGAgentOptions属性:NoiseOptions: [1 x1 rl.option。OrnsteinUhlenbeckActionNoise] ActorOptimizerOptions: [1 x1 rl.option。rlOptimizerOptions] CriticOptimizerOptions: [1 x1 rl.option。rlOptimizerOptions] BatchDataRegularizerOptions: [] TargetSmoothFactor: 1.0000e-03 TargetUpdateFrequency: 1 ResetExperienceBufferBeforeTraining: 0 SequenceLength: 1 MiniBatchSize: 48 NumStepsToLookAhead: 1 ExperienceBufferLength: 10000 SampleTime: 1 DiscountFactor: 0.9900 InfoToSave: [1x1 struct]
您可以修改选项使用点符号。例如,设置代理样品时间0.5
。
opt.SampleTime = 0.5;
算法
噪声模型
DDPG代理使用一个Ornstein-Uhlenbeck行动为探索噪声模型。
一个OrnsteinUhlenbeckActionNoise
对象有以下数值属性。
财产 | 描述 | 默认值 |
---|---|---|
InitialAction |
初始值的行动 | 0 |
的意思是 |
噪声平均值 | 0 |
MeanAttractionConstant |
常数指定输出噪声模型的速度所吸引 | 0.15 |
StandardDeviationDecayRate |
衰变率的标准差 | 0 |
StandardDeviation |
初始值的噪声标准差 | 0.3 |
StandardDeviationMin |
最低标准偏差 | 0 |
在每个时间步示例k
,噪声值v (k)
更新使用以下公式,在哪里Ts
代理样品时间,初始值v(1)定义的吗InitialAction
参数。
v (k + 1) = (k) + MeanAttractionConstant。*(意思是- v (k))。* Ts + StandardDeviation (k)。* randn(大小(意味着))。* sqrt (Ts)
在每个时间步样本,标准差衰变,如以下代码所示。
decayedStandardDeviation = StandardDeviation (k)。* (1 - StandardDeviationDecayRate);StandardDeviation (k + 1) = max (decayedStandardDeviation StandardDeviationMin);
你可以计算需要多少样本标准差减半使用这个简单的公式。
半衰期=日志(0.5)/日志(1-StandardDeviationDecayRate);
请注意,StandardDeviation
之间是守恒的一集的结束和下一个的开始。因此,它一直在均匀减少多个事件,直到它到达StandardDeviationMin
。
连续动作信号,设置适当的噪声标准偏差是很重要的,鼓励探索。是很常见的StandardDeviation * sqrt (Ts)
一个值在1%和10%之间的行动范围。
如果你的代理在当地最适条件收敛过快,促进剂探索通过增加噪声的数量;也就是说,通过增加标准差。同时,增加勘探,可以减少StandardDeviationDecayRate
。
引用
[1]萨顿,理查德·S。,安德鲁·g·Barto。强化学习:介绍。第二版。自适应计算和机器学习。剑桥:麻省理工学院出版社,2018年。
版本历史
介绍了R2019aR2022a:默认值的ResetExperienceBufferBeforeTraining
属性改变了
默认值的ResetExperienceBufferBeforeTraining
已经从真正的
来假
。
当创建一个新的DDPG代理,如果你想清除缓冲区之前培训经验,您必须指定ResetExperienceBufferBeforeTraining
作为真正的
。例如,在训练之前,设置属性使用点符号。
agent.AgentOptions。ResetExperienceBufferBeforeTraining = true;
此外,您可以设置的属性真正的
在一个rlDDPGAgentOptions
对象,并使用这个对象创建DDPG代理。
R2021a:属性名称定义噪声的概率分布OrnsteinUhlenbeckActionNoise
对象已经发生了变化
属性定义的概率分布Ornstein-Uhlenbeck (OU)噪声模型已经被重命名。DDPG代理使用或者噪声进行探索。
的
方差
财产已经更名为StandardDeviation
。的
VarianceDecayRate
财产已经更名为StandardDeviationDecayRate
。的
VarianceMin
财产已经更名为StandardDeviationMin
。
这些属性的默认值是相同的。当一个OrnsteinUhlenbeckActionNoise
噪声加载对象保存从先前的MATLAB版本,的值方差
,VarianceDecayRate
,VarianceMin
被复制的StandardDeviation
,StandardDeviationDecayRate
,StandardDeviationMin
,分别。
的方差
,VarianceDecayRate
,VarianceMin
属性仍然工作,但他们并不推荐。定义或者噪声的概率分布模型,使用新属性名。
这个表显示了如何更新你的代码使用的新属性名rlDDPGAgentOptions
对象ddpgopt
。
不推荐 | 推荐 |
---|---|
ddpgopt.NoiseOptions。方差= 0.5; |
ddpgopt.NoiseOptions。StandardDeviation= 0.5; |
ddpgopt.NoiseOptions。VarianceDecayRate= 0.1; |
ddpgopt.NoiseOptions。StandardDeviationDecayRate = 0.1; |
ddpgopt.NoiseOptions。VarianceMin = 0; |
ddpgopt.NoiseOptions。StandardDeviationMin= 0; |
R2020a:DDPG代理目标更新方法设置已经改变了
DDPG代理目标更新方法设置已经改变了。以下更改要求更新你的代码:
的
TargetUpdateMethod
选项已被删除。现在,DDPG代理确定目标更新方法的基础上TargetUpdateFrequency
和TargetSmoothFactor
选项值。的默认值
TargetUpdateFrequency
已经从4
来1
。
使用下列目标之一的更新方法,设置TargetUpdateFrequency
和TargetSmoothFactor
属性显示。
更新方法 | TargetUpdateFrequency |
TargetSmoothFactor |
---|---|---|
平滑 | 1 |
不到1 |
周期 | 大于1 |
1 |
周期性的平滑(R2020a新方法) | 大于1 |
不到1 |
默认目标更新配置,这是一个平滑的更新TargetSmoothFactor
的价值0.001
,是相同的。
此表显示了一些典型的使用rlDDPGAgentOptions
以及如何更新你的代码来使用新的配置选项。
不推荐 | 推荐 |
---|---|
选择= rlDDPGAgentOptions (“TargetUpdateMethod”、“平滑”); |
选择= rlDDPGAgentOptions; |
选择= rlDDPGAgentOptions (“TargetUpdateMethod”、“周期”); |
选择= rlDDPGAgentOptions;opt.TargetUpdateFrequency = 4;opt.TargetSmoothFactor = 1; |
选择= rlDDPGAgentOptions;opt.TargetUpdateMethod =“周期性”;opt.TargetUpdateFrequency = 5; |
选择= rlDDPGAgentOptions;opt.TargetUpdateFrequency = 5;opt.TargetSmoothFactor = 1; |
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。