有了解ADAM这种优化算法的吗?在Keras一些nerual net的包里经常是用Adam方法作为默认solver。我大概知道Adam算是SGD的一种改良。但是我也是一知半解的,不是非常清楚它具体是怎么一回事,又是如何改良SGD的。
求懂adam的大神解答一下!
谢谢!(教师节快乐^_^)
1个回答
Adam(Adaptive Moment Estimation)本质上是带有动量项的RMSprop,它利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。Adam的优点主要在于经过偏置校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳。
特点:
- 结合了Adagrad善于处理稀疏梯度和RMSprop善于处理非平稳目标的优点
- 对内存需求较小
- 为不同的参数计算不同的自适应学习率
- 也适用于大多非凸优化 - 适用于大数据集和高维空间