深度学习: 模型优化算法

优化算法 类型

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

一阶优化法 二阶优化法
具体算法 随机梯度下降法、基于动量的随机梯度下降法、Nesterov型动量随机下降法、Adagrad法、Adadelta法、RMSProp法、Adam法 牛顿法
计算难度 较易
运用程度 主流 少有人用

一阶优化法 对比

随机梯度下降法 基于动量的随机梯度下降法 Nesterov型动量随机下降法 Adagrad法 Adadelta法 RMSProp法 Adam法
运用程度 最广
训练速度
模型结果 可靠 可靠

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

一阶优化法

ω :待学习参数;
η :学习率;
g :一阶梯度值;
t :第 t 轮训练。

随机梯度下降法

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

ω t ω t 1 η g

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

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

v t μ v t 1 η g

ω t ω t 1 + v t

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

Nesterov型动量随机下降法

较罕见,遂略过。

Adagrad法

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

η t η g l o b a l t = 1 t g t 2 + ϵ g t

η g l o b a l :全局学习率 (必须提前指定) ;
ϵ :防止分母为0。

初始时, η t 接近于 η g l o b a l ,随着 t = 1 t g t 2 的不断增大, η t 渐渐趋近于 0 。

Adadelta法

Adadelta法 在 Adagrad法 的 基础上,通过引入衰减因子 ρ ,使得 g 也和 η g l o b a l 一起来对 η t 施加影响,防止 η g l o b a l 垄断:

r t ρ r t 1 + ( 1 ρ ) g 2

η t s t 1 + ϵ r t + ϵ

s t ρ s t 1 + ( 1 ρ ) ( η t g ) 2

ρ :衰减因子,取值范围 [0, 1] ,值越大越促进网络更新,推荐为 0.95
ϵ :防止为 0,推荐为 10 6

RMSProp法

较罕见,遂略过。

Adam法

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

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

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


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

猜你喜欢

转载自blog.csdn.net/JNingWei/article/details/79247375