优化算法中动量法的理解

动量法

梯度下降存在问题,因为是对整个梯度用学习率做的衰减和增强,所以所有的梯度分量都享受同一个权重学习率,容易造成有些分量衰减的过于缓慢,有些分量震荡的剧烈到最后发散的可能

动量法在一定程度上能解决梯度下降的问题,如果考虑历史梯度,将会引导参数朝着最优值更快收敛,这就是动量算法的基本思想

v t = γ v t − 1 + η t g t v_t = \gamma v_{t-1} + \eta_t g_t vt=γvt1+ηtgt
x t = x t − 1 − v t x_t = x_{t-1} - v_t xt=xt1vt

由指数加权移动平均式子转化为
v t = γ v t − 1 + ( 1 − γ ) η t 1 − γ g t v_t = \gamma v_{t-1} + (1-\gamma)\frac{\eta_t}{1-\gamma} g_t vt=γvt1+(1γ)1γηtgt

动量法在每个时间步的自变量更新量近似于将最近1/(1−γ)个时间步的普通更新量(即学习率乘以梯度)做了指数加权移动平均后再除以1−γ,所以,在动量法中,自变量在各个方向上的移动幅度不仅取决当前梯度,还取决于过去的各个梯度在各个方向上是否一致
动量超参数γ满足0≤γ<1, 动量项γ通常设定为0.9, 当γ=0时,动量法等价于小批量随机梯度下降,
依赖指数加权移动平均使得自变量的更新方向更加一致,从而降低发散的可能

指数加权移动平均

y t = γ y t − 1 + ( 1 − γ ) x t y_t = \gamma y_{t-1} + (1-\gamma)x_t yt=γyt1+(1γ)xt
y t = ( 1 − γ ) x t + γ ( 1 − γ ) x t − 1 + γ 2 y t − 2 y_t= (1-\gamma)x_t + \gamma(1-\gamma)x_{t-1} + \gamma^2y_{t-2} yt=(1γ)xt+γ(1γ)xt1+γ2yt2

y t = ( 1 − γ ) x t + γ ( 1 − γ ) x t − 1 + . . . . + γ n − 1 ( 1 − γ ) x 1 + γ n y 0 y_t = (1-\gamma) x_t + \gamma (1-\gamma)x_{t-1} + ....+ \gamma^{n-1} (1-\gamma)x_1 + \gamma^n y_0 yt=(1γ)xt+γ(1γ)xt1+....+γn1(1γ)x1+γny0

γ \gamma γ=0.9时, y t = 0.9 y t − 1 + 0.1 x t y_t = 0.9 y_{t-1} + 0.1x_t yt=0.9yt1+0.1xt

当最原始的 y 0 y_0 y0=0时

y t = ( 1 − γ ) ( x t + γ x t − 1 + γ 2 x t − 2 + . . . + γ t − 1 x 1 ) y_t = (1-\gamma)(x_t + \gamma x_{t-1} + \gamma^2 x_{t-2} + ... + \gamma^{t-1}x_1) yt=(1γ)(xt+γxt1+γ2xt2+...+γt1x1)

可以看出数值的加权系数随时间呈现指数下降
由于

lim ⁡ n → ∞ ( 1 − 1 n ) n = 1 e \lim_{n \rightarrow \infty}(1 - \frac{1}{n})^n = \frac{1}{e} limn(1n1)n=e1

所以将1/e作为系数临界值,当系数小于1/e时不考虑
γ \gamma γ=0.9时,此时 0. 9 10 ≈ 1 e 0.9^{10} \approx \frac{1}{e} 0.910e1可以认为是近10个数的加权平均

偏差修正,初始 y 0 y_0 y0如果等于0会造成初始的数值都偏小,此时可以用一个惩罚分母

y t = γ y t − 1 + ( 1 − γ ) x t 1 − γ t y_t = \frac{\gamma y_{t-1} + (1-\gamma)x_t}{1-\gamma^t} yt=1γtγyt1+(1γ)xt

当t趋近0时,分母离1最远,此时相当于放大,当t很大时,分母项趋近1和之前式子近似

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值