Diederik P. Kingma
Jimmy Lei Ba
论文结构:
- 介绍+提出adam算法结构
- 针对的问题:高维参数空间的随机目标的优化问题。在这种情况下,高阶优化方法是不合适的,adam局限于一阶优化方法。
- 为什么?
需要一个基于梯度优化的有效随机//优化算法 - 优点:
实现简单
高效的计算
所需内存少
梯度对角缩放的不变性(第二部分将给予证明)
适合解决含大规模数据和参数的优化问题
适用于非平稳(non-stationary)目标/非凸优化
适用于解决包含很高噪声或稀疏梯度的问题
超参数可以很直观地解释,并且基本上只需极少量的调参 -
算法结构
- 算法详解+更新规则
- 详细解释:
-
学习率衰减:
-
ADAM’S UPDATE RULE
Adam 算法更新规则会很谨慎地选择步长的大小。假定ε=0,则每次时间步t有效下降步长为
有界性:
可以令其相对简单地提前知道α正确的范围,因此其要优于没有提供足够信息的当前梯度估计。
信噪比(signal-to-noise ratio/SNR):
其大小决定了符合真实梯度方向的不确定性。例如,SNR 值在最优解附近趋向于 0,因此也会在参数空间有更小的有效步长:即一种自动退火(automatic annealing)的形式。
梯度对角缩放的不变性:有效步长∆t 对于梯度缩放来说仍然是不变量。
-
偏差修正
基于指数加权平均数的梯度更新:
展开式:
指数加权平均数和真实量之间的偏差修正,我们对式(1)的左边和右边去期望:
-
adam收敛性
利用 Zinkevich 2003 年提出的在线学习框架分析了 Adam 算法的收敛性。
- 其它相关优化算法
-
RMSprop
区别:带动量算时重新计算梯度上的动量而不是指数加权平均数的算法。没有偏差修正。
-
adagrad
区别:beta取值,有偏差修正。
- 模型性能测试
评估方法:(使用大规模数据集和模型,相同的参数初始化,显示结果为最好的超参数)
-
Logistic 回归
1.minist数据集,网络为28*28=784,minibatch=128。
2.IMDB电影评论数据集,稀疏特征问题。
-
多层全连接神经网络
MINIST训练集,两层完全连接的隐含层,每层隐含单元1000,ReLU激活的神经网络模型, minibatch size=128.
-
卷积神经网络
-
偏差校正
开源代码:https://github.com/michaelshiyu/kerNET
-
adamax
L^2---> L^p
令 p → ∞,得出一个极其稳定和简单的算法adamax
结构:
其中:
变为迭代式:
其中,不需要修正beta2的初始化偏差。同样 AdaMax 参数更新的量级要比 Adam 更简单,即|∆t| ≤ α。
下一步方向:
adam超参数设置:调参经验
缺点改进:adam虽然收敛的很快,也很稳定,但是收敛的效果差(即收敛到的最优解的准确率偏低)。
更好的优化算法:
比如AMSGrad和AdaBound。后者是目前来说比较有希望顶替Adam的:前期和Adam一样快,后期有和SGD一样的精度。