前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习: 模型优化算法

深度学习: 模型优化算法

作者头像
JNingWei
发布2018-09-27 15:21:03
7720
发布2018-09-27 15:21:03
举报
文章被收录于专栏:JNing的专栏JNing的专栏

优化算法 类型

优化算法 类型 包括 一阶优化法 和 二阶优化法:

一阶优化法

二阶优化法

具体算法

随机梯度下降法、基于动量的随机梯度下降法、Nesterov型动量随机下降法、Adagrad法、Adadelta法、RMSProp法、Adam法

牛顿法

计算难度

较易

运用程度

主流

少有人用

一阶优化法 对比

随机梯度下降法

基于动量的随机梯度下降法

Nesterov型动量随机下降法

Adagrad法

Adadelta法

RMSProp法

Adam法

运用程度

最广

训练速度

模型结果

可靠

可靠

随机梯度下降法、基于动量的随机梯度下降法 和 Nesterov型动量随机下降法 彼此性能相近; Adagrad法、Adadelta法、RMSProp法 和 Adam法 彼此性能相近

一阶优化法

ωω\omega :待学习参数; ηη\eta :学习率; ggg :一阶梯度值; ttt :第ttt轮训练。

随机梯度下降法

随机梯度下降算法,Stochastic Gradient Descent,简称 SGD

ωt←ωt−1−η⋅gωt←ωt−1−η⋅g

\omega_{t} \leftarrow \omega_{t-1} - \eta \cdot g

基于动量的随机梯度下降法

由于SGD更新时可能出现 振荡 ,遂通过 累积前几轮的动量 (momentum) 信息辅助参数更新

vt←μ⋅vt−1−η⋅gvt←μ⋅vt−1−η⋅g

v_{t} \leftarrow \mu \cdot v_{t-1} - \eta \cdot g

ωt←ωt−1+vtωt←ωt−1+vt

\omega_{t} \leftarrow \omega_{t-1} + v_{t}

μμ\mu :动量因子,控制动量信息对整体梯度更新的影响程度。设置方法分为 静态 (始终为 0.9) 和 动态 (初始为 0.5,逐渐增长为 0.9 或 0.99) 。

Nesterov型动量随机下降法

较罕见,遂略过。

Adagrad法

根据训练轮数的不同,对学习率进行动态调整:

ηt←ηglobal∑tt'=1g2t′+ϵ−−−−−−−−−−√⋅gtηt←ηglobal∑t′=1tgt′2+ϵ⋅gt

\eta_{t} \leftarrow \frac{\eta_{global}}{\sqrt{\sum_{t′=1}^t g_{t'}^2 + \epsilon}} \cdot g_{t}

ηglobalηglobal\eta_{global} :全局学习率 (必须提前指定) ; ϵϵ\epsilon :防止分母为0。

初始时,ηtηt\eta_{t} 接近于 ηglobalηglobal\eta_{global} ,随着 ∑tt'=1g2t′∑t′=1tgt′2\sum_{t′=1}^t g_{t'}^2 的不断增大,ηtηt\eta_{t} 渐渐趋近于 0 。

Adadelta法

Adadelta法 在 Adagrad法 的 基础上,通过引入衰减因子 ρρ\rho ,使得 ggg 也和 ηglobalηglobal\eta_{global} 一起来对 ηtηt\eta_{t} 施加影响,防止 ηglobalηglobal\eta_{global} 垄断:

rt←ρ⋅rt−1+(1−ρ)⋅g2rt←ρ⋅rt−1+(1−ρ)⋅g2

r_{t} \leftarrow \rho \cdot r_{t-1} + (1-\rho) \cdot g^2

ηt←st−1+ϵ−−−−−−√rt+ϵ−−−−−√ηt←st−1+ϵrt+ϵ

\eta_{t} \leftarrow \frac{\sqrt{s_{t-1} + \epsilon}}{\sqrt{r_t + \epsilon}}

st←ρ⋅st−1+(1−ρ)⋅(ηt⋅g)2st←ρ⋅st−1+(1−ρ)⋅(ηt⋅g)2

s_{t} \leftarrow \rho \cdot s_{t-1} + (1-\rho) \cdot (\eta_{t} \cdot g)^2

ρρ\rho :衰减因子,取值范围 [0, 1] ,值越大越促进网络更新,推荐为 0.95 ; ϵϵ\epsilon :防止为 0,推荐为 10−610−610^{-6} 。

RMSProp法

较罕见,遂略过。

Adam法

在 RMSProp法 基础上 加上了 动量项

利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。

优点: 经过偏置校正后,每一次迭代学习率都有一个确定范围,这样可以使得参数更新比较平稳。


[1] 解析卷积神经网络—深度学习实践手册

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年02月03日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 优化算法 类型
  • 一阶优化法 对比
  • 一阶优化法
    • 随机梯度下降法
      • 基于动量的随机梯度下降法
        • Nesterov型动量随机下降法
          • Adagrad法
            • Adadelta法
              • RMSProp法
                • Adam法
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档