Adam 优化算法,学习率策略以及局部最优点

吴恩达:Adam 优化算法,学习率策略以及局部最优点

简介

Adaptive moment estimation(Adam)是目前被实际证明最有效,应用最广泛的算法,它的实现是建立在另外两个非常成熟的优化算法上,momentum算法RMSprop算法


算法公式

对于任意权重参数w(包括bias
S_{dw} = \beta_1 * S_{dw} + (1 - \beta_1)*dw^2
V_{dw} = \beta_2 * V_{dw} + (1 - \beta_2)*dw
w = w - \alpha * \frac{V_{dw}}{\sqrt{S_{dw}}}

name explanation
S_{dw} 来自RMSprop算法,为非负数
\beta_1 推荐取值0.999的超参数
dw 权重梯度
w 权重参数
V_dw 动量,取自动量梯度下降法
\beta_2 推荐取值0.9的超参数
\alpha 学习率,需要重点调的参数

参数的具体意义则可以在前面两种算法的笔记中找到详细的说明。


优化:学习率衰减

Adam已经基本上可以用于所有类型的网络并且取得很好的结果,但是由于采用Mini Batch方法,在神经网络学习前期,使用相对大的学习率进行快速逼近最优点,在学习后期则需要采用学习率衰减防止结果在最优点附近不断震荡无法收敛。

  1. 分母下降法(自己起的名字)
    \alpha = \alpha_0 * \frac{1}{1+decay.rate*epoch}

  2. 指数下降法

    \alpha = 0.95^{epoch}*\alpha_0

  3. 根号分母下降法(自己起的名字)
    \alpha = \alpha_0 * \frac{k}{\sqrt{epoch}}

  4. 离散楼梯法(discrete staircase)
    k = \biggl\lfloor\frac{steps}{steps.gate}\biggr\rfloor

\alpha = 0.5^{k}*\alpha_0
如果没有精力手动调节学习率,采用合适的学习率衰减策略是有效的。

局部最优点

compare_local_minimum.png

在以前,研究者们常常以为局部最优点像上图左边那样,是凹陷状,现在研究者发现实际上梯度零点往往是右边那样的鞍点。
为了直观这样的现象,假设存在一个两万维的空间,要出现上图左边这样的局部最优点,需要两万纬度同时为凸函数或者凹函数,则概率为,相基本当于不可能!这也是三维图形直观推广到高纬空间的错误示范。
由于不太可能出现完全凹陷的局部最优点,则在鞍点和高原点,正是体现RMSprop和Momemtum(当然也包括Adam)算法优势的时候,这非常好理解。


附录:

  1. Adam算法实际上会加上Bias Correction
    V_{dw}^{corrected} =\frac{V_{dw}}{1-\beta_1}
    S_{dw}^{corrected} =\frac{V_{dw}}{1-\beta_2}
    对于bias参数同理
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容