当前位置:   article > 正文

Keras笔记(二):优化器optimizers_tf.keras.optimizers.rmsprop

tf.keras.optimizers.rmsprop

 注: 本文转自  优化器optimizers - Keras中文文档


Keras文档系列

Keras笔记(一):常用函数

Keras笔记(二):优化器optimizers

Keras笔记(三):目标函数objectives /loss

Keras笔记(四):序贯(Sequential)模型

Keras笔记(五):Sequential模型接口

Keras笔记(六):回调函数Callbacks


目录

 所有优化器都可用的参数 :clipnorm和clipvalue

SGD  : 参数          RMSprop                参数

Adagrad               Adagrad            

Adadelta        参数               参考文献

Adam           参数                 参考文献

Adamax       参数                参考文献

Nadam        参数                   参考文献

TFOptimizer


优化器是编译Keras模型必要的两个参数之一

  1. from keras import optimizers
  2. model = Sequential()
  3. model.add(Dense(64, kernel_initializer='uniform', input_shape=(10,)))
  4. model.add(Activation('tanh'))
  5. model.add(Activation('softmax'))
  6. sgd = optimizers.SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
  7. model.compile(loss='mean_squared_error', optimizer=sgd)

可以在调用model.compile()之前初始化一个优化器对象,然后传入该函数(如上所示),也可以在调用model.compile()时传递一个预定义优化器名。在后者情形下,优化器的参数将使用默认值。

  1. # pass optimizer by name: default parameters will be used
  2. model.compile(loss='mean_squared_error', optimizer='sgd')

 所有优化器都可用的参数 :clipnormclipvalue

clipnormclipvalue用于对梯度进行裁剪.示例如下:

  1. from keras import optimizers
  2. # All parameter gradients will be clipped to
  3. # a maximum norm of 1.
  4. sgd = optimizers.SGD(lr=0.01, clipnorm=1.)
  1. from keras import optimizers
  2. # All parameter gradients will be clipped to
  3. # a maximum value of 0.5 and
  4. # a minimum value of -0.5.
  5. sgd = optimizers.SGD(lr=0.01, clipvalue=0.5)

SGD

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

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

参数

  • 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错误

参考文献

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<beta<1,通常很接近1

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

参考文献


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<beta<1,通常很接近1

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

参考文献


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<beta<1,通常很接近1

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

参考文献

TFOptimizer

keras.optimizers.TFOptimizer(optimizer)

TF优化器的包装器

参考链接 优化器optimizers - Keras中文文档



Keras文档系列

Keras笔记(一):常用函数

Keras笔记(二):优化器optimizers

Keras笔记(三):目标函数objectives /loss

Keras笔记(四):序贯(Sequential)模型

Keras笔记(五):Sequential模型接口

Keras笔记(六):回调函数Callbacks

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号