AdaGrad 优化算法

AdaGrad(Adaptive Gradient Algorithm)​​ 是一种基于参数自适应调整学习率的优化算法,由 ​John Duchi​ 等人于 2011 年提出。其核心思想是为每个参数单独调整学习率,以应对不同参数对梯度的敏感性差异,尤其适合解决稀疏数据和深层网络中的优化问题。

1. 核心思想

  • 自适应性:根据参数的历史梯度自动调整学习率。
  • 稀疏数据友好:在参数更新频率低的场景(如词嵌入)中,能动态放大稀疏梯度的学习率。
  • 缓解梯度消失:通过累积梯度平方根调整学习率,避免早期阶段学习率过小。

 

2. 工作原理

  • 维护变量:维护一个累积梯度平方的矩阵 G,初始为全零。
  • 更新规则
    1. 计算当前梯度 gt​。
    2. 更新累积梯度矩阵:
    3. 参数更新公式:
      • η:初始学习率。
      • ϵ:极小值(防止除以零,如 1e−8)。
    4. 学习率特点:频繁更新的参数(如深层网络的浅层参数)分母较大,学习率较小;稀疏参数的分母较小,学习率较大。

 

3. AdaGrad 的优缺点

优点
  • 无需手动调参:自动为每个参数分配学习率。
  • 适合稀疏数据:在自然语言处理(NLP)等领域效果显著。
  • 缓解梯度消失:通过累积梯度调整学习率。
缺点
  • 学习率过早衰减:随着训练进行,分母持续增大,学习率趋近于零,可能导致训练停滞。
  • 计算复杂度高:维护累积矩阵 G 需要存储所有参数的历史梯度,内存占用较大。

4. 与其他优化算法对比

算法特点适用场景
SGD使用固定学习率,简单但依赖手动调参。简单模型、小数据集
Momentum引入动量项加速收敛,减少震荡。大数据集、非凸优化
RMSProp改进 AdaGrad,使用指数衰减加权历史梯度,避免学习率过早衰减。深度网络、长期依赖任务
Adam结合 Momentum 和 RMSProp 的优点,自适应调整学习率和动量。大多数现代深度学习任务

 

5. 实际应用场景

  • 词嵌入(Word Embedding)​:如 Word2Vec 中处理稀疏词频矩阵。
  • 图神经网络(GNN)​:稀疏邻接矩阵的场景。
  • 小批量训练:动态调整学习率以适应不同批次的数据分布。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值