主要内容

rlOptimizerOptions

演员和评论家的优化选项

    描述

    使用一个rlOptimizerOptions对象指定用于参与者和评论家的优化选项集。

    创建

    描述

    例子

    optopt中= rlOptimizerOptions创建默认优化器选项集,以用作CriticOptimizerOptionsActorOptimizerOptions属性的最后一个参数rlOptimizer创建一个优化器对象。可以使用点表示法修改对象属性。

    例子

    optopt中= rlOptimizerOptions (名称=值使用一个或多个名称-值参数创建具有指定属性的选项集。

    属性

    全部展开

    用于训练行动者或评论家函数逼近器的学习率,指定为正标量。如果学习率太低,那么训练就需要很长时间。如果学习率太高,那么训练可能会达到次优结果或发散。

    例子:LearnRate = 0.025

    用于训练行动者或批评家函数逼近器的梯度阈值,指定为或者一个正标量。类所指定的渐变将被剪切GradientThresholdMethod选择。裁剪梯度限制了网络参数在训练迭代中可以改变多少。

    例子:GradientThreshold = 1

    梯度阈值法用于训练行动者或批评家函数逼近器。这是用于剪辑超过梯度阈值的梯度值的特定方法,它被指定为以下值之一。

    • “l2norm”-如果l2可学习参数的梯度范数大于GradientThreshold,然后缩放梯度,使l2规范=GradientThreshold

    • “global-l2norm”-如果全局l2规范l大于GradientThreshold,然后将所有梯度按倍缩放GradientThreshold /l.全球l2Norm考虑所有可学习参数。

    • “绝对值”-如果一个可学习参数的梯度中个别偏导数的绝对值大于GradientThreshold,然后将偏导数缩放为GradientThreshold保留偏导数的符号。

    有关更多信息,请参见梯度剪裁的算法部分trainingOptions在深度学习工具箱™。

    例子:GradientThresholdMethod =“绝对值”

    因素l2正则化(权值衰减)用于训练行动者或批评函数逼近器,指定为非负标量。有关更多信息,请参见L2正规化的算法部分trainingOptions在深度学习工具箱中。

    为了避免在使用具有许多参数的表示时过度拟合,可以考虑增加L2RegularizationFactor选择。

    例子:L2RegularizationFactor = 0.0005

    用于训练行动者或评论家函数逼近器的算法,指定为下列值之一。

    • “亚当”-使用Adam(自适应运动估计)算法。函数指定梯度移动平均和平方梯度移动平均的衰减率GradientDecayFactor而且SquaredGradientDecayFactor字段OptimizerParameters选择。

    • “个”-使用随机梯度下降与动量(SGDM)算法。方法指定动量值动力字段OptimizerParameters选择。

    • “rmsprop”—使用RMSProp算法。函数指定梯度移动平均平方的衰减率SquaredGradientDecayFactor字段OptimizerParameters选择。

    有关这些算法的详细信息,请参见随机梯度下降的算法部分trainingOptions在深度学习工具箱中。

    例子:优化器= "个"

    用于训练行动者或批评函数逼近器的训练算法的参数,指定为OptimizerParameters使用以下参数创建。

    参数 描述
    动力

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

    仅当优化器“个”.在这种情况下,默认值是0.9。这个默认值适用于大多数问题。

    ε

    分母偏移量,指定为正标量。优化器将此偏移量添加到网络参数更新中的分母中,以避免除零。

    仅当优化器“亚当”“rmsprop”.在这种情况下,默认值为108.这个默认值适用于大多数问题。

    GradientDecayFactor

    梯度移动平均的衰减率,指定为从0到1的正标量。

    仅当优化器“亚当”.在这种情况下,默认值是0.9。这个默认值适用于大多数问题。

    SquaredGradientDecayFactor

    梯度移动平均的平方衰减率,指定为从0到1的正标量。

    仅当优化器“亚当”“rmsprop”.在这种情况下,默认值为0.999。这个默认值适用于大多数问题。

    的特定属性时OptimizerParameters中指定的优化器类型不适用算法,该属性被设置为“不适用”

    若要更改属性值,请创建rlOptimizerOptions对象的属性,并使用点表示法访问和更改OptimizerParameters

    repOpts = rlRepresentationOptions;repOpts.OptimizerParameters.GradientDecayFactor = 0.95;

    对象的功能

    rlQAgentOptions q学习代理的选项
    rlSARSAAgentOptions SARSA代理选项
    rlDQNAgentOptions DQN代理选项
    rlPGAgentOptions PG代理选项
    rlDDPGAgentOptions DDPG代理选项
    rlTD3AgentOptions TD3代理的选项
    rlACAgentOptions AC剂的选择
    rlPPOAgentOptions PPO药剂的选择
    rlTRPOAgentOptions TRPO代理选项
    rlSACAgentOptions SAC代理选项
    rlOptimizer 为演员和评论家创建一个优化器对象

    例子

    全部折叠

    使用rlOprimizerOptions创建一个默认优化器选项对象,用于训练关键函数逼近器。

    myCriticOpts = rlOptimizerOptions
    myCriticOpts = rlOptimizerOptions with properties: LearnRate: 0.0100 GradientThreshold: Inf GradientThresholdMethod: "l2norm" L2RegularizationFactor: 1.0000 -04算法:"adam" OptimizerParameters: [1x1 rl.option.OptimizerParameters]

    使用点表示法,将训练算法改为随动量的随机梯度下降,并将动量参数的值设置为0.6

    myCriticOpts。算法=“个”;mycriticoptions . optimizerparameters . momentum = 0.6;

    创建AC代理选项对象,并设置其CriticOptimizerOptions财产myCriticOpts

    myAgentOpt = rlACAgentOptions;myAgentOpt。CriticOptimizerOptions = myCriticOpts;

    您现在可以使用myAgentOpt的最后一个输入参数rlACAgent创建AC代理时。

    使用rlOprimizerOptions创建用于训练角色函数近似器的优化器选项对象。指定学习率0.2并设置GradientThresholdMethod“绝对值”

    myActorOpts = rlOptimizerOptions (LearnRate = 0.2,...GradientThresholdMethod =“绝对值”
    myActorOpts = rlOptimizerOptions with properties: LearnRate: 0.2000 GradientThreshold: Inf GradientThresholdMethod: "absolute-value" L2RegularizationFactor: 1.0000 -04算法:"adam" OptimizerParameters: [1x1 rl.option.OptimizerParameters]

    使用点表示法,改变aGradientThreshold10

    myActorOpts。GradientThreshold = 10;

    创建AC代理选项对象并设置其ActorOptimizerOptions财产myActorOpts

    myAgentOpt = rlACAgentOptions(...“ActorOptimizerOptions”, myActorOpts);

    您现在可以使用myAgentOpt的最后一个输入参数rlACAgent创建AC代理时。

    版本历史

    R2022a中引入