1700536900
1700536901
(7.47)
1700536902
1700536903
可以看出,为了获取准确的梯度,批量梯度下降法的每一步都把整个训练集载入进来进行计算,时间花费和内存开销都非常大,无法应用于大数据集、大模型的场景。相反,随机梯度下降法则放弃了对梯度准确性的追求,每步仅仅随机采样一个(或少量)样本来估计当前梯度,计算速度快,内存开销小。但由于每步接受的信息量有限,随机梯度下降法对梯度的估计常常出现偏差,造成目标函数曲线收敛得很不稳定,伴有剧烈波动,有时甚至出现不收敛的情况。图7.4展示了两种方法在优化过程中的参数轨迹,可以看出,批量梯度下降法稳定地逼近最低点,而随机梯度下降法的参数轨迹曲曲折折简直是“黄河十八弯”。
1700536904
1700536905
1700536906
1700536907
1700536908
图7.4 参数优化轨迹
1700536909
1700536910
进一步地,有人会说深度学习中的优化问题本身就很难,有太多局部最优点的陷阱。没错,这些陷阱对随机梯度下降法和批量梯度下降法都是普遍存在的。但对随机梯度下降法来说,可怕的不是局部最优点,而是山谷和鞍点两类地形。山谷顾名思义就是狭长的山间小道,左右两边是峭壁;鞍点的形状像是一个马鞍,一个方向上两头翘,另一个方向上两头垂,而中心区域是一片近乎水平的平地。为什么随机梯度下降法最害怕遇上这两类地形呢?在山谷中,准确的梯度方向是沿山道向下,稍有偏离就会撞向山壁,而粗糙的梯度估计使得它在两山壁间来回反弹震荡,不能沿山道方向迅速下降,导致收敛不稳定和收敛速度慢。在鞍点处,随机梯度下降法会走入一片平坦之地(此时离最低点还很远,故也称plateau)。想象一下蒙着双眼只凭借脚底感觉坡度,如果坡度很明显,那么基本能估计出下山的大致方向;如果坡度不明显,则很可能走错方向。同样,在梯度近乎为零的区域,随机梯度下降法无法准确察觉出梯度的微小变化,结果就停滞下来。
1700536911
1700536912
问题2 解决之道——惯性保持和环境感知。
1700536913
1700536914
难度:★★★☆☆
1700536915
1700536916
为了改进随机梯度下降法,研究者都做了哪些改动?提出了哪些变种方法?它们各有哪些特点?
1700536917
1700536918
分析与解答
1700536919
1700536920
随机梯度下降法本质上是采用迭代方式更新参数,每次迭代在当前位置的基础上,沿着某一方向迈一小步抵达下一位置,然后在下一位置重复上述步骤。随机梯度下降法的更新公式表示为
1700536921
1700536922
1700536923
,
1700536924
1700536925
(7.48)
1700536926
1700536927
其中,当前估计的负梯度−gt表示步子的方向,学习速率η控制步幅。改造的随机梯度下降法仍然基于这个更新公式。
1700536928
1700536929
■ 动量(Momentum)方法
1700536930
1700536931
为了解决随机梯度下降法山谷震荡和鞍点停滞的问题,我们做一个简单的思维实验。想象一下纸团在山谷和鞍点处的运动轨迹,在山谷中纸团受重力作用沿山道滚下,两边是不规则的山壁,纸团不可避免地撞在山壁,由于质量小受山壁弹力的干扰大,从一侧山壁反弹回来撞向另一侧山壁,结果来回震荡地滚下;如果当纸团来到鞍点的一片平坦之地时,还是由于质量小,速度很快减为零。纸团的情况和随机梯度下降法遇到的问题简直如出一辙。直观地,如果换成一个铁球,当沿山谷滚下时,不容易受到途中旁力的干扰,轨迹会更稳更直;当来到鞍点中心处,在惯性作用下继续前行,从而有机会冲出这片平坦的陷阱。因此,有了动量方法,模型参数的迭代公式为
1700536932
1700536933
1700536934
1700536935
1700536936
(7.49)
1700536937
1700536938
1700536939
1700536940
1700536941
(7.50)
1700536942
1700536943
具体来说,前进步伐−vt由两部分组成。一是学习速率η乘以当前估计的梯度gt;二是带衰减的前一次步伐vt−1。这里,惯性就体现在对前一次步伐信息的重利用上。类比中学物理知识,当前梯度就好比当前时刻受力产生的加速度,前一次步伐好比前一时刻的速度,当前步伐好比当前时刻的速度。为了计算当前时刻的速度,应当考虑前一时刻速度和当前加速度共同作用的结果,因此vt直接依赖于vt−1和gt,而不仅仅是gt。另外,衰减系数γ扮演了阻力的作用。
1700536944
1700536945
中学物理还告诉我们,刻画惯性的物理量是动量,这也是算法名字的由来。沿山谷滚下的铁球,会受到沿坡道向下的力和与左右山壁碰撞的弹力。向下的力稳定不变,产生的动量不断累积,速度越来越快;左右的弹力总是在不停切换,动量累积的结果是相互抵消,自然减弱了球的来回震荡。因此,与随机梯度下降法相比,动量方法的收敛速度更快,收敛曲线也更稳定,如图7.5所示。
1700536946
1700536947
1700536948
1700536949
[
上一页 ]
[ :1.7005369e+09 ]
[
下一页 ]