Keras.optimizers 简介

作者: 朱小虎XiaohuZhu | 来源:发表于2015-07-06 16:10 被阅读7484次

Neil Zhu,简书ID Not_GOD,University AI 创始人 & Chief Scientist,致力于推进世界人工智能化进程。制定并实施 UAI 中长期增长战略和目标,带领团队快速成长为人工智能领域最专业的力量。
作为行业领导者,他和UAI一起在2014年创建了TASA(中国最早的人工智能社团), DL Center(深度学习知识中心全球价值网络),AI growth(行业智库培训)等,为中国的人工智能人才建设输送了大量的血液和养分。此外,他还参与或者举办过各类国际性的人工智能峰会和活动,产生了巨大的影响力,书写了60万字的人工智能精品技术内容,生产翻译了全球第一本深度学习入门书《神经网络与深度学习》,生产的内容被大量的专业垂直公众号和媒体转载与连载。曾经受邀为国内顶尖大学制定人工智能学习规划和教授人工智能前沿课程,均受学生和老师好评。

如何使用优化器(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.

相关文章

  • Keras.optimizers 简介

    Neil Zhu,简书ID Not_GOD,University AI 创始人 & Chief Scientist...

  • 18旅游二班各组自我简介汇总

    一组简介 二组简介 三组简介 四组简介 五组简介 六组简介 七组简介 八组简介

  • 简介

    上辈子,洛幽喜欢了东凡一辈子,没有结果,之后她死了,她不后悔,只是为什么她一睁眼,嗯?捏了捏自己的脸,她这是回到了...

  • 简介

    1.主动地去阅读。 2.阅读目的:获得资讯,获得理解 前者为了增进资讯,获得信息,不能增加理解力。后者为了理解更多...

  • 简介

    姓名:赵金星 电话:13903984903 坐标:河南三门峡市陕州区。 三个标签的自我介绍: 1.时间管理践行者 ...

  • 简介

    朱凝不过打错个字,便被天打雷劈回古代。 为毛别人穿个废柴嫡女,她穿个废柴庶女?地位更低了哎 哇喔,别人嫁王爷,她嫁...

  • 简介

    凌波网络考试系统,是一套运行于Windows系统之上的无纸化网络考试软件。包括试卷编辑、分发试卷、学生答卷、自动阅...

  • 简介

    名字:笨小孩 不是富二代的笨小孩为了生活选择了编程。在大多数人眼里可能感觉编程是很无聊很辛苦经常加班的事情,其实人...

  • 简介

    A Native Client web application consists of JavaScript, H...

  • 简介

    选择django作为毕设项目,和日后工作内容。故在简单得做了一个blog和毕设系统之间,想深入了解django,会...

网友评论

    本文标题:Keras.optimizers 简介

    本文链接:https://www.haomeiwen.com/subject/ummyqttx.html