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

随机梯度下降动画

展示 SGD 如何通过小批量样本估计梯度并更新参数,在损失曲面上一步步走向最优解。

Stochastic Gradient Descent (SGD)

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

展示等高线损失曲面,中心是最优解。当前参数位置在远离中心的某处。

第 1 步 / 共 617%
公式推导

SGD更新规则: 随机梯度下降

从批量梯度下降出发,引入随机采样思想,推导SGD的更新规则及其期望性质。

第 1 / 617%
1

批量梯度下降 (BGD)

θ←θ−η⋅1m∑i=1m∇ℓ(θ;x(i),y(i))\boldsymbol{\theta} \leftarrow \boldsymbol{\theta} - \eta \cdot \frac{1}{m} \sum_{i=1}^{m} \nabla \ell(\boldsymbol{\theta}; \mathbf{x}^{(i)}, y^{(i)})
👉

关键部分

1m∑i=1m∇ℓ\frac{1}{m} \sum_{i=1}^{m} \nabla \ell

BGD每次使用全部 m 个样本计算梯度,方向准确但计算量大,尤其当数据集很大时。

代码沙盒

SGD 优化器

使用 NumPy 实现随机梯度下降及其变体。

📌 基本 SGD:标准随机梯度下降实现。

🧠AI 冷知识

你知道吗?

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

🎯
趣闻

SGD每步只用一个样本(b=1)更新参数时,梯度方差极大。实践中几乎没人用纯SGD——大家说的"SGD"通常指的是小批量梯度下降(mini-batch GD)。

一句话总结
💡

随机梯度下降每次用单个或小批量样本的梯度估计更新参数,是大规模数据训练的标准方法。

常见误区

这些坑别踩

✗

误区 1

SGD每次用一个样本不如用全部数据(BGD)准确。

✓

正确理解

虽然单样本梯度有噪声,但这种随机性有助于跳出局部最优和鞍点,且更新频率高,实践中泛化能力往往更好。

✗

误区 2

SGD的随机性是缺点应该消除。

✓

正确理解

适度的随机性是SGD的优势,有助于探索参数空间、逃离尖锐局部最优,提升泛化能力,完全消除反而可能过拟合。

巩固练习

章节练习与面试准备

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

章末测试

共 4 题 · 选择题

1

SGD 的核心更新公式是?

2

SGD 中学习率过大会导致?

3

关于 SGD 的收敛性,下列说法正确的是?

4

SGD 的梯度噪声对优化有什么影响?

面试经典题

共 4 题 · 先思考再看答案

1
基础

请解释 SGD 的工作原理及其相比全批量梯度下降的优势。

2
中等

SGD 的学习率如何选择和调整?有哪些实践经验?

3
困难

为什么 SGD 在非凸优化(如深度网络)中仍能有效训练?

4
中等

SGD 的梯度方差问题如何缓解?

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