神经网络之梯度下降

神经网络是一个神奇的黑盒子,其求解方法主要是各种梯度下降迭代算法。
W ← W + Δ W t W\leftarrow W+\Delta W_t WW+ΔWt

梯度下降:

梯度为基于全体样本的平均梯度,学习率为静态学习率。
Δ W t = − η g t \Delta W_t=-\eta g_t ΔWt=ηgt

随机梯度下降:

梯度为基于单个样本的梯度,学习率为静态学习率。
Δ W t = − η g t \Delta W_t=-\eta g_t ΔWt=ηgt

Batch梯度下降:

梯度为基于多个样本的平均梯度,更准确点。速度介于梯度下降和随机梯度下降之间。学习率为静态学习率。
Δ W t = − η g t \Delta W_t=-\eta g_t ΔWt=ηgt

Momentum:

当前时刻参数更新量为前一时刻参数更新量和当前梯度的加权和。主要成分为前一时刻参数更新量。因为真实梯度应该局部平滑,这里相当于对梯度的滑动平均,算法更稳定,且速度加快。当冲量很大时,可以跳出某些局部最优点。
Δ W t = α Δ W t − 1 − η g t \Delta W_t=\alpha\Delta W_{t-1}-\eta g_t ΔWt=αΔWt1ηgt Δ W t = α Δ W t − 1 − ( 1 − α ) η g t \Delta W_t=\alpha\Delta W_{t-1}-(1-\alpha)\eta g_t ΔWt=αΔWt1(1α)ηgt
α = 0 \alpha=0 α=0时,退化为一般梯度下降。

Adagrad:

学习率自动变化,实际上为每个参数赋予一个动态减小的学习率。设置基准学习率后,当前时刻学习率与该参数历史积累梯度平方和的开方成反比。因为该参数历史梯度平方和不断增长,所以学习率会不断减小。
r ← r + g t ⊙ g t r\leftarrow r+g_t\odot g_t rr+gtgt
Δ W t = − η r + δ ⊙ g t \Delta W_t=-\frac{\eta}{\sqrt{r}+\delta}\odot g_t ΔWt=r +δηgt

RMSprop,均方根传播:

在Adagrad中,学习率可能很快减小为0,然后学习就停止了。设置基准学习率后,Hinton考虑改变梯度平方和的积累和指数加权积累和。也就是让当前时刻学习率与该参数的梯度平方的指数加权积累和的开方成反比。可以丢弃遥远过去的历史信息。[实际是梯度的二阶矩估计]。
r ← β r + ( 1 − β ) g t ⊙ g t r\leftarrow \beta r+(1-\beta)g_t\odot g_t rβr+(1β)gtgt
Δ W t = − η r + δ ⊙ g t \Delta W_t=-\frac{\eta}{\sqrt{r}+\delta}\odot g_t ΔWt=r +δηgt

Adadelta:

和RMSprop类似,只是在将RMSprop中基准学习率替换为参数历史更新量的开方。值得注意的是参数历史更新量的计算发生在参数更新后,当前时刻参数历史更新量等于上一个时刻参数历史更新量与当前时刻参数更新量平方和的加权和。
r ← β r + ( 1 − β ) g t ⊙ g t r\leftarrow \beta r+(1-\beta)g_t\odot g_t rβr+(1β)gtgt
Δ W t = − s r + δ ⊙ g t \Delta W_t=-\frac{s}{\sqrt{r}+\delta}\odot g_t ΔWt=r +δsgt
s ← β s + ( 1 − β ) Δ W t ⊙ Δ W t s\leftarrow \beta s+ (1-\beta)\Delta W_t\odot\Delta W_t sβs+(1β)ΔWtΔWt

Adam:

相当于结合了RMSprop和动量机制。当前时刻参数更新量由梯度本身改为梯度的一阶矩估计,当前时刻学习率与梯度的二阶矩估计的开方成反比。在算法初始阶段,由于一阶矩估计和二阶估计初始值为0对训练有不利影响,加入了矫正因子(当前一阶矩估计或二阶矩估计除以1-加权因子的t次方)。[梯度的一阶矩估计与二阶矩估计,实际分别是历史梯度的指数加权和,以及历史梯度平方的指数加权和]。
s ← α s + ( 1 − α ) g t s\leftarrow \alpha s+(1-\alpha)g_t sαs+(1α)gt
r ← β r + ( 1 − β ) g t ⊙ g t r\leftarrow \beta r+(1-\beta)g_t\odot g_t rβr+(1β)gtgt
s ^ ← s 1 − α t \hat s\leftarrow \frac{s}{1-\alpha^t} s^1αts
r ^ ← r 1 − β t \hat r\leftarrow \frac{r}{1-\beta^t} r^1βtr
Δ W t = − η r + δ ⊙ s ^ \Delta W_t=-\frac{\eta}{\sqrt{r}+\delta}\odot \hat{s} ΔWt=r +δηs^

注意:
一阶矩
二阶矩
冲量
指数加权和

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值