adam优化_Keras的Adam优化器参数理解及自适应学习率

Adam优化器是目前应用最多的优化器。

optimizer--adam_小笨熊~~走向程序猿的~~历程~~专栏-CSDN博客​blog.csdn.net

在训练的过程中我们有时会让学习率随着训练过程自动修改,以便加快训练,提高模型性能。关于adam优化器的具体实现过程可以参考这篇博客,或者更简洁一点的这篇博客,这里只对adam优化器中的参数进行介绍。
Adam in Keras

在Keras的Adam优化器中各参数如下:

keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False)

lr: 学习率beta_1: 0到1之间,一般接近于1beta_2: 0到1之间,一般接近于1,和beta_1一样,使用默认的就好epsilon: 模糊因子,如果为空,默认为k.epsilon()decay: 每次参数更新后学习率的衰减值(每次更新时学习率下降)amsgrad: 布尔型,是否使用AMSGrad变体

下面我们来看看decay是如何发挥作用的:

if self.initial_decay > 0:
    lr = lr * (1. / (1. + self.decay * K.cast(self.iterations,K.dtype(self.decay))))

写为数学表达式的形式为:

为了更好的观察学习率的衰减情况,我们将学习率lr的衰减过程画出来,lr=0.01,decay=0.01。

从图中可以看到学习率会随着迭代次数增加而逐渐减小,这样可以在训练初期加快训练。

自适应学习率

如果我们自己定义学习率的衰减方法,keras为我们提供了两种方法进行自定义,详见

Keras学习率调整_z小白的博客-CSDN博客​blog.csdn.net
Keras--动态调整学习率_P0ny的博客-CSDN博客​blog.csdn.net

部分内容转载自:https://www.jianshu.com/p/40160aba047b
来源:简书


附:keras各种优化器优化器的用法

keras各种优化器优化器的用法_cnn卷积神经网络教程​www.51zixue.net

你可能感兴趣的:(adam优化)