位置: 首页 > 新闻动态 > 公司新闻
adam算法效果差原因_深度学习优化器 Adam 解析 作者:佚名    发布时间:2024-04-15

Adam的优点

现在很多深度网络都优先推荐使用Adam做优化算法,我也一直使用,但是对它的参数一知半解,对它的特性也只是略有耳闻,今天我终于花时间看了一下论文和网上的资料。整理如下。

Adam是从2个算法脱胎而来的:AdaGrad和RMSProp,它集合了2个算法的主要优点,同时也做了自己的一些创新,大概有这么几个卖点:

计算高效,方便实现,内存使用也很少。

更新步长和梯度大小无关,只和alpha、beta_1、beta_2有关系。并且由它们决定步长的理论上限。

对目标函数没有平稳要求,即loss function可以随着时间变化

能较好的处理噪音样本,并且天然具有退火效果

能较好处理稀疏梯度,即梯度在很多step处都是0的情况

Adam算法

Adam的伪代码其实很好理解,贴图如下:来自原文

从while循环往下看,第一行是更新step,

第二行是计算梯度,

第三行计算一阶矩的估计,即mean均值

第四行计算二阶距的估计,即variance,和方差类似,都是二阶距的一种。

第五、六行则是对mean和var进行校正,因为mean和var的初始值为0,所以它们会向0偏置,这样处理后会减少这种偏置影响。

第七行是梯度下降。注意alpha后的梯度是用一阶距和二阶距估计的。

Adam设计原理

为什么这么设计呢?Andrew Ng在他

平台注册入口