问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

AdaGrad 优化算法

创作时间:
作者:
@小白创作中心

AdaGrad 优化算法

引用
CSDN
1.
https://m.blog.csdn.net/m0_73426548/article/details/146041636

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

1. 核心思想

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

2. 工作原理

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

3. AdaGrad 的优缺点

优点

  • 无需手动调参:自动为每个参数分配学习率。
  • 适合稀疏数据:在自然语言处理(NLP)等领域效果显著。
  • 缓解梯度消失:通过累积梯度调整学习率。

缺点

  • 学习率过早衰减:随着训练进行,分母持续增大,学习率趋近于零,可能导致训练停滞。
  • 计算复杂度高:维护累积矩阵 G 需要存储所有参数的历史梯度,内存占用较大。

4. 与其他优化算法对比

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

5. 实际应用场景

  • 词嵌入(Word Embedding):如 Word2Vec 中处理稀疏词频矩阵。
  • 图神经网络(GNN):稀疏邻接矩阵的场景。
  • 小批量训练:动态调整学习率以适应不同批次的数据分布。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号