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

Adam(Adaptive Moment Estimation)

Adam优化器的作用

Adam(Adaptive Moment Estimation)结合了一阶矩(动量)和二阶矩(自适应学习率)的优势,在深度学习优化中表现优异。

1. 一阶矩(动量)的作用

  • 稳定梯度方向:通过指数移动平均(EMA)累积历史梯度,平滑噪声,减少震荡。
  • 跳过鞍点/局部最小值:惯性效应帮助参数逃离平坦区域或局部极小值。

数学表达:
m t = β 1 ⋅ m t − 1 + ( 1 − β 1 ) ⋅ g t (一阶矩估计) m_t = \beta_1 \cdot m_{t-1} + (1 - \beta_1) \cdot g_t \quad \text{(一阶矩估计)} mt=β1mt1+(1β1)gt(一阶矩估计)

2. 二阶矩(自适应学习率)的作用

  • 稳定步长:通过梯度平方的EMA调整学习率,防止梯度爆炸或消失。
  • 防止振荡:大梯度时减小步长,小梯度时增大步长,使更新更平稳。

数学表达:
v t = β 2 ⋅ v t − 1 + ( 1 − β 2 ) ⋅ g t 2 (二阶矩估计) v_t = \beta_2 \cdot v_{t-1} + (1 - \beta_2) \cdot g_t^2 \quad \text{(二阶矩估计)} vt=β2vt1+(1β2)gt2(二阶矩估计)

3. Adam的完整数学公式

参数更新规则
θ t + 1 = θ t − η ⋅ m ^ t v ^ t + ϵ \theta_{t+1} = \theta_t - \eta \cdot \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} θt+1=θtηv^t +ϵm^t

其中:

  • m ^ t = m t 1 − β 1 t \hat{m}_t = \frac{m_t}{1 - \beta_1^t} m^t=1β1tmt (一阶矩偏差修正)
  • v ^ t = v t 1 − β 2 t \hat{v}_t = \frac{v_t}{1 - \beta_2^t} v^t=1β2tvt (二阶矩偏差修正)
  • η \eta η:学习率, ϵ \epsilon ϵ:小常数(通常 1 0 − 8 10^{-8} 108

超参数典型值

  • β 1 = 0.9 \beta_1 = 0.9 β1=0.9 (一阶矩衰减率)
  • β 2 = 0.999 \beta_2 = 0.999 β2=0.999 (二阶矩衰减率)
http://www.xdnf.cn/news/3550.html

相关文章:

  • windows电脑端SSH连接开termux的安卓端
  • 字符串格式漏洞-[第五空间2019 决赛]PWN5
  • 【 Node.js】 Node.js安装
  • 【无标题】linux的多进程讲解
  • C#中的LINQ:简化数据查询与操作
  • 梳理顶会论文相关的经验贴
  • Linux Shell 重定向与管道符号(>, >>, |)的实现机制
  • GD32F407单片机开发入门(二十五)HC-SR04超声波模块测距实战含源码
  • epoll函数
  • Perforated Backpropagation:神经网络优化的创新技术及PyTorch使用指南
  • TensorFlow深度学习实战——基于循环神经网络的情感分析模型
  • 多模态大语言模型arxiv论文略读(五十二)
  • LangChain4j +DeepSeek大模型应用开发——6 提示词
  • Nginx 核心功能02
  • 小米首个推理大模型开源——Xiaomi MiMo,为推理而战!
  • 体系学习1:C语言与指针1——预定义、进制打印、传参为数组
  • python多进程的使用
  • 机器视觉开发-摄像头扫描二维码
  • 2025五一数学建模C题完整分析论文(共36页)(含模型、可运行代码、数据)
  • 嵌入式产品运行中数据丢失怎么办?
  • SpringBoot云端日记本系统开发实现
  • 记录搭建自己的应用中心-需求看板搭建
  • DeepSeek V3 训练策略:FP8混合精度与多Token预测
  • 电子病历高质量语料库构建方法与架构项目(环境聆听与自动化文档生成篇)
  • AD数据库清理
  • Mem0.ai研究团队开发的全新记忆架构系统“Mem0”正式发布
  • TTL、LRU、LFU英文全称及释义
  • 脑机接口技术:开启人类与机器的全新交互时代
  • LabVIEW异步调用VI介绍
  • 【2025年五一数学建模竞赛】A题 解题思路与模型代码