笔记关键词检索?

在所有笔记中搜索你感兴趣的关键词!

《Keras深度学习实战》 ──   基于TensorFlow和Theano创建神经网络

作者:[意大利] 安东尼奥·古利(Antonio Gulli),[印度] 苏伊特·帕尔(Sujit Pal) 著


Keras.optimizers优化器

如何使用优化器(optimizers)

优化器是编译 Keras 模型所需的两个参数之一:

model = Sequential()
model.add(Dense(20, 64, init='uniform'))
model.add(Activation('tanh'))
model.add(Activation('softmax'))

sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)

我们可以在将优化器传递给 model.compile() 之前初始化,正如上面代码所示,或者你可以直接通过名字调用。在后面的例子中,默认的优化器参数将会被使用。

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

基类(base class)

keras.optimizers.Optimizer(**kwargs)

所有的优化器都继承自该类,支持下面的参数:

clipnorm: float >= 0

 这是用来构建优化器的基类,不是实际可以用作训练的优化器。

SGD

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

参数:

  • lr: float >= 0. 学习率 Learning rate
  • momentum: float >= 0. 参数更新动量 parameter updates momentum
  • decay: float >= 0. 学习率每次更新的下降率 Learning rate decay over each update
  • nesterov: boolean. 是否应用 Nesterov 动量 whether to apply Nesterov momentum

Adagrad

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

建议使用默认设置
参数:

  • lr: float >= 0. 学习率
  • epsilon: float >= 0

Adadelta

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

建议使用默认设置
参数:

  • lr: float >= 0. 默认设置
  • rho: float >= 0.
  • epsilon: float >= 0. Fuzz factor

RMSprop

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

建议使用默认设置
参数:

  • lr: float >= 0. 默认设置
  • rho: float >= 0.
  • epsilon: float >= 0. Fuzz factor

Adam

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

Adam 优化器由 Kingma 和 Lei Ba 在 Adam: A method for stochastic optimization。默认参数是文章中建议的。参数 lambda 在此处改做 kappa。
参数:

  • lr: float >= 0. Learning rate.
  • beta_1, beta_2: floats, 0 < beta < 1. Generally close to 1.
  • epsilon: float >= 0. Fuzz factor.
  • kappa: float 0 < kappa < 1. Lambda parameter in the original paper.

 

 

参考资料: https://www.jianshu.com/p/4f1469745598

评论 (0)

发布评论

你的邮箱地址不会被公开。请输入所有带 * 的信息。