深度学习中的优化算法和策略

本文深入探讨了深度学习中常用的优化算法,包括梯度下降的变种(批量、随机、小批量梯度下降)、动量法、自适应学习率算法(Adagrad、RMSProp、Adadelta、Adam)以及参数初始化和批标准化(Batch Normalization)的作用。优化算法通过不断迭代更新,解决深度学习中复杂的非凸优化问题,以找到更优解。批标准化能够加速收敛并缓解过拟合,而自适应学习率算法能根据每个维度梯度调整学习率,提高训练效果。
摘要由CSDN通过智能技术生成

绝大多数深度学习中的目标函数都很复杂。因此,很多优化问题并不存在解析解,而需要使用基于数值方法的优化算法找到近似解。这类优化算法一般通过不断迭代更新解的数值来找到近似解。我们讨论的优化算法都是这类基于数值方法的算法。

非凸优化的阻碍:局部最小值鞍点

梯度下降

批量梯度下降 (batch gradient descent)

在每一轮自变量迭代里,梯度下降使用整个训练数据集来计算梯度

xxηf(x) x ← x − η ∇ f ( x )

f(x)=1ni=1nfi(x) f ( x ) = 1 n ∑ i = 1 n f i ( x )

f(x)=1ni=1nfi(x) ∇ f ( x ) = 1 n ∑ i = 1 n ∇ f i ( x )

如果使用梯度下降,每次自变量迭代的计算开销为 O(n) O ( n ) ,它随着 n n 线性增长。因此,当训练数据样本数很大时,梯度下降每次迭代的计算开销很高。

随机梯度下降(stochastic gradient descent)

每次只随机采样一个样本来计算梯度

x x η f i ( x )

Eifi(x)=1ni=1nfi(x)=f(x) E i ∇ f i ( x ) = 1 n ∑ i = 1 n ∇ f i ( x ) = ∇ f ( x )

每次迭代的开销从梯度下降的 O(n) O ( n ) 降到了常数 O(1) O ( 1 )

随机梯度下降的更新轨迹相对于梯度下降更加曲折,实际中,它来自样本的噪音使得梯度的准确度下降,所以在使用同样的超参数的情况下,随机梯度下降收敛到的值相对梯度下降来说更最优值远。但因为随机梯度下降每一次迭代的计算比梯度下降更加简单,在同样运行时间下,随机梯度下降可以进行更多次的自变量迭代,它最终得到的解的质量可能会比梯度下降更优。

小批量随机梯度下降(mini-batch stochastic gradient descent)

深度学习训练中实际使用,每一轮迭代里我们随机采样多个样本来组成一个小批量(mini-batch),然后对它计算梯度

xtxt1ηtgt x t ← x t − 1 − η t g t

gtfBt(xt1)=1|Bt|iBtfi(xt1) g t ← ∇ f B t ( x t − 1 ) = 1 | B t | ∑ i ∈ B t ∇ f i ( x t − 1 )

小批量随机梯度下降中每次迭代的计算开销为 O(|Bt|)

  • 当批量大小为 1 时,该算法即随机梯度下降;
  • 当批量大小等于训练数据样本数时,该算法即梯度下降。
  • 当批量较小时,每次迭代中使用的样本少,这会导致并行处理和内存使用效率变低。这使得在计算同样数目样本的情况下比使用更大批量时所花时间更多。
  • 当批量较大时,每个小批量梯度里可能含有更多的冗余信息,且在处理了同样多样本的情况下,它比批量较小的情况下对自变量的迭代次数更少,这两个因素共同导致了它靠近解的速度更慢。
  • 为了得到较好的解,批量较大时比批量较小时可能需要计算更多数目的样本。因此批量大小是一个重要的用来权衡计算效率和靠近解速度的超参数。

可以通过调整的批量大小来权衡计算效率和训练误差下降速度。


深度学习常使用的优化算法均基于小批量随机梯度下降,但区别在于如何使用梯度来更新自变量。这些改进算法主要基于两个技术:使用指数加权移动平均来平滑时间步之间的变化,和对每个自变量元素使用自适应的学习率。

动量法(momentum)

在时间步 0,动量法创建速度变量 v0Rd v 0 ∈ R d ,并将其元素初始化成 0。在时间步

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值