主要内容

rlDQNAgentOptions

DQN代理的选项

描述

使用一个rlDQNAgentOptions对象指定深度Q-network (DQN)代理的选项。要创建DQN代理,请使用rlDQNAgent

有关更多信息,请参见深Q-Network代理

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

创建

描述

选择= rlDQNAgentOptions在使用所有默认设置创建DQN代理时,创建一个选项对象作为参数。可以使用点表示法修改对象属性。

例子

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

属性

全部展开

对值函数目标更新使用双DQN的标志,指定为逻辑值。对于大多数应用程序集UseDoubleDQN“上”.有关更多信息,请参见深Q-Network代理

贪婪探索的选项,指定为EpsilonGreedyExploration对象的以下属性。

财产 描述 默认值
ε 概率阈值可以是随机选择一个动作或选择使状态-动作值函数最大化的动作。较大的值ε意味着代理以更高的速度随机探索操作空间。 1
EpsilonMin 最小值的ε 0.01
EpsilonDecay 衰减率 0.0050

在每个训练时间步长结束时,如果ε大于EpsilonMin,然后使用以下公式进行更新。

ε=ε* (1-EpsilonDecay)

如果您的代理在局部最优上收敛得太快,您可以通过增加代理来促进探索ε

要指定探查选项,请在创建rlDQNAgentOptions对象选择.例如,将值设为0.9

opt.EpsilonGreedyExploration.Epsilon = 0.9;

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

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

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

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

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

对于一些代理,例如那些具有较大的经验缓冲区和基于图像的观察的代理,保存它们的经验缓冲区所需的内存很大。在这种情况下,为了不保存经验缓冲区数据,设置SaveExperienceBufferWithAgent

如果您计划进一步培训所保存的代理,可以从以前的经验缓冲区作为起点开始培训。在本例中,setSaveExperienceBufferWithAgent真正的

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

当评论家使用递归神经网络时,MiniBatchSize在一批经验轨迹中,每条轨迹的长度等于多少SequenceLength

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

对于批评家使用递归神经网络时,不支持n步Q学习。金宝app在这种情况下,NumStepsToLookAhead必须1

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

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

在一个模型金宝app®环境中,代理被执行SampleTime模拟时间的秒数。

在MATLAB®环境中,每当环境进步时,代理就会被执行。然而,SampleTime返回的输出经验中连续元素之间的时间间隔是多少sim卡火车

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

对象的功能

rlDQNAgent 深度q -网络强化学习代理

例子

全部折叠

这个示例展示了如何创建DQN代理选项对象。

创建一个rlDQNAgentOptions对象,该对象指定代理迷你批处理大小。

选择= rlDQNAgentOptions (“MiniBatchSize”48)
EpsilonGreedyExploration: [1x1 rl.option.]EpsilonGreedyExploration] TargetSmoothFactor: 1.0000e-03 TargetUpdateFrequency: 1 ResetExperienceBufferBeforeTraining: 1 SaveExperienceBufferWithAgent: 0 SequenceLength: 1 MiniBatchSize: 48 NumStepsToLookAhead: 1 ExperienceBufferLength: 10000 SampleTime: 1 DiscountFactor: 0.9900

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

opt.SampleTime = 0.5;

兼容性的考虑

全部展开

行为在R2020a中改变

参考文献

Richard S. Sutton和Andrew G. Barto。强化学习:简介.第二版。自适应计算和机器学习。麻省理工学院出版社,2018年。

另请参阅

介绍了R2019a