SGD 為何收斂到好解?

其普遍成立的充分條件是什麼?

§1 前言:從 SGD 到「好解」

什麼是 SGD?

機器學習的核心任務是找到一組參數,讓模型的預測盡可能準確。為此,我們需要最小化一個「損失函數」——它衡量模型犯了多少錯。

最直觀的方法是「梯度下降」(Gradient Descent, GD):計算損失函數相對於所有參數的梯度(也就是「往哪個方向調整參數,損失會下降最快」),然後朝那個方向走一步。重複這個過程,參數會逐漸移動到損失較低的位置。

但現實中的資料集動輒百萬筆。每走一步就要把所有資料都算一遍,太慢了。隨機梯度下降(Stochastic Gradient Descent, SGD)的做法是:每一步只隨機抽一筆(或一小批)資料來估算梯度,然後就往那個方向走。這讓每一步的計算量大幅降低,但代價是每一步的方向不再精準——帶有隨機的「噪聲」。

為什麼「收斂到好解」是個大問題?

損失函數的地形通常像一片崎嶇的山地,有很多個「盆地」(局部極小值)。有些盆地是「好解」——模型不但在訓練資料上表現好,面對沒見過的新資料也能做出正確預測(泛化好)。有些盆地是「壞解」——模型死記了訓練資料的噪聲,對新資料一塌糊塗(過擬合)。

神奇的是,實驗反覆顯示:SGD 往往能找到好解,即使好解在參數空間中只佔極小的比例。這不是巧合——SGD 隨機性本身就是一種隱式正則化,它天然偏好某類解。但這個偏好究竟是什麼?它在什麼條件下成立?什麼條件下會失效?

這就是本文要回答的問題。

本文的核心結論

SGD 收斂到好解不是無條件的普遍事實——存在四類嚴格反例使其失敗。但在四道關卡全部通過時,SGD 的隱式正則化機制可以被完整證明:

前三個是你可以透過調整演算法(例如學習率)來控制的;第四個則取決於問題本身——數據的結構是否讓「簡單的函數」恰好是「正確的函數」。

閱讀地圖

本文的結構如下:

  1. §2 形式模型——建立共同語言:SGD 的數學定義、什麼叫「好解」
  2. §3 定理 I(非插值域)——當訓練損失不為零時,SGD 的噪聲如何偏好泛化好的解
  3. §4 定理 II(插值域)——當訓練損失為零時,SGD 的離散本性如何篩選簡單的解
  4. §5 四類反例——四道關卡各自被違反時,SGD 如何失敗
  5. §6 概念問答——澄清五個常見困惑(平坦性 vs 簡單性、最小範數、detailed balance 等)
  6. §7 噪聲的四重角色——統整噪聲在不同機制域中的作用
  7. §8 可驗證預測——五個可被實驗推翻的具體預測
  8. §9 結語——回歸命題,總結本文解決了什麼
  9. §10 未解決的關口——五道尚待突破的數學障礙

§2 形式模型與符號

在開始之前,先建立共同語言。SGD 就是每次隨機拿一筆資料來更新參數,我們關心的是:它最後停在哪裡?那個位置好不好?

SGD 迭代視覺化

拖動滑桿調整學習率 η

「好解」vs「壞解」四種定義

G1-G4 四種定義,底部箭頭顯示關聯

SGD 更新公式與噪聲方差

SGD 迭代:\(\theta_{t+1} = \theta_t - \eta \nabla\ell_{z_t}(\theta_t)\),\(z_t \sim \text{Uniform}(\{1,\ldots,n\})\)

梯度噪聲方差:\(\Sigma(\theta) = \frac{1}{n}\sum_i [\ell'_i(\theta)]^2 - [L'(\theta)]^2\)

收斂的三層定義:

  • (C1) 優化收斂:\(L(\theta_t) \to L^*\) a.s.
  • (C2) 分佈收斂:\(\theta_t \to^d \mu_\eta\)(某穩態測度)
  • (C3) 吸收收斂:\(\theta_t \to \theta^*\) a.s.

