当前位置: 首页 > article >正文

Adam优化器

目录

1. 核心思想

2. 数学原理

​维护变量

​参数更新规则

​3. Adam 的关键改进

​4. 优点

​5. 缺点

​6. 与其他优化器的对比

7. 实际应用场景


        

        Adam(Adaptive Moment Estimation)​​ 是一种结合 ​动量(Momentum)​​ 和 ​RMSProp​ 自适应学习率思想的优化算法,由 ​Diederik Kingma 和 Jimmy Ba​ 于 2014 年提出。它在深度学习中被广泛应用,尤其适合大规模数据和非凸优化问题,被誉为“几乎万能”的优化器。

1. 核心思想

  • 动量加速:通过累积历史梯度方向,减少局部最优解的震荡。
  • 自适应学习率:为每个参数动态调整学习率,基于参数梯度的一阶矩(均值)和二阶矩(方差)。
  • 鲁棒性:对稀疏梯度和非平稳目标函数具有较好的适应性。

 

2. 数学原理

维护变量
  1. 一阶矩估计​(均值):

    • mt​:当前梯度 gt​ 的指数加权平均。
    • β1​:动量系数(默认值 0.9)。
  2. 二阶矩估计​(方差):

    • vt​:当前梯度平方的指数加权平均。
    • β2​:方差系数(默认值 0.999)。
参数更新规则

  • 简化形式​(通常省略高阶小项):​​
    • η:初始学习率。
    • ϵ:极小值(防止除以零,如 1e−8)。

3. Adam 的关键改进

  1. 动量整合
    • 通过一阶矩 mt​ 指向最有可能的下降方向,加速收敛。
  2. 自适应学习率
    • 通过二阶矩 vt​ 动态调整学习率,对每个参数单独缩放。
  3. 偏差修正
    • 由于初始阶段 mt​ 和 vt​ 为全零,需通过 1−β1t​ 和 1−β2t​ 进行修正。

4. 优点

  • 快速收敛:动量加速减少震荡,自适应学习率提升效率。
  • 鲁棒性:对稀疏梯度(如 NLP)和非平稳目标(如 RNN)表现稳定。
  • 少调参:默认参数 (β1​=0.9,β2​=0.999) 在大多数任务中表现优异。
  • 内存高效:仅需维护两个向量(一阶矩和二阶矩)。

5. 缺点

  • 局部最优风险:仍可能陷入非凸函数的局部最优解。
  • 超参数敏感:极端数据或特殊任务可能需要调整初始学习率 η。
  • 收敛速度争议:某些研究表明,Adam 在极小值附近可能震荡,而非直接收敛。

6. 与其他优化器的对比

算法特点适用场景
SGD简单但依赖手动调参。小数据集、简单模型
Momentum加速收敛,减少震荡。大数据集、非凸优化
RMSProp自适应学习率,缓解梯度消失。深度网络、非平稳目标
Adam动量 + RMSProp 的结合,自适应且高效。绝大多数现代深度学习任务

 

7. 实际应用场景

  • 计算机视觉(CV)​:图像分类、目标检测、生成对抗网络(GANs)。
  • 自然语言处理(NLP)​:Transformer 模型、BERT 等预训练任务。
  • 强化学习(RL)​:稳定策略更新和价值网络训练。
  • 推荐系统:处理高维稀疏特征。

http://www.kler.cn/a/572663.html

相关文章:

  • kubectrl 使用多k8s 配置文件
  • 后端架构模式之-BFF(Backend-For-Frontend)
  • 国科大——数据挖掘(0812课程)——考试真题
  • ASP.NET Core JWT认证与授权
  • 【玩转正则表达式】将正则表达式中的分组(group)与替换进行结合使用
  • 深入C语言:指针与数组的经典笔试题剖析
  • 大语言模型(LLM)和嵌入模型的统一调用接口
  • 谈谈常用的分布式 ID 设计方案?
  • MySQL数据库只能通过localhost访问,无法通过IP访问?两步快速定位和解决
  • stm32主从机硬件IIC实现
  • Windows10下本地搭建Manim环境
  • 新品速递 | 多通道可编程衰减器+矩阵系统,如何破解复杂通信测试难题?
  • 探秘基带算法:从原理到5G时代的通信变革【四】Polar 编解码(二)
  • 【工具】COME对比映射学习用于scRNA-seq数据的空间重构
  • 文件压缩与解压工具7-Zip的安装和使用(免费)
  • 探索DeFi世界:用Python开发去中心化金融应用
  • 第5章 使用OSSEC进行监控(网络安全防御实战--蓝军武器库)
  • 【深度学习CV】【图像分类】从CNN(卷积神经网络)、ResNet迁移学习到GPU高效训练优化【案例代码】详解
  • c语言、c++怎么将string类型数据转成int,怎么将int转成string
  • 基于stm32的多旋翼无人机(Multi-rotor UAV based on stm32)