SGD 為何收斂到好解?
其普遍成立的充分條件是什麼?
完整論文下載:
§1 前言:從 SGD 到「好解」
什麼是 SGD?
機器學習的核心任務是找到一組參數,讓模型的預測盡可能準確。為此,我們需要最小化一個「損失函數」——它衡量模型犯了多少錯。
最直觀的方法是「梯度下降」(Gradient Descent, GD):計算損失函數相對於所有參數的梯度(也就是「往哪個方向調整參數,損失會下降最快」),然後朝那個方向走一步。重複這個過程,參數會逐漸移動到損失較低的位置。
但現實中的資料集動輒百萬筆。每走一步就要把所有資料都算一遍,太慢了。隨機梯度下降(Stochastic Gradient Descent, SGD)的做法是:每一步只隨機抽一筆(或一小批)資料來估算梯度,然後就往那個方向走。這讓每一步的計算量大幅降低,但代價是每一步的方向不再精準——帶有隨機的「噪聲」。
為什麼「收斂到好解」是個大問題?
損失函數的地形通常像一片崎嶇的山地,有很多個「盆地」(局部極小值)。有些盆地是「好解」——模型不但在訓練資料上表現好,面對沒見過的新資料也能做出正確預測(泛化好)。有些盆地是「壞解」——模型死記了訓練資料的噪聲,對新資料一塌糊塗(過擬合)。
神奇的是,實驗反覆顯示:SGD 往往能找到好解,即使好解在參數空間中只佔極小的比例。這不是巧合——SGD 隨機性本身就是一種隱式正則化,它天然偏好某類解。但這個偏好究竟是什麼?它在什麼條件下成立?什麼條件下會失效?
這就是本文要回答的問題。
本文的核心結論
SGD 收斂到好解不是無條件的普遍事實——存在四類嚴格反例使其失敗。但在四道關卡全部通過時,SGD 的隱式正則化機制可以被完整證明:
- ✓ ¬F1:學習率夠大使盆地間混合
- ✓ ¬F2:學習率不至於太大使 SGD 發散
- ✓ ¬F3:好解與壞解的 per-sample 靈敏度有差異
- ✓ ¬F4:低靈敏度確實對應好泛化
前三個是你可以透過調整演算法(例如學習率)來控制的;第四個則取決於問題本身——數據的結構是否讓「簡單的函數」恰好是「正確的函數」。
閱讀地圖
本文的結構如下:
- §2 形式模型——建立共同語言:SGD 的數學定義、什麼叫「好解」
- §3 定理 I(非插值域)——當訓練損失不為零時,SGD 的噪聲如何偏好泛化好的解
- §4 定理 II(插值域)——當訓練損失為零時,SGD 的離散本性如何篩選簡單的解
- §5 四類反例——四道關卡各自被違反時,SGD 如何失敗
- §6 概念問答——澄清五個常見困惑(平坦性 vs 簡單性、最小範數、detailed balance 等)
- §7 噪聲的四重角色——統整噪聲在不同機制域中的作用
- §8 可驗證預測——五個可被實驗推翻的具體預測
- §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 完整證明:穩態分佈
- FPE(Itô):\(\partial p/\partial t = \partial_\theta[L'p] + (\tau/2)\partial_\theta^2[\Sigma p]\)
- 穩態 \(\partial p/\partial t = 0\),定義機率流 \(J = -L'p - (\tau/2)(\Sigma p)'\)
- \(dJ/d\theta = 0 \Rightarrow J = \text{const}\)
- 邊界條件 \(p \to 0\) 當 \(|\theta|\to\infty\) → \(J \equiv 0\)
- 展開:\(L'p + (\tau/2)[\Sigma'p + \Sigma p'] = 0\)
- \(p'/p = -2L'/(\tau\Sigma) - \Sigma'/\Sigma\)
- 右側 \(= -\frac{d}{d\theta}\left[\frac{2}{\tau}\int \frac{L'}{\Sigma}d\theta + \ln\Sigma\right]\)
- 積分:\(\ln p = -\frac{2}{\tau}\int \frac{L'}{\Sigma}d\theta - \ln\Sigma + C\)
- 取指數:\(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)\)
- 歸一化 \(Z < \infty\) 由 coercive + bounded \(\Sigma\) 保證 ∎
Part II 證明:選擇偏好
- 由 Part I,\(p(\theta_k) \propto (1/\Sigma_k)\exp(-(2/\tau)\int^{\theta_k} L'/\Sigma\,d\theta)\)
- 取比值,\((1/\Sigma)\) 因子比為 \(\Sigma_B/\Sigma_A\)
- 指數差 \(= (2/\tau)\int_{\theta_A}^{\theta_B} L'/\Sigma\,d\theta\)
- 對稱情形下 \(L'/\Sigma\) 是反對稱函數,積分 = 0
- \(p(\theta_A)/p(\theta_B) = \Sigma_B/\Sigma_A > 1\) ∎
Part III 證明:泛化間隙
- \(\theta^*\) 是 \(L\) 的極小值,\(L'(\theta^*) = 0\)
- 移除第 \(j\) 個樣本:\(L'_{-j}(\theta^*) = -\ell'_j(\theta^*)/(n-1)\)
- \(L''_{-j}(\theta^*) = (nH - \ell''_j)/(n-1) \equiv H_{-j}\)
- 隱函數定理:\(\theta^*_{-j} - \theta^* \approx \ell'_j(\theta^*)/((n-1)H_{-j})\)
- LOO 損失差:\(\ell_j(\theta^*_{-j}) - \ell_j(\theta^*) \approx [\ell'_j(\theta^*)]^2/((n-1)H_{-j})\)
- 平均:\(\frac{1}{n}\sum_j \frac{[\ell'_j]^2}{(n-1)H_{-j}} \approx \frac{\Sigma(\theta^*)}{(n-1)H}\)
- 識別:\(\frac{1}{n}\sum_j [\ell'_j(\theta^*)]^2 = \Sigma(\theta^*)\)(因 \(L'(\theta^*)=0\))
- 泛化間隙 \(\approx L_{\text{test}} - L_{\text{train}} \approx \Sigma/(H(n-1))\)
- 由 (A6):\(\text{Gap}(\theta_A) < \text{Gap}(\theta_B)\) ∎
§4 定理 II:插值域閉環 [Paper A]
當模型已經完美擬合所有資料時,連續的 SDE 近似失效——因為噪聲是零。但 SGD 的離散本性此時反而成為篩選器:它用學習率 η 當作門檻,把太敏感的解震走,只留下簡單的解。
η 篩選機制(Lyapunov 指數)
拖動滑桿調整學習率 η,觀察哪些解被排斥
Jacobian 複雜度與泛化
比較簡單 vs 複雜網路的 Jacobian 向量
閉環流程圖
點擊每個步驟查看核心公式
Part A 證明:壞解被排斥
- 正交假設下,\(A_i = I - \eta J_i J_i^\top\) 在正交基下解耦
- 每坐標獨立:\((\xi_{t+1})_k = (1-\eta h_k)(\xi_t)_k\)(當 \(z_t=k\))
- \(\ln|(\xi_T)_k| = \ln|(\xi_0)_k| + \sum_t X_t^{(k)}\),\(X_t^{(k)}\) iid
- 強大數定律:\((1/T)\sum X_t \to \lambda_k = (1/n)\ln|1-\eta h_k|\)
- \(\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 複雜度界
- Taylor:\(f_\theta(x_i) - f_{\theta^*}(x_i) = J_i^\top\delta + r_i(\delta)\),\(|r_i|\le B_2\rho^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\)
- 線性部分:\(\sup = (\rho/n)\|\sum \sigma_i J_i\|\)
- Jensen:\(E[\|\sum \sigma_i J_i\|] \le \sqrt{\sum h_i} = \sqrt{n}\cdot C\)
- 合併:\(\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 記憶
比較好解與壞解的梯度方向分佈
§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 路徑
兩條路徑收斂到同一點
最小範數解證明
- \(w_0 = 0 \in \text{row}(X)\)
- SGD 增量 \(= -\eta(w^\top x_{z_t} - y_{z_t})x_{z_t} \in \text{row}(X)\)
- 歸納:\(w_t \in \text{row}(X)\) 對所有 \(t\)
- \(\text{row}(X)\) 中唯一的插值解是 \(X^\dagger y\)
- 凸損失上 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 為何偏好好解」:
- 定理 I(非插值域):SGD 的隨機噪聲是乘性的——在不同位置大小不同。這使得 SGD 的穩態分佈不是均勻地分佈在所有極小值上,而是偏好噪聲比 Σ/H 小的盆地。而噪聲比小的盆地,恰好是 leave-one-out 穩定性高的盆地,也就是泛化好的盆地。整條鏈環環相扣。
- 定理 II(插值域):當訓練損失為零時,連續近似完全失效。但 SGD 的離散更新步長成為天然的篩選器——學習率 η 決定了哪些解的 per-sample Hessian 太大(太敏感),這些解會被指數增長的 Lyapunov 不穩定性排斥。留下來的解有低 Jacobian 複雜度,從而有可證明的泛化界。
我們也劃清了邊界
四類反例 (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 時兩套數學工具的斷裂