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

refer to Adadelta: an adaptive learning rate method" by Matthew Zeiler.


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
 

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值