打字猴:1.70053695e+09
1700536950 图7.5 随机梯度下降法中的动量项
1700536951
1700536952 ■ AdaGrad方法
1700536953
1700536954 惯性的获得是基于历史信息的,那么,除了从过去的步伐中获得一股子向前冲的劲儿,还能获得什么呢?我们还期待获得对周围环境的感知,即使蒙上双眼,依靠前几次迈步的感觉,也应该能判断出一些信息,比如这个方向总是坑坑洼洼的,那个方向可能很平坦。
1700536955
1700536956 随机梯度下降法对环境的感知是指在参数空间中,根据不同参数的一些经验性判断,自适应地确定参数的学习速率,不同参数的更新步幅是不同的。例如,在文本处理中训练词嵌入模型的参数时,有的词或词组频繁出现,有的词或词组则极少出现。数据的稀疏性导致相应参数的梯度的稀疏性,不频繁出现的词或词组的参数的梯度在大多数情况下为零,从而这些参数被更新的频率很低。在应用中,我们希望更新频率低的参数可以拥有较大的更新步幅,而更新频率高的参数的步幅可以减小。AdaGrad方法采用“历史梯度平方和”来衡量不同参数的梯度的稀疏性,取值越小表明越稀疏,具体的更新公式表示为
1700536957
1700536958
1700536959
1700536960
1700536961 (7.51)
1700536962
1700536963
1700536964 其中θt+1,i表示(t+1)时刻的参数向量θt+1的第i个参数,gk,i表示k时刻的梯度向量gk的第i个维度(方向)。另外,分母中求和的形式实现了退火过程,这是很多优化技术中常见的策略,意味着随着时间推移,学习速率越来越小,从而保证了算法的最终收敛。
1700536965
1700536966 ■ Adam方法
1700536967
1700536968 Adam方法将惯性保持和环境感知这两个优点集于一身。一方面,Adam记录梯度的一阶矩(first moment),即过往梯度与当前梯度的平均,这体现了惯性保持;另一方面,Adam还记录梯度的二阶矩(second moment),即过往梯度平方与当前梯度平方的平均,这类似AdaGrad方法,体现了环境感知能力,为不同参数产生自适应的学习速率。一阶矩和二阶矩采用类似于滑动窗口内求平均的思想进行融合,即当前梯度和近一段时间内梯度的平均值,时间久远的梯度对当前平均值的贡献呈指数衰减。具体来说,一阶矩和二阶矩采用指数衰退平均(exponential decay average)技术,计算公式为
1700536969
1700536970
1700536971
1700536972
1700536973 (7.52)
1700536974
1700536975
1700536976
1700536977
1700536978 (7.53)
1700536979
1700536980 其中β1,β2为衰减系数,mt是一阶矩,vt是二阶矩。
1700536981
1700536982
1700536983
1700536984 如何理解一阶矩和二阶矩呢?一阶矩相当于估计:由于当下梯度gt是随机采样得到的估计结果,因此更关注它在统计意义上的期望;二阶矩相当于估计,这点与AdaGrad方法不同,不是gt2从开始到现在的加和,而是它的期望。它们的物理意义是,当||mt||大且vt大时,梯度大且稳定,这表明遇到一个明显的大坡,前进方向明确;当||mt||趋于零且vt大时,梯度不稳定,表明可能遇到一个峡谷,容易引起反弹震荡;当||mt||大且vt趋于零时,这种情况不可能出现;当||mt||趋于零且vt趋于零时,梯度趋于零,可能到达局部最低点,也可能走到一片坡度极缓的平地,此时要避免陷入平原(plateau)。另外,Adam方法还考虑了mt,vt在零初始值情况下的偏置矫正。具体来说,Adam的更新公式为
1700536985
1700536986
1700536987
1700536988
1700536989 (7.54)
1700536990
1700536991
1700536992
1700536993 其中,,。
1700536994
1700536995 ·总结与扩展·
1700536996
1700536997 除了上述三种随机梯度下降法变种,研究者还提出了以下几种方法。
1700536998
1700536999 (1)Nesterov Accelerated Gradient。该方法扩展了动量方法,顺着惯性方向,计算未来可能位置处的梯度而非当前位置的梯度,这个“提前量”的设计让算法有了对前方环境预判的能力。
[ 上一页 ]  [ :1.70053695e+09 ]  [ 下一页 ]