布朗運動與隨機微分方程:在 ODE 上加一點抖動
隨機微分方程(SDE)就是「ODE 的速度,加上每一小段時間的隨機抖動」。這一頁從最簡單的隨機漫步開始,說明抖動為什麼是 \(\sqrt{dt}\),再一步一步學會模擬 SDE、推導 OU 過程的解和 Itô 公式,最後看懂 diffusion model 的兩種前向 SDE。
讀完這頁你應該能夠
- 說出布朗運動的定義性質,並解釋為什麼它處處連續、卻處處不可微。
- 解釋 \((dW)^2 = dt\) 的意思,並說明為什麼 \(dt^2\) 和 \(dt\,dW\) 可以丟掉。
- 說明 \(dx = f\,dt + g\,dW\) 到底是什麼意思,用 Euler–Maruyama 模擬它,並解釋雜訊為什麼是 \(g\sqrt h\,\epsilon\)。
- 推導 OU 過程的平均和變異數,求出穩態,並算出 Euler–Maruyama 把穩態變異數算錯多少。
- 說明 strong 與 weak 誤差的差別。
- 從 \(W^2\) 的例子推導 Itô 公式,並用它算一個例子。
- 寫出 VE 與 VP SDE,推導它們的 \(q(\mathbf x_t\mid\mathbf x_0)\),以及 VP 和 DDPM 的關係。
00為什麼需要 SDE
Diffusion model 的前向過程是:每一步都把資料縮小一點、再加一點高斯雜訊。第 16 講的 DDPM 用 1000 個離散的步驟來做。如果把步驟切得無限細,就得到一個連續時間的隨機過程,寫成 SDE。這樣做的好處是可以用微積分的工具(補充課 F 的反向 SDE、probability flow ODE)來分析和設計模型。
但把雜訊切細有個陷阱。如果一步的雜訊和步長成正比,切細後雜訊會消失;如果不隨步長縮小,切細後又會爆炸。第 1–2 節先弄清楚正確的縮放是什麼,第 3–5 節用它模擬 SDE,第 6 節處理它帶來的新微積分規則,第 7 節回到 diffusion。
01從隨機漫步到布朗運動
把隨機漫步切細
回憶補充課 A 第 8 節:在時間 1 內走 \(n\) 步,每步 \(\pm s\),獨立的步數相加,加的是變異數,所以終點的變異數是 \(ns^2\)。要讓它固定是 1,每步必須是 \(s = 1/\sqrt n\)。步長 \(\Delta t = 1/n\),所以 \(s = \sqrt{\Delta t}\)。
\(n\to\infty\) 的極限叫布朗運動(或 Wiener process)\(W_t\),它由三個性質定義:
- \(W_0 = 0\),路徑連續(沒有跳躍)。
- 增量獨立:不重疊的時間區間上,\(W\) 的變化彼此獨立。
- 增量是高斯:\(W_t - W_s\sim\mathcal N(0,\ t - s)\)。變異數等於經過的時間。
- \(W_4\sim\mathcal N(0, 4)\),標準差是 2。
- \(W_4 - W_1\sim\mathcal N(0, 3)\),而且它和 \(W_1\) 獨立。
- \(\mathbb E[W_4\mid W_1 = 2] = 2\):未來的增量平均是 0,所以最佳猜測就是現在的位置。
為什麼處處不可微
導數是 \(\Delta W/\Delta t\) 在 \(\Delta t\to0\) 時的極限。但 \(\Delta W\) 的典型大小是 \(\sqrt{\Delta t}\),所以
| \(\Delta t\) | 典型的 \(|\Delta W|\) | 斜率 \(|\Delta W|/\Delta t\) |
|---|---|---|
| 0.01 | 0.1 | 10 |
| 0.0001 | 0.01 | 100 |
| 0.000001 | 0.001 | 1000 |
區間越短,斜率越大,沒有極限。所以布朗運動處處連續、處處不可微。平滑曲線放大後會變成直線,布朗路徑放大後還是一樣粗糙。
Demo E1 · 放大一條布朗路徑:永遠不會變平滑
小練習:\(W_{0.5}\) 和 \(W_2 - W_1\) 的分佈各是什麼?它們獨立嗎?
02為什麼是 √dt:(dW)² = dt
普通微積分的基礎是:\(dt\) 極小,\(dt^2\) 更小,可以丟掉。但布朗運動的增量是 \(\sqrt{dt}\) 大小,它的平方就和 \(dt\) 一樣大了,不能丟。這是隨機微積分和普通微積分唯一的差別,其他都由此而來。
把平方加起來
把 \([0, 1]\) 切成 \(n\) 段,每段的增量 \(\Delta W_i\sim\mathcal N(0, 1/n)\)。計算 \(S = \sum_i(\Delta W_i)^2\)。
- 期望值:變異數就是平方的期望值,所以 \(\mathbb E[(\Delta W_i)^2] = 1/n\)。加 \(n\) 項:\(\mathbb E[S] = 1\)。
- 變異數:高斯的四次方期望值是 \(\mathbb E[x^4] = 3\sigma^4\),所以每一項的變異數是 \(3\sigma^4 - \sigma^4 = 2/n^2\)。獨立的 \(n\) 項相加:\(\operatorname{Var}(S) = 2/n\)。
- \(n\to\infty\) 時變異數趨近 0。也就是說,\(S\) 不再隨機,就等於 1,也就是區間的長度。
\(n = 100\):\(S\) 的平均是 1,標準差 \(\sqrt{2/100} = 0.14\)。\(n = 10000\):標準差 \(0.014\)。雖然每個 \(\Delta W_i\) 都是隨機的,加起來卻幾乎確定。
這就是 \((dW)^2 = dt\) 的意思:很多小段的平方加起來,等於經過的時間。單獨一段的平方仍是隨機的,但累加之後就可以當成 \(dt\)。
對照平滑函數:\((\Delta f)^2\approx f'^2\Delta t^2\),\(n\) 項相加是 \(f'^2\cdot n\cdot\frac{1}{n^2}\to0\),消失了。另一方面,\(\sum|\Delta W_i|\) 每項約 \(\sqrt{1/n}\),\(n\) 項是 \(\sqrt n\) 量級,趨近無窮大:布朗路徑的長度是無限的。
乘法規則
把各種小量相乘時,只留下和 \(dt\) 同量級的:
| 乘積 | 大小 | 規則 |
|---|---|---|
| \((dW)^2\) | \(dt\) | \(= dt\) |
| \(dt\cdot dW\) | \(dt^{3/2}\) | \(= 0\) |
| \((dt)^2\) | \(dt^2\) | \(= 0\) |
第 6 節的 Itô 公式就是用這張表推導的。
Demo E2 · 切越細:|ΔW| 的和發散,(ΔW)² 的和趨近 1
03SDE = drift + 雜訊,用 Euler–Maruyama 模擬
從 Euler 法開始
ODE 的 Euler 法是 \(x_{n+1} = x_n + f(x_n)\,h\)(補充課 B 第 8 節)。現在每一步再加一個獨立的抖動。布朗運動在 \(h\) 時間內的變化是 \(\mathcal N(0, h)\),可以寫成 \(\sqrt h\,\epsilon\),其中 \(\epsilon\sim\mathcal N(0, 1)\)。再乘上強度 \(g\):
\(f = -x,\ g = 0.5,\ h = 0.04\)(所以 \(\sqrt h = 0.2\)),從 \(x_0 = 1.5\) 出發。抽到的亂數依序是 \(0.8, -1.2, 0.3\)。
| \(x_n\) | \(\epsilon\) | \(f\,h\) | \(g\sqrt h\,\epsilon\) | \(x_{n+1}\) |
|---|---|---|---|---|
| 1.5 | 0.8 | −0.06 | +0.08 | 1.52 |
| 1.52 | −1.2 | −0.061 | −0.12 | 1.339 |
| 1.339 | 0.3 | −0.054 | +0.03 | 1.316 |
每次亂數不同,所以每次走出的路徑都不同。
dx = f dt + g dW 是什麼意思
步長 \(h\to0\) 的極限就是 SDE,習慣上寫成:
注意:不能除以 \(dt\)。第 1 節說過 \(dW/dt\) 不存在。所以這條式子不是微分方程,只是一種記法,意思就是「\(h\to0\) 時,上面那個 EM 的更新」。
從 EM 也能看出 \(f\) 和 \(g\) 的意義。給定 \(x_n\),一步的平均和變異數是:
$$\begin{aligned}\mathbb E[x_{n+1} - x_n\mid x_n] &= f\,h\\\operatorname{Var}[x_{n+1}\mid x_n] &= g^2h\end{aligned}$$所以 \(f\) 是平均的速度,\(g^2\) 是變異數增加的速率。
為什麼是 √h
走完時間 1 要 \(1/h\) 步。獨立的抖動相加,加的是變異數。試試三種縮放:
| 一步的抖動 | 每步變異數 | 總變異數(\(\times1/h\)) | \(h\to0\) |
|---|---|---|---|
| \(g\,h\,\epsilon\) | \(g^2h^2\) | \(g^2h\) | 消失 |
| \(g\sqrt h\,\epsilon\) | \(g^2h\) | \(g^2\) | 和步長無關 |
| \(g\,\epsilon\) | \(g^2\) | \(g^2/h\) | 爆炸 |
Demo E3 · 雜訊要怎麼隨步長縮放
Demo E4 · 各種 drift 加上雜訊
- 往 0 拉:drift 把粒子拉回 0、雜訊把它們推散,兩者平衡在一個固定寬度的高斯(下一節會算出來)。
- 雙井:\(g\) 小時粒子留在出發的那口井;\(g\) 夠大才會偶爾跳到另一口井。和補充課 D 的「多峰困住 MCMC」是同一件事。
出處:Lai et al. (2026) 附錄 A.2「From ODEs to SDEs」(\(\sqrt{\Delta t}\) 的縮放與 Euler–Maruyama)。
04OU 過程:有閉式解、會忘記起點的 SDE
為什麼重要
Ornstein–Uhlenbeck(OU)過程是 drift 為線性的 SDE:
$$dx = -\theta x\,dt + \sigma\,dW$$它是 diffusion model 前向過程的原型:不論資料長什麼樣,都會被推成同一個高斯。
平均怎麼變
對 EM 的更新 \(x_{n+1} = (1 - \theta h)x_n + \sigma\sqrt h\,\epsilon\) 取期望。\(\epsilon\) 的平均是 0,所以平均 \(m_n\) 滿足 \(m_{n+1} = (1 - \theta h)m_n\),也就是
$$\frac{dm}{dt} = -\theta m\quad\Rightarrow\quad m(t) = x_0e^{-\theta t}$$和沒有雜訊時完全一樣:雜訊不改變平均,平均以 \(e^{-\theta t}\) 忘記起點。
變異數怎麼變
對同一個更新取變異數。\(x_n\) 和 \(\epsilon\) 獨立,所以變異數相加,常數要平方:
$$V_{n+1} = (1 - \theta h)^2V_n + \sigma^2h$$展開 \((1 - \theta h)^2 = 1 - 2\theta h + O(h^2)\),移項、除以 \(h\),取 \(h\to0\):
$$\frac{dV}{dt} = -2\theta V + \sigma^2$$兩項正好對應上面的圖:drift 以 \(2\theta V\) 的速率縮小變異數,雜訊以 \(\sigma^2\) 的速率增加變異數。這是一個半線性 ODE,用補充課 B 第 11 節的積分因子,從 \(V(0) = 0\) 解出:
$$V(t) = \frac{\sigma^2}{2\theta}\big(1 - e^{-2\theta t}\big)$$驗算:\(V' = \sigma^2e^{-2\theta t}\);而 \(-2\theta V + \sigma^2\) 把 \(V\) 代入後也是 \(\sigma^2e^{-2\theta t}\) ✓。
完整的答案
EM 的每一步都是高斯的線性組合,所以 \(x_t\) 一直是高斯(補充課 A 第 10 節)。平均和變異數都有了:
\(t\to\infty\) 時,起點完全被忘記,分佈變成穩態 \(\mathcal N(0, \sigma^2/2\theta)\)。也可以直接從 \(dV/dt = 0\) 得到:\(V = \sigma^2/2\theta\)。
\(dx = -2x\,dt + dW\),\(x_0 = 5\)。\(t = 1\) 時平均 \(5e^{-2} = 0.677\);穩態變異數 \(1/4\)。\(t = 0.5\) 時變異數 \(\tfrac14(1 - e^{-2}) = 0.216\)。
精確的一步,和 EM 的偏差
閉式解的 \(t\) 可以取任意值,所以可以精確地走一步,步長多大都對:
$$x_{n+1} = e^{-\theta h}x_n + \sigma\sqrt{\frac{1 - e^{-2\theta h}}{2\theta}}\,\epsilon$$EM 就不一樣了。穩態時 \(V_{n+1} = V_n = V\),由上面的遞迴式:
$$\begin{aligned}V &= (1 - \theta h)^2V + \sigma^2h\\V &= \frac{\sigma^2}{\theta(2 - \theta h)}\end{aligned}$$\(h\to0\) 才等於正確的 \(\sigma^2/2\theta\)。\(\theta = \sigma = 1,\ h = 0.3\) 時是 \(1/1.7 = 0.588\),精確值 \(0.5\),偏大 18%。
Demo E5 · OU 過程:EM vs. 精確的一步
出處:線性 SDE 的閉式解見 Lai et al. (2026) 附錄 C.1.5「Closed-Form Solution of a Linear SDE」。
小練習:\(\theta = 1,\ \sigma = 1\),\(h = 0.1\)。EM 的穩態變異數偏大多少?
05Euler–Maruyama 有多準:strong 與 weak 兩種誤差
ODE 的誤差只有一種。SDE 的解是隨機的,所以「誤差」有兩種量法:
| Strong(路徑)誤差 | Weak(分佈)誤差 | |
|---|---|---|
| 定義 | \(\mathbb E|X_T - X_T^h|\),用同一條布朗路徑比較 | 只比較統計量,例如 \(|\mathbb E[X_T] - \mathbb E[X_T^h]|\) |
| 問的是 | 單一路徑準不準 | 分佈對不對 |
| EM 的階數 | \(O(h^{1/2})\) | \(O(h)\) |
生成模型只在乎生成的分佈,所以 weak 誤差才是重點。下面用幾何布朗運動 \(dX = \mu X\,dt + \sigma X\,dW\) 來量,因為它有精確解:\(X_T = X_0\exp\big((\mu - \tfrac12\sigma^2)T + \sigma W_T\big)\)(第 6 節會推導)。
EM 的期望值也能算:一步是 \(X_{n+1} = X_n(1 + \mu h + \sigma\sqrt h\,\epsilon)\),\(\epsilon\) 和 \(X_n\) 獨立,所以 \(\mathbb E[X_{n+1}] = (1 + \mu h)\mathbb E[X_n]\),走完得 \(X_0(1 + \mu h)^{T/h}\)。而精確值是 \(X_0e^{\mu T}\),所以 weak 誤差可以直接算出來。
Demo E6 · 幾何布朗運動上的 EM:兩種誤差的斜率
附註:如果雜訊是加性的(\(g\) 不依賴 \(x\),例如 OU、VE、VP SDE),EM 的 strong 誤差會提升到 \(O(h)\)。strong 誤差只有 1/2 階,是「雜訊大小隨 \(x\) 變」的乘性雜訊造成的。
06Itô:為什麼連鎖律要多一項
一個矛盾
普通的連鎖律說 \(d(W^2) = 2W\,dW\)。如果真是這樣,積分得到 \(W_t^2 = \int_0^t2W\,dW\)。兩邊取期望:
- 左邊:\(\mathbb E[W_t^2] = t\)(變異數)。
- 右邊:積分是每一小段 \(2W_{t_i}\,\Delta W_i\) 的和。\(W_{t_i}\) 和未來的增量 \(\Delta W_i\) 獨立,而 \(\Delta W_i\) 的平均是 0,所以每一項期望值都是 0。
左邊是 \(t\),右邊是 0,矛盾。少了什麼?
直接算
不要用連鎖律,直接展開:
$$\begin{aligned}&(W + \Delta W)^2 - W^2\\={}&2W\,\Delta W + (\Delta W)^2\end{aligned}$$這是完全精確的代數。平滑函數的 \((\Delta f)^2\) 會被丟掉,但第 2 節說過,\((\Delta W)^2\) 加起來等於經過的時間。把所有小段加起來(中間項互相抵銷):
$$\begin{aligned}W_t^2 &= \sum_i2W_{t_i}\Delta W_i + \sum_i(\Delta W_i)^2\\&\to\int_0^t2W\,dW + t\end{aligned}$$所以正確的是 \(d(W^2) = 2W\,dW + dt\),期望值也對了:\(t = 0 + t\) ✓。
一般的 Itô 公式
設 \(dX = f\,dt + g\,dW\),\(\phi\) 是平滑函數。用二階 Taylor 展開:
$$d\phi(X) = \phi'(X)\,dX + \tfrac12\phi''(X)\,(dX)^2$$用第 2 節的乘法規則算 \((dX)^2\):
$$\begin{aligned}(dX)^2 &= f^2\underbrace{dt^2}_{0} + 2fg\underbrace{dt\,dW}_{0} + g^2\underbrace{(dW)^2}_{dt}\\&= g^2\,dt\end{aligned}$$代回去:
多出來的 \(\tfrac12\phi''g^2\,dt\) 就是和普通連鎖律唯一的差別。它是補充課 F 推導 Fokker–Planck 方程的關鍵:Fokker–Planck 裡的 \(\tfrac12g^2\,\partial_x^2p\) 擴散項,就是從這裡來的。
\(X = W\)(\(f = 0,\ g = 1\)),\(\phi = x^2\):\(\phi' = 2x\)、\(\phi'' = 2\),得 \(d(W^2) = 2W\,dW + dt\),和上面相同。
\(\phi = x^3\):\(\phi' = 3x^2\)、\(\phi'' = 6x\),得 \(d(W^3) = 3W^2\,dW + 3W\,dt\)。
\(dX = \mu X\,dt + \sigma X\,dW\),也就是 \(f = \mu X,\ g = \sigma X\)。取 \(\phi = \ln x\),\(\phi' = 1/x\)、\(\phi'' = -1/x^2\):
$$\begin{aligned}d\ln X ={}&\frac1X(\mu X\,dt + \sigma X\,dW)\\&- \frac12\cdot\frac{1}{X^2}\sigma^2X^2\,dt\end{aligned}$$\(X\) 全部消掉:\(d\ln X = (\mu - \tfrac12\sigma^2)\,dt + \sigma\,dW\)。右邊不含 \(X\),直接積分:
$$X_T = X_0\exp\big((\mu - \tfrac12\sigma^2)T + \sigma W_T\big)$$那個 \(-\tfrac12\sigma^2\) 就是 Itô 的修正項。
Demo E7 · W²、Itô 積分 ∫2W dW,以及兩者的差
Itô 積分規定用每一小段的左端點 \(W_{t_i}\)(只用到「現在」的資訊,不偷看未來),這是它的期望值為 0 的原因。如果改用中點,差的那一項會消失,得到的是另一種積分(Stratonovich),連鎖律就和一般微積分一樣。diffusion 的文獻一律用 Itô。
出處:Lai et al. (2026) 附錄 A.2「Intuition for Itô Integration」與附錄 C.1「Itô's Formula: The Chain Rule for Random Processes」(從 Taylor 展開推導一維 Itô 公式)。
小練習:\(dX = dW\),\(\phi = e^{x}\)。寫出 \(d\phi\)。
07diffusion 的前向 SDE:VE 與 VP
第 14、16 講的兩種加雜訊過程都是線性的 SDE,所以和第 4 節一樣,\(q(\mathbf x_t\mid\mathbf x_0)\) 都有閉式。每個維度獨立,所以只要看一維。
VE:只加雜訊
沒有 drift,\(dx = g(t)\,dW\)。每一小段的變異數是 \(g^2\,dt\),累加得 \(\int_0^tg^2\,ds\)。如果選 \(g^2 = \frac{d\sigma^2}{dt}\),積分正好是 \(\sigma^2(t) - \sigma^2(0)\)。平均不變,所以
$$x_t\mid x_0\sim\mathcal N\big(x_0,\ \sigma^2(t) - \sigma^2(0)\big)$$VP:一邊縮小一邊加雜訊
\(dx = -\tfrac12\beta(t)x\,dt + \sqrt{\beta(t)}\,dW\),就是第 4 節的 OU 過程,只是強度隨時間變。照第 4 節的做法:
- 平均:\(\frac{dm}{dt} = -\tfrac12\beta m\),分離變數得 \(m(t) = x_0\exp\big(-\tfrac12\int_0^t\beta\big)\)。定義 \(\bar\alpha_t = \exp\big(-\int_0^t\beta\big)\),就是 \(m = \sqrt{\bar\alpha_t}\,x_0\)。
- 變異數:\(\frac{dV}{dt} = -\beta V + \beta\)(drift 的 \(2\theta = \beta\),雜訊的 \(\sigma^2 = \beta\))。解是 \(V = 1 - \bar\alpha_t\)。驗算:\(\bar\alpha_t' = -\beta\bar\alpha_t\),所以 \(V' = \beta\bar\alpha_t\);而 \(-\beta(1 - \bar\alpha_t) + \beta = \beta\bar\alpha_t\) ✓。
結果就是 DDPM 的公式。如果資料的變異數是 1,總變異數 \(\bar\alpha_t\cdot1 + (1 - \bar\alpha_t) = 1\),維持不變,所以叫 variance preserving。
| VE(variance exploding) | VP(variance preserving) | |
|---|---|---|
| SDE | \(d\mathbf x = \sqrt{\frac{d\sigma^2(t)}{dt}}\,d\mathbf W\) | \(d\mathbf x = -\tfrac12\beta(t)\mathbf x\,dt + \sqrt{\beta(t)}\,d\mathbf W\) |
| \(q(\mathbf x_t\mid\mathbf x_0)\) | \(\mathcal N\big(\mathbf x_0,\ (\sigma^2(t) - \sigma^2(0))I\big)\) | \(\mathcal N\big(\sqrt{\bar\alpha_t}\,\mathbf x_0,\ (1 - \bar\alpha_t)I\big)\) |
| 終點 | 變異數變得非常大 | 變異數保持在 1 附近,趨近 \(\mathcal N(0, I)\) |
| 對應 | NCSN(第 13–14 講) | DDPM(第 16 講) |
VP 和 DDPM 的關係
DDPM 的一步是 \(x_t = \sqrt{1 - \beta_t}\,x_{t-1} + \sqrt{\beta_t}\,\epsilon\)。\(\beta_t\) 很小時,由 Taylor 展開 \(\sqrt{1 - \beta}\approx1 - \tfrac12\beta\)(例如 \(\beta = 0.01\):\(0.99499\) 對 \(0.995\)):
$$x_t\approx x_{t-1} - \tfrac12\beta_tx_{t-1} + \sqrt{\beta_t}\,\epsilon$$這正是 VP SDE 步長為 1 的 EM(\(\beta_t\) 對應 \(\beta(t)h\))。所以 DDPM 的前向過程就是 VP SDE 的離散化。
Demo E8 · 同一份資料,兩種前向 SDE
08在 CS236 哪裡用到
| 本頁的概念 | 出現的地方 |
|---|---|
| 布朗運動、\(\sqrt{dt}\) | 第 14 講投影片 27–33「無限多個雜訊尺度」、第 17 講 §1「drift 是速度場」 |
| Euler–Maruyama | 第 14 講的 predictor、第 16 講「DDPM 的一步就是反向 SDE 的一步 EM」、第 18 講的 τ-leaping 類比 |
| OU 過程、閉式的一步 | 第 16 講 \(q(\mathbf x_t\mid\mathbf x_0)\):訓練時一步跳到任何 \(t\) |
| VE / VP SDE | 第 14 講的 score SDE、第 16 講 DDPM = VP 的離散化 |
| Itô 公式 | 補充課 F 推導 Fokker–Planck;Lai 書附錄 C 的反向 SDE 推導 |
常見誤解
自我測驗
1. 為什麼 EM 的雜訊是 \(g\sqrt h\,\epsilon\)?用總變異數說明。
2. OU 過程 \(dx = -2x\,dt + dW\) 的穩態分佈是什麼?從 \(x_0 = 5\) 出發,\(t = 1\) 時的平均是多少?
3. 用 Itô 公式算 \(d(W_t^3)\)。
4. VP SDE 的 \(q(\mathbf x_t\mid\mathbf x_0)\) 是什麼?為什麼總變異數維持在 1 附近?
5. strong 與 weak 誤差差在哪?生成模型比較在乎哪一個?
延伸閱讀
- Lai et al. (2026) 附錄 A.2(從 ODE 到 SDE、Itô 積分的直覺、Euler–Maruyama)與附錄 C(Itô 公式、線性 SDE 的閉式解、用 Itô 推 Fokker–Planck)。
- Song et al. (2021), Score-Based Generative Modeling through SDEs:VE、VP、sub-VP SDE 的定義與閉式(附錄 B)。
- Holderrieth & Erives (2026) 第 2 章:diffusion model 就是用 SDE 定義的生成模型。