知了AI学习平台Logo知了
算法动画 · 梯度

Adam 优化器动画

展示 Adam 优化器如何结合动量(一阶矩)和自适应学习率(二阶矩)来智能地更新参数。

Adam Optimizer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
未激活·当前高亮(5 个元素)
1

在等高线损失曲面上,当前参数位置远离最优解。Adam 同时维护两个状态变量:一阶矩和二阶矩。

第 1 步 / 共 714%
公式推导

Adam优化器: 一阶矩+二阶矩+偏差校正

结合动量(一阶矩)和RMSProp(二阶矩),并加入偏差校正,推导Adam的完整更新规则。

第 1 / 617%
1

梯度计算

gt=∇J(θt−1)\mathbf{g}_t = \nabla J(\boldsymbol{\theta}_{t-1})
👉

关键部分

gt\mathbf{g}_t

在第 t 步计算当前参数处的梯度。

知识图谱

Adam 优化器家族

Adam 融合了 Momentum 和 RMSProp 的优势,是深度学习中最常用的优化器。

基础融合一阶矩启发融合二阶矩自适应超参数改进改进AdamSGDMome…AdaG…RMSP…学习率动量参数
核心
概念
方法
应用
代码沙盒

Adam 优化器

使用 NumPy 实现 Adam 自适应优化器。

📌 Adam 优化器实现:结合一阶矩和二阶矩估计的自适应学习率。

对比实验室

优化器对比:SGD vs Momentum vs AdaGrad vs RMSProp vs Adam

深度学习中常用优化器的演进路线,从基础 SGD 到自适应学习率 Adam。

对比项SGDMomentumAdaGradRMSPropAdam
学习率类型固定学习率固定+动量参数级自适应参数级自适应参数级自适应
一阶矩估计无有无无有
二阶矩估计无无有(累积)有(衰减)有(衰减)
收敛速度慢较快初期快后期慢快最快⭐
稀疏梯度适应性差一般好较好好⭐
超参数数量12234
内存开销最低低中等中等中等
适用场景简单模型/调参精细CNN训练稀疏数据RNN/非平稳目标通用首选
🧠AI 冷知识

你知道吗?

这些有趣的 AI 小知识可能让你大吃一惊

😲
反直觉

Adam的默认参数β1=0.9, β2=0.999不是随便选的。β2比β1更接近1是因为二阶矩(梯度平方)的波动比一阶矩(梯度)更大,需要更长的记忆窗口来稳定估计。

✨
实用技巧

Adam虽然好用,但在某些任务上SGD+动量的最终泛化性能更好。一个经验法则:先用Adam快速实验验证想法,再换SGD+动量做最终训练以获得更好的测试集表现。

一句话总结
💡

Adam结合了Momentum的一阶矩估计和RMSProp的二阶矩估计,是目前最广泛使用的深度学习优化器之一。

常见误区

这些坑别踩

✗

误区 1

Adam在所有情况下都优于SGD。

✓

正确理解

Adam收敛快但有时泛化能力不如SGD+Momentum,在图像分类等任务中SGD+Momentum常取得更好的最终性能,应根据任务选择。

✗

误区 2

Adam不需要调学习率。

✓

正确理解

Adam仍需设置基础学习率(默认1e-3不一定最优),且β1、β2、ε等超参数在不同任务可能需要调整,"自适应"不等于"免调参"。

巩固练习

章节练习与面试准备

通过测试检验学习效果,通过面试题提升实战能力

章末测试

共 4 题 · 选择题

1

Adam 优化器结合了哪两种优化方法的思想?

2

Adam 中偏差校正确(bias correction)的作用是?

3

关于 Adam 的特点,下列说法正确的是?

4

Adam 中一阶矩和二阶矩的衰减率 β₁、β₂ 通常的默认值是?

面试经典题

共 5 题 · 先思考再看答案

1
基础

请简述 Adam 优化器的原理及其更新公式。

2
中等

Adam 与 SGD、Momentum、RMSProp 是什么关系?

3
中等

Adam 中的动量和自适应学习率分别如何起作用?

4
困难

为什么 Adam 需要偏差校正?不校正会有什么后果?

5
困难

Adam 在某些情况下可能不收敛,原因是什么?AdamW 有什么改进?

💡 建议:先独立思考并组织语言,再对照参考答案查漏补缺