keras:model.compile优化器

优化器optimizer:该参数可指定为已预定义的优化器名,如rmspropadagrad,或一个Optimizer类的对象,详情见optimizers。

1、SGD

keras.optimizers.SGD(lr=0.01, momentum=0.0, decay=0.0, nesterov=False)

 

随机梯度下降法,支持动量参数,支持学习衰减率,支持Nesterov动量

参数

  • lr:大或等于0的浮点数,学习率

  • momentum:大或等于0的浮点数,动量参数

  • decay:大或等于0的浮点数,每次更新后的学习率衰减值

  • nesterov:布尔值,确定是否使用Nesterov动量


RMSprop

keras.optimizers.RMSprop(lr=0.001, rho=0.9, epsilon=1e-06)

除学习率可调整外,建议保持优化器的其他默认参数不变

该优化器通常是面对递归神经网络时的一个良好选择

参数

  • lr:大或等于0的浮点数,学习率

  • rho:大或等于0的浮点数

  • epsilon:大或等于0的小浮点数,防止除0错误


Adagrad

keras.optimizers.Adagrad(lr=0.01, epsilon=1e-06)

建议保持优化器的默认参数不变

Adagrad

  • lr:大或等于0的浮点数,学习率

  • epsilon:大或等于0的小浮点数,防止除0错误


Adadelta

keras.optimizers.Adadelta(lr=1.0, rho=0.95, epsilon=1e-06)

建议保持优化器的默认参数不变

参数

  • lr:大或等于0的浮点数,学习率

  • rho:大或等于0的浮点数

  • epsilon:大或等于0的小浮点数,防止除0错误

参考文献


  • Adadelta - an adaptive learning rate method

Adam

keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08)

该优化器的默认值来源于参考文献

参数

  • lr:大或等于0的浮点数,学习率

  • beta_1/beta_2:浮点数, 0

  • epsilon:大或等于0的小浮点数,防止除0错误

参考文献

  • Adam - A Method for Stochastic Optimization

Adamax

keras.optimizers.Adamax(lr=0.002, beta_1=0.9, beta_2=0.999, epsilon=1e-08)

Adamax优化器来自于Adam的论文的Section7,该方法是基于无穷范数的Adam方法的变体。

默认参数由论文提供

参数

  • lr:大或等于0的浮点数,学习率

  • beta_1/beta_2:浮点数, 0

  • epsilon:大或等于0的小浮点数,防止除0错误

参考文献

  • Adam - A Method for Stochastic Optimization

Nadam

keras.optimizers.Nadam(lr=0.002, beta_1=0.9, beta_2=0.999, epsilon=1e-08, schedule_decay=0.004)

Nesterov Adam optimizer: Adam本质上像是带有动量项的RMSprop,Nadam就是带有Nesterov 动量的Adam RMSprop

默认参数来自于论文,推荐不要对默认参数进行更改。

参数

  • lr:大或等于0的浮点数,学习率

  • beta_1/beta_2:浮点数, 0

  • epsilon:大或等于0的小浮点数,防止除0错误

参考文献

  • Nadam report

  • On the importance of initialization and momentum in deep learning

TFOptimizer

keras.optimizers.TFOptimizer(optimizer)

TF优化器的包装器

你可能感兴趣的:(keras:model.compile优化器)