梯度下降法及其优化

本文详细介绍了梯度下降法及其优化算法,包括批量梯度下降、随机梯度下降和小批量梯度下降,重点讨论了动量法、NAG、Adagrad、RMSprop、Adadelta和Adam等优化方法,分析了它们的优缺点及应用场景。此外,还提到了Shuffering、Curriculum Learning、批规范化、Early Stopping和Gradient noise等辅助优化策略。
摘要由CSDN通过智能技术生成

简介

1、梯度下降

  • 引入:目标函数 J ( θ ) J(\theta) J(θ)不一定可以直接求解,线性回归是个特例
  • 方向:梯度的反方向,梯度指向值增加的方向

2、面对的主要困难

  • 梯度的计算:样本流量巨大时,计算耗时又费力(每个 x i x_i xi都有一个 J x i ( θ ) {J_{x_i}}(\theta) Jxi(θ)
  • 学习率的选择
    • 过小:算法收敛太慢
    • 过大:算法不收敛

3、分类

  • 批量梯度下降法(GD):原始的梯度下降法,使用全部样本
    • 优点:容易得到最优解
    • 缺点:收敛太慢
  • 随机梯度下降法(SGD):每次只使用一个样本
    • 优点:减少了相似样本的冗余计算,收敛速度加快
    • 缺点:不一定每次都朝着收敛方向,不稳定
  • 小批量随机梯度下降法(Mini Batch SGD):使用小批量样本
    • 优点:比单样本稳定,且可利用矩阵计算

4、普通的小批量SGD(以下简称为SGD)的困难:

  • 主要困难:学习率的选择问题
    • 预定的学习率衰减法很难对当前的数据自适应
    • 对不同参数无法采取不同的学习率
  • 其他困难:
    • 局部梯度下降的方向不一定是函数整体的下降方向
    • 容易困在鞍点附近

SGD的优化算法

1、为什么不使用牛顿法?

  • 牛顿法需要二阶求导,对高维特征计算量巨大
  • 对小批量数据,牛顿法二阶导数的估计容易引进噪声
  • 对非凸函数,容易受到鞍点甚至是最大值的吸引

2、动量法(Momentum)——适用于隧道型曲面(一个方向很陡,其他方向比较平坦)

  • 普通的SGD:由于垂直于函数主体方向有更大的梯度,因此隧道两侧振荡频繁
  • 动量法:
      v t = γ v t − 1 + η ∇ θ J ( θ )   θ t = θ t − 1 − v t \ v_t=\gamma {v_{t-1}}+\eta {\nabla _\theta }J(\theta)\\ \ \theta_t={\theta_{t-1}}-v_t  vt=γvt1+ηθJ(θ) θt=θt1vt
    • 动量项( γ v t − 1 \gamma {v_{t-1}} γvt1):在梯度一致的时候累积;在梯度变化频繁的时候相互抵消
    • 削减隧道两侧无谓的振荡
    • γ \gamma γ一般取0.9左右

3、Nesterov Accelerated Gradient(NAG):动量法的改进

  • 改进问题:动量法在极小值处下降速度不减少,可能在极小值处上升
  • 改进方法:利用主体下降方向提供下一步的位置,并在预判位置计算梯度
      v t = γ v t − 1 + η ∇ θ J ( θ − γ v t − 1 )   θ t = θ t − 1 − v t \ v_t=\gamma {v_{t-1}}+\eta {\nabla _\theta }J(\theta-\gamma {v_{t-1}})\\ \ \theta_t={\theta_{t-1}}-v_t  vt=γvt1+ηθJ(θγvt1) θt=θt1vt
  • 作用:显著提升了RNN的表现

4、Adagrad——适用于稀疏的数据

  • 特点:可自动调节学习率(lr)
    • 随训练步数增加,lr自动衰减
    • 更新频繁的参数,较小的lr
    • 更新不频繁的参数,较大的lr
  • 实现:对每个参数的历史更新进行叠加,并用作下一次更新
    • 第t步i参数的梯度: g t , i = ∇ θ J ( θ
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值