σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academy路线图学习路线
Ctrl K
AO
+1.2k 位学习者
登录加入 ↗
路线图学习路线
AO
+1.2k 位学习者
登录
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academy路线图学习路线
Ctrl K
AO
+1.2k 位学习者
登录加入 ↗
路线图学习路线
AO
+1.2k 位学习者
登录
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Optimization 学习路线›模块 2 · 梯度方法›主题 2.2·~55分钟中级

随机梯度下降与小批量

路线进度模块 2/5 · 主题 2/3
2.2 随机梯度下降与小批量
—实验得分— / 100总 XP—连续天数—

用少量样本估计梯度

大多数拟合问题都在最小化数据上的平均 f(w)=1n∑i=1nℓi(w)f(\mathbf w)=\frac1n\sum_{i=1}^{n}\ell_i(\mathbf w)f(w)=n1​∑i=1n​ℓi​(w),例如 nnn 个观测上的平方误差。精确梯度每步都要用到全部 nnn 项,当 nnn 是数百万笔 tick 时太慢。随机梯度下降抽取由 bbb 个观测组成的随机小批量 BBB,改用它们的平均梯度 gBg_BgB​。这个估计是无偏的,即平均而言等于真实梯度。

gB=1b∑i∈B∇ℓi(w),w←w−η gB,E[gB]=∇f,Var(gB)=σ2bg_B=\frac1b\sum_{i\in B}\nabla\ell_i(\mathbf w),\qquad \mathbf w\leftarrow\mathbf w-\eta\,g_B,\qquad \mathbb E[g_B]=\nabla f,\qquad \mathrm{Var}(g_B)=\frac{\sigma^{2}}{b}gB​=b1​i∈B∑​∇ℓi​(w),w←w−ηgB​,E[gB​]=∇f,Var(gB​)=bσ2​(1)

这条捷径的代价是噪声。批量梯度的方差按 1/b1/b1/b 下降,所以把标准差减半需要把批量扩大到四倍,收益急剧递减。一个 epoch 是对数据的完整一遍,含 n/bn/bn/b 次更新。步长恒定时迭代点永远不会安定:即使在极小点,批量梯度也不为零,所以会在极小点周围的小球里持续抖动。解决办法是让步长缩小。经典的 Robbins-Monro 条件要求 ∑tηt=∞\sum_t\eta_t=\infty∑t​ηt​=∞,使迭代能走到需要的远处,以及 ∑tηt2<∞\sum_t\eta_t^{2}<\infty∑t​ηt2​<∞,使噪声逐渐消失。步长表 ηt=η0/t\eta_t=\eta_0/tηt​=η0​/t 同时满足两者。

四个数据点用损失 ℓi=12(w−xi)2\ell_i=\tfrac12(w-x_i)^2ℓi​=21​(w−xi​)2(梯度为 w−xiw-x_iw−xi​)把水平 www 拟合到数据 x=2,4,6,12x=2,4,6,12x=2,4,6,12。在 w=0w=0w=0 时四个单样本梯度为 −2,−4,−6,−12-2,-4,-6,-12−2,−4,−6,−12,其平均即完整梯度为 −6-6−6。单样本梯度围绕该平均的方差为 16+4+0+364=14\frac{16+4+0+36}{4}=14416+4+0+36​=14。因此有放回抽取 b=7b=7b=7 的批量,其梯度方差为 14/7=214/7=214/7=2。
  • 无偏:随机批量的梯度平均等于完整梯度。
  • 有噪声:方差 σ2/b\sigma^2/bσ2/b,批量扩大四倍标准差减半。
  • 递减步长:∑ηt=∞\sum\eta_t=\infty∑ηt​=∞ 且 ∑ηt2<∞\sum\eta_t^2<\infty∑ηt2​<∞(如 ηt=η0/t\eta_t=\eta_0/tηt​=η0​/t)可保证收敛。
按时间排列的数据不是随机样本上述无偏性依赖于随机抽取批量。由连续日期组成的批量来自同一个市场状态,其梯度会偏向该状态,按时间顺序训练还可能随状态漂移。每个 epoch 开始时要打乱样本下标。当顺序本身重要时(如时间序列模型),在每个样本内部保持序列,只打乱样本之间的顺序。

实验:评分内容

  • 完整梯度15 分
  • 单个样本的噪声15 分
  • 批量的噪声15 分
  • 每个 epoch 的更新次数15 分
  • 能收敛的步长表15 分
  • 小批量循环10 分
  • 为什么恒定步长不会安定15 分
0/ 已答 7 题
任务
1数值作答15 分未作答

数据 x=2,4,6,12x=2,4,6,12x=2,4,6,12,损失 ℓi=12(w−xi)2\ell_i=\tfrac12(w-x_i)^2ℓi​=21​(w−xi​)2。在 w=0w=0w=0 处的完整梯度 14∑i(w−xi)\frac14\sum_i(w-x_i)41​∑i​(w−xi​) 是多少?

full=full =full=允许误差:± 0.01
2数值作答15 分未作答

w=0w=0w=0 处的单样本梯度为 −2,−4,−6,−12-2,-4,-6,-12−2,−4,−6,−12,平均 −6-6−6。它们的方差(与平均偏差平方的均值)是多少?

var1=var1 =var1=允许误差:± 0.1
3数值作答15 分未作答

有放回抽取 b=7b=7b=7 个样本的小批量对这些梯度取平均。批量梯度的方差是多少?

var7=var7 =var7=允许误差:± 0.02
4数值作答15 分未作答

数据集有 n=10,000n=10{,}000n=10,000 个观测,小批量大小为 b=250b=250b=250。一个 epoch 包含多少次更新?

updates=updates =updates=允许误差:± 0.5
5选择15 分未作答

哪种步长表同时满足 Robbins-Monro 的两个条件 ∑ηt=∞\sum\eta_t=\infty∑ηt​=∞ 与 ∑ηt2<∞\sum\eta_t^2<\infty∑ηt2​<∞?

6排列步骤10 分未作答

把小批量 SGD 的一个 epoch 按顺序排列。

拖动以重新排序;也可聚焦某项,按空格抬起,用方向键移动,再按空格放下。

  1. 1用 w←w−ηgB\mathbf w\leftarrow\mathbf w-\eta g_Bw←w−ηgB​ 更新权重
  2. 2对下一个批量重复,直到所有批量用完
  3. 3打乱数据并分成批量
  4. 4在一个批量上计算平均梯度 gBg_BgB​
7用文字解释15 分未作答

用一两句话解释:恒定步长的 SGD 为什么会在极小点附近持续抖动,以及如何减轻。

数学模式键盘或 LaTeX 输入第 1/7 题 · Ctrl ⏎ 检查

登录后即可运行你的代码。

所有讲解均可免费阅读。创建账户或登录后,即可运行代码、运行测试并提交此实验。

  • 浏览器内 IDE 与 bash 终端,无需安装
  • 即时评分、XP 以及你在学习路线中的位置
创建账户登录
或
使用 GitHub 继续