好解的四種定義(reparameterization-invariant):

  • (G1) 低噪聲比:\(\Sigma(\theta^*)/H(\theta^*)\) 在所有極小值中較小
  • (G2) 低 Jacobian 複雜度:\(C(\theta^*) = \|J\|_F/\sqrt{n}\) 小(插值域)
  • (G3) 穩定解:leave-one-out 穩定性 \(\beta\) 小
  • (G4) 泛化解:\(L_{\text{test}} - L_{\text{train}} \le \varepsilon\) 小

核心關聯:SGD 偏好 (G1)/(G2),而 (G1)→(G3)→(G4),(G2)→(G4)。

連續時間 SDE 近似

\(d\theta = -\nabla L(\theta)\,dt + \sqrt{\tau\,\Sigma(\theta)}\,dW_t\),其中 \(\tau = \eta/B\)

離散線性化

在插值解 \(\theta^*\) 附近:\(\delta_{t+1} = (I - \eta J_{z_t}J_{z_t}^\top)\delta_t\)

其中 \(J_i = \nabla_\theta f_{\theta^*}(x_i)\),\(h_i = \|J_i\|^2\)

§3 定理 I:非插值域閉環 [Paper C]

當模型還沒有完美擬合所有資料時,SGD 的隨機噪聲就像溫度——它讓參數在不同的盆地之間流動,最終更常停留在「每筆資料梯度都很小」的安靜盆地裡。而安靜的盆地,恰好是泛化更好的地方(在四道關卡都通過的前提下)。

有效勢能 V_eff vs 原始損失 L

拖動滑桿調整溫度 τ = η/B

Leave-One-Out 泛化直覺

觀察移除資料點後擬合曲線的偏移

Fokker-Planck 穩態推導

點擊步驟跳轉,或等待自動播放

Part I 完整證明:穩態分佈
  1. FPE(Itô):\(\partial p/\partial t = \partial_\theta[L'p] + (\tau/2)\partial_\theta^2[\Sigma p]\)
  2. 穩態 \(\partial p/\partial t = 0\),定義機率流 \(J = -L'p - (\tau/2)(\Sigma p)'\)
  3. \(dJ/d\theta = 0 \Rightarrow J = \text{const}\)
  4. 邊界條件 \(p \to 0\) 當 \(|\theta|\to\infty\) → \(J \equiv 0\)
  5. 展開:\(L'p + (\tau/2)[\Sigma'p + \Sigma p'] = 0\)
  6. \(p'/p = -2L'/(\tau\Sigma) - \Sigma'/\Sigma\)
  7. 右側 \(= -\frac{d}{d\theta}\left[\frac{2}{\tau}\int \frac{L'}{\Sigma}d\theta + \ln\Sigma\right]\)
  8. 積分:\(\ln p = -\frac{2}{\tau}\int \frac{L'}{\Sigma}d\theta - \ln\Sigma + C\)
  9. 取指數:\(p(\theta) = \frac{1}{Z}\cdot\frac{1}{\Sigma(\theta)}\cdot\exp\!\left(-\frac{2}{\tau}\int^\theta \frac{L'(s)}{\Sigma(s)}ds\right)\)
  10. 歸一化 \(Z < \infty\) 由 coercive + bounded \(\Sigma\) 保證 ∎
Part II 證明:選擇偏好
  1. 由 Part I,\(p(\theta_k) \propto (1/\Sigma_k)\exp(-(2/\tau)\int^{\theta_k} L'/\Sigma\,d\theta)\)
  2. 取比值,\((1/\Sigma)\) 因子比為 \(\Sigma_B/\Sigma_A\)
  3. 指數差 \(= (2/\tau)\int_{\theta_A}^{\theta_B} L'/\Sigma\,d\theta\)
  4. 對稱情形下 \(L'/\Sigma\) 是反對稱函數,積分 = 0
  5. \(p(\theta_A)/p(\theta_B) = \Sigma_B/\Sigma_A > 1\) ∎
Part III 證明:泛化間隙
  1. \(\theta^*\) 是 \(L\) 的極小值,\(L'(\theta^*) = 0\)
  2. 移除第 \(j\) 個樣本:\(L'_{-j}(\theta^*) = -\ell'_j(\theta^*)/(n-1)\)
  3. \(L''_{-j}(\theta^*) = (nH - \ell''_j)/(n-1) \equiv H_{-j}\)
  4. 隱函數定理:\(\theta^*_{-j} - \theta^* \approx \ell'_j(\theta^*)/((n-1)H_{-j})\)
  5. LOO 損失差:\(\ell_j(\theta^*_{-j}) - \ell_j(\theta^*) \approx [\ell'_j(\theta^*)]^2/((n-1)H_{-j})\)
  6. 平均:\(\frac{1}{n}\sum_j \frac{[\ell'_j]^2}{(n-1)H_{-j}} \approx \frac{\Sigma(\theta^*)}{(n-1)H}\)
  7. 識別:\(\frac{1}{n}\sum_j [\ell'_j(\theta^*)]^2 = \Sigma(\theta^*)\)(因 \(L'(\theta^*)=0\))
  8. 泛化間隙 \(\approx L_{\text{test}} - L_{\text{train}} \approx \Sigma/(H(n-1))\)
  9. 由 (A6):\(\text{Gap}(\theta_A) < \text{Gap}(\theta_B)\) ∎

§4 定理 II:插值域閉環 [Paper A]

當模型已經完美擬合所有資料時,連續的 SDE 近似失效——因為噪聲是零。但 SGD 的離散本性此時反而成為篩選器:它用學習率 η 當作門檻,把太敏感的解震走,只留下簡單的解。

η 篩選機制(Lyapunov 指數)

拖動滑桿調整學習率 η,觀察哪些解被排斥

Jacobian 複雜度與泛化

比較簡單 vs 複雜網路的 Jacobian 向量

閉環流程圖

點擊每個步驟查看核心公式

Part A 證明:壞解被排斥
  1. 正交假設下,\(A_i = I - \eta J_i J_i^\top\) 在正交基下解耦
  2. 每坐標獨立:\((\xi_{t+1})_k = (1-\eta h_k)(\xi_t)_k\)(當 \(z_t=k\))
  3. \(\ln|(\xi_T)_k| = \ln|(\xi_0)_k| + \sum_t X_t^{(k)}\),\(X_t^{(k)}\) iid
  4. 強大數定律:\((1/T)\sum X_t \to \lambda_k = (1/n)\ln|1-\eta h_k|\)
  5. \(\eta h_{k^*} > 2 \Rightarrow |1-\eta h_{k^*}|>1 \Rightarrow \lambda_{k^*}>0 \Rightarrow |\xi_T|\to\infty\) a.s. ∎
Part B 證明:好解穩定

同 Part A 但符號相反:\(\eta h_k < 2 \Rightarrow |1-\eta h_k|<1 \Rightarrow \lambda_k<0 \Rightarrow |\xi_T|\to 0\) a.s. ∎

Part C 證明:Rademacher 複雜度界
  1. Taylor:\(f_\theta(x_i) - f_{\theta^*}(x_i) = J_i^\top\delta + r_i(\delta)\),\(|r_i|\le B_2\rho^2/2\)
  2. Rademacher 分解:\(\hat{R} \le E_\sigma[\sup_{\|\delta\|\le\rho} \frac{1}{n}\sum \sigma_i J_i^\top\delta] + B_2\rho^2/2\)
  3. 線性部分:\(\sup = (\rho/n)\|\sum \sigma_i J_i\|\)
  4. Jensen:\(E[\|\sum \sigma_i J_i\|] \le \sqrt{\sum h_i} = \sqrt{n}\cdot C\)
  5. 合併:\(\hat{R} \le \rho C/\sqrt{n} + B_2\rho^2/2\) ∎

§5 四類反例 [Paper B]

前面說了 SGD 什麼時候成功。現在反過來問:什麼時候會失敗?恰好有四種方式讓 SGD 找到壞解,每一種對應 §1 中四道關卡的一道被違反。

§5.1 反例一:η 太小(動力學陷阱)

學習率太小,SGD 像一個只敢小碎步走的人,永遠翻不過兩個盆地之間的山丘。

Kramers 逃逸時間

拖動滑桿調整 η,觀察粒子能否翻越壁壘

混合時間 vs 訓練時間

拖動藍色水平線調整訓練預算

§5.2 反例二:η 太大(發散/混沌)

學習率太大,SGD 每一步跨太遠,不但找不到好解,連停都停不下來。

離散穩定性崩潰

拖動滑桿調整 η,臨界值 ≈ 0.111

Lyapunov 指數符號翻轉

與左側動畫聯動

§5.3 反例三:無差異化(選擇力退化)

如果好解和壞解在 SGD 眼中長得一模一樣,SGD 就像蒙眼選擇,有一半機率停在壞解。

等深雙井

觀察兩個等深盆地中粒子的分佈比例,對比定理 I 中的不等深情形

選擇力儀表板

拖動滑桿讓兩解的 Σ/H 趨於相等

§5.4 反例四:噪聲-泛化反轉(最深刻)

最致命的情況:好解因為用了多樣的特徵,反而梯度噪聲很大;壞解因為死記答案,噪聲反而很小。SGD 偏好低噪聲,結果選了壞解。

反轉景觀

觀察粒子如何被困在壞井

特徵多樣性 vs 記憶

比較好解與壞解的梯度方向分佈

¬F1:充分混合
\(\eta T \gg \tau_{\text{mix}}\)
¬F2:穩定
\(\eta < 2/\lambda_{\max}\)
¬F3:有選擇力
\(\Sigma_i/H_i\) 有差異
¬F4:方向正確
\(\text{Corr}(\Sigma, \text{Gap}) > 0\)

§6 概念問題的嚴格回答

前面的定理回答了「什麼時候成功、什麼時候失敗」。這一段回答五個常見的概念困惑。

§6.1 Simplicity vs Flatness

人們常說 SGD 偏好「平坦的解」,但平坦度可以被座標變換隨意改變。真正不變的量是 Σ/H(噪聲方差除以曲率,這個比值不會被座標變換改變)。

Reparameterization 不變性

拖動滑桿改變座標變換的非線性程度

三量比較

切換座標系,觀察哪個量不變

Reparameterization 不變性證明

設 \(\theta = g(\varphi)\) 是光滑雙射,\(\varphi^* = g^{-1}(\theta^*)\)。

\(\tilde{H} = L''(g(\varphi^*)) \cdot [g'(\varphi^*)]^2 = H \cdot (g')^2\)

\(\tilde{\Sigma} = E_i[(\ell'_i(g(\varphi^*)))^2] \cdot [g'(\varphi^*)]^2 = \Sigma \cdot (g')^2\)

故 \(\tilde{\Sigma}/\tilde{H} = \Sigma \cdot (g')^2 / (H \cdot (g')^2) = \Sigma/H\) ∎

推論:Flatness(\(H\) 小)和 Simplicity(\(\Sigma\) 小)都可被 reparameterization 改變而不影響泛化。但 \(\Sigma/H\) 不變 → 泛化間隙 \(\approx \Sigma/(H(n-1))\) 是內在幾何量。

多維推廣:\(\text{tr}(H^{-1}\Sigma)\) 也是不變的(Jacobian 的 \((J^\top)^2\) 在分子分母抵消)。

§6.2 最小範數投影

在線性模型中,SGD 從零出發,不管怎麼隨機抽樣,最終一定走到和 GD 一樣的最小範數解。這是代數性質,與噪聲無關。

Row Space 約束

觀察 SGD 軌跡始終在 row(X) 平面上

SGD vs GD 路徑

兩條路徑收斂到同一點

最小範數解證明
  1. \(w_0 = 0 \in \text{row}(X)\)
  2. SGD 增量 \(= -\eta(w^\top x_{z_t} - y_{z_t})x_{z_t} \in \text{row}(X)\)
  3. 歸納:\(w_t \in \text{row}(X)\) 對所有 \(t\)
  4. \(\text{row}(X)\) 中唯一的插值解是 \(X^\dagger y\)
  5. 凸損失上 SGD 收斂定理 → \(w_t \to X^\dagger y\) ∎

意義:這是代數性質,與噪聲無關。在非線性模型中 SGD 與 GD 的隱式偏差可能不同。

§6.3 多維 Detailed Balance

前面定理 I 的穩態公式之所以這麼漂亮,是因為在一維中「detailed balance」(細緻平衡)自動成立——每個方向的機率流都平衡。但在多維空間中,噪聲可能產生旋轉流,讓穩態不再有簡潔的公式形式。此時需要解一個更難的方程來找「準勢」,它取代了有效勢能 V_eff 的角色。

2D 向量場與旋轉流

切換 Detailed Balance 成立/破缺

準勢 vs 真勢

比較兩組等高線的差異

Detailed Balance 成立條件與破缺分析

成立條件:\(\text{curl}(\Sigma^{-1}\nabla L) = 0\),即 \(\partial_i[\Sigma^{-1}\nabla L]_j = \partial_j[\Sigma^{-1}\nabla L]_i\) 對所有 \(i \ne j\)。

特殊情況(自動成立):

  • \(\Sigma = \sigma^2(\theta)I\) 且 \(\sigma^2 = h(L)\) → 自動保守
  • \(\Sigma\) 常數且 \([\Sigma^{-1}, H] = 0\) → 保守
  • 一維 → 自動成立(無橫向分量)

破缺時:穩態仍為 \(p \sim \exp(-V/\tau)\),但 \(V\) 是 Freidlin-Wentzell 準勢,需解 Hamilton-Jacobi 方程。

2D 具體例子:\(\nabla L = (\theta_1, \theta_2)\),\(\Sigma = \text{diag}(1+\theta_2^2, 1)\)。

Detailed balance 破缺:\(\partial_{\theta_2}[\theta_1/(1+\theta_2^2)] = -2\theta_1\theta_2/(1+\theta_2^2)^2 \ne 0 = \partial_{\theta_1}[\theta_2]\)。

準勢近似:\(V \approx \theta_1^2 + \theta_2^2 - \frac{1}{2}\theta_1^2\theta_2^2 + O(|\theta|^6)\)。修正項使噪聲大的方向準勢降低。

§6.4 三層條件分類

SGD 收斂到好解的條件分三層。最外層是「必要條件」:如果連這個都不滿足,SGD 一定找不到好解。中間層是「近似充分」:滿足後大概率找到近似好解。最內層是「嚴格充分」:滿足後以指數高的概率找到好解。了解自己處在哪一層,就知道對 SGD 的信心該有多大。

三層同心圓

Hover 每層查看數學條件

溫度掃描

拖動滑桿調整極小值數量 K

三層條件的精確數學陳述

必要條件:\(V_{\text{eff}}\) 的全局最小值落在好解集 \(G\) 中。

證明:穩態在 \(\tau \to 0\) 時集中在 \(V_{\text{eff}}\) 全局最小值上。若最小值不在 \(G\) 中 → 穩態集中在壞解 → 矛盾。

充分條件:\(V_{\text{eff}}\) 全局最小唯一在 \(G\) 中,能隙 \(\Delta > 0\),\(\tau \ll \Delta\)。

結論:\(P(\text{好解}) \ge 1 - (K-1)\exp(-2\Delta/\tau)\)

近似充分條件:所有 \(V_{\text{eff}}\) 值 \(\le V_{\text{eff}}^{\min} + \delta\) 的極小值都近似好(\(\text{Gap} \le \varepsilon + \varepsilon'\))。

結論:\(P(\text{Gap} \le \varepsilon + \varepsilon') \ge 1 - \gamma\),其中 \(\gamma \sim Ke^{-2\delta/\tau}\)

§6.5 各因素的嚴格影響

學習率、batch size、過參數化程度、曲率——每個因素都會改變 SGD 的偏好景觀。有些改變很直觀(η 增大 → 篩選更嚴),有些則微妙(過參數化使噪聲歸零,迫使分析從連續轉向離散)。

四因素控制面板

調整四個參數,觀察勢能景觀變化

有效維度 d_eff

點擊切換不同譜形狀

各因素數學細節

η 增大:非插值域離散修正 \(V_{\text{eff}}^{(\eta)} = V_{\text{eff}} - (\eta/2)\ln\Sigma\);插值域 \(M_\eta = \{\theta^*: h_{\max} < 2/\eta\}\) 縮小。

B 增大:\(\tau = \eta/B\) 減小 → 分佈更集中在 \(V_{\text{eff}}\) 最小值。

過參數化(d > n):插值流形 \(M\) 上 \(\Sigma = 0\),有效漂移 \(v_{\text{eff}} = -(\tau/2)\nabla_\parallel\ln\det\Sigma_\perp\)。

曲率(Hessian 譜):多維泛化間隙 \(\text{tr}(H^{-1}\Sigma) = \sum_i \sigma_i^2/\lambda_i\)。

對稱性與軌道權重

\(V_{\text{eff}}(g\cdot\theta) = V_{\text{eff}}(\theta)\) 對 \(g \in G\)(函數不變性)。

物理解權重:\(p_{\text{phys}}([\theta]) = |G/G_\theta| \cdot p(\theta)\)(軌道計數)。

穩定化子小的解(高對稱破缺)得到更大權重。效應量級 \(O(\tau)\),\(\tau\to 0\) 時可忽略。

§7 噪聲的四重角色

前面從不同角度看了 SGD 的成功與失敗。現在退後一步,把噪聲的角色做一個統整。SGD 中的噪聲不只是干擾——它同時扮演四個角色,在不同的機制域中用不同的數學方式發揮作用。

四重角色互動矩陣

點擊每個角色查看詳細機制

機制域地圖

觀察訓練軌跡經過不同機制域

§8 可驗證預測

理論的價值在於可否被實驗推翻。這裡列出五個具體預測,任何一個被推翻都意味著理論需要修正。

預測 Dashboard

點擊卡片查看詳細說明

臨界相變模擬

拖動滑桿增大 η,觀察訓練損失的尖銳跳變

§9 回歸命題:這篇報告解決了什麼?

在進入未解決的問題之前,讓我們回顧一下整個論證鏈。

我們從一個簡單的觀察出發:SGD 在實踐中表現得比理論預期更好。它往往能在損失函數的無數個極小值中,找到泛化良好的解。這篇報告的目標是嚴格回答「為什麼」和「什麼時候」。

我們建立了什麼

兩個閉環定理,各自在不同的機制域中完整回答了「SGD 為何偏好好解」:

我們也劃清了邊界

四類反例 (F1-F4) 精確描述了理論的適用範圍。SGD 收斂到好解等價於四個條件同時成立:學習率不太小也不太大、好壞解的噪聲特徵有差異、且低噪聲確實對應好泛化。任何一個條件被違反,理論就不再成立——這不是缺陷,而是邊界的精確刻劃。

一個統一的選擇原理

不存在單一的普遍充分條件,但存在一個統一的洞察:SGD 的隨機性充當 per-sample 靈敏度的篩選器。在非插值域,這表現為穩態分佈偏好低 Σ/H 的盆地;在插值域,這表現為 Lyapunov 不穩定性排斥高 h_max 的解。形式不同,本質相通。

但這個理論還不完整。以下是五個尚未解決的關口。

§10 未解決的關口

以上的理論框架在一維、離散正交、和特定條件下是完整的。但要推廣到現實中的深度學習,還需要突破以下五道障礙。

§10.1 多維有效勢能

一維中 detailed balance 自動成立,穩態有簡潔的解析公式。但在多維中,噪聲張量 Σ 可能產生旋轉流,此時穩態分佈由 Freidlin-Wentzell 準勢決定——而求解這個準勢是一個 NP-hard 的變分問題。

§10.2 Jacobian 正交假設

插值域定理(§4)依賴假設 \(J_i^\top J_j = 0\)(不同資料點的 Jacobian 正交)。移除這個假設需要發展非交換隨機矩陣乘積的理論,目前的數學工具尚不足。

§10.3 全局軌跡分析

定理 I 和定理 II 都是局部穩定性分析——它們說明 SGD 在某個盆地附近的行為。但從隨機初始化到最終停在好解盆地的全局路徑分析,仍然是開放問題。

§10.4 反例四的邊界精確化

§5.4 的噪聲-泛化反轉何時會發生?\(\text{Corr}(\Sigma, \text{Gap}) > 0\) 的成立條件取決於數據分佈與模型架構的交互作用,目前缺乏一般性的判定準則。

§10.5 離散與連續的統一

非插值域(§3)和插值域(§4)使用完全不同的數學工具——前者是連續 SDE,後者是離散 Lyapunov 分析。在 Σ → 0 的極限處,兩套理論如何銜接是一個根本性的數學挑戰。

研究地圖

Hover 節點查看問題描述

離散-連續統一鴻溝

觀察 Σ→0 時兩套數學工具的斷裂