怎么搭建網(wǎng)站后臺怎么找到精準(zhǔn)客戶資源
Understanding Diffusion Models: A Unified Perspective(二):公式46的推導(dǎo)
- 文章概括
- 要推導(dǎo)的公式
- 1. 條件概率的定義
- 2. 聯(lián)合分布的分解
- 2.1 聯(lián)合分布的定義
- 2.2 為什么可以這樣分解?
- 2.3 具體意義
- 3. 分母的分解:邊際化規(guī)則
- 4. 最終公式的推導(dǎo)
- 5. 為什么分母可以表示為 q ( x t ? 1 ∣ x 0 ) q(x_{t-1}|x_0) q(xt?1?∣x0?)
- 6. 公式 (46) 的最終形式
- 7. 逐步推導(dǎo)總結(jié)
文章概括
引用:
@article{luo2022understanding,title={Understanding diffusion models: A unified perspective},author={Luo, Calvin},journal={arXiv preprint arXiv:2208.11970},year={2022}
}
Luo, C., 2022. Understanding diffusion models: A unified perspective. arXiv preprint arXiv:2208.11970.
原文: https://arxiv.org/abs/2208.11970
代碼、數(shù)據(jù)和視頻:https://arxiv.org/abs/2208.11970
文章解析原文:
論文筆記(六十三)Understanding Diffusion Models: A Unified Perspective(二)
要推導(dǎo)的公式
目標(biāo)是推導(dǎo)公式:
q ( x t ∣ x t ? 1 , x 0 ) = q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) q ( x t ? 1 ∣ x 0 ) . (46) q(x_t|x_{t-1}, x_0) = \frac{q(x_{t-1}|x_t, x_0) q(x_t|x_0)}{q(x_{t-1}|x_0)}. \tag{46} q(xt?∣xt?1?,x0?)=q(xt?1?∣x0?)q(xt?1?∣xt?,x0?)q(xt?∣x0?)?.(46)
1. 條件概率的定義
條件概率的基本定義為:
q ( A ∣ B ) = q ( A ∩ B ) q ( B ) , 其中? q ( B ) > 0. q(A|B) = \frac{q(A \cap B)}{q(B)}, \quad \text{其中 } q(B) > 0. q(A∣B)=q(B)q(A∩B)?,其中?q(B)>0.
對于多個條件的情況,比如 ( q(A|B, C) ),可以擴(kuò)展為:
q ( A ∣ B , C ) = q ( A , B , C ) q ( B , C ) . q(A|B, C) = \frac{q(A, B, C)}{q(B, C)}. q(A∣B,C)=q(B,C)q(A,B,C)?.
在我們的目標(biāo)公式中, q ( x t ∣ x t ? 1 , x 0 ) q(x_t|x_{t-1}, x_0) q(xt?∣xt?1?,x0?) 表示在 x t ? 1 x_{t-1} xt?1? 和 x 0 x_0 x0? 已知的條件下, x t x_t xt? 的分布。因此:
q ( x t ∣ x t ? 1 , x 0 ) = q ( x t , x t ? 1 , x 0 ) q ( x t ? 1 , x 0 ) . (1) q(x_t|x_{t-1}, x_0) = \frac{q(x_t, x_{t-1}, x_0)}{q(x_{t-1}, x_0)}. \tag{1} q(xt?∣xt?1?,x0?)=q(xt?1?,x0?)q(xt?,xt?1?,x0?)?.(1)
2. 聯(lián)合分布的分解
我們需要分解聯(lián)合分布 q ( x t , x t ? 1 , x 0 ) q(x_t, x_{t-1}, x_0) q(xt?,xt?1?,x0?)。以下是基礎(chǔ)邏輯:
2.1 聯(lián)合分布的定義
聯(lián)合分布 q ( x t , x t ? 1 , x 0 ) q(x_t, x_{t-1}, x_0) q(xt?,xt?1?,x0?) 表示 x t , x t ? 1 , x 0 x_t, x_{t-1}, x_0 xt?,xt?1?,x0? 同時發(fā)生的概率。根據(jù) 概率鏈?zhǔn)椒▌t(Chain Rule of Probability),聯(lián)合分布可以逐步分解為條件概率的乘積:
q ( x t , x t ? 1 , x 0 ) = q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) . (2) q(x_t, x_{t-1}, x_0) = q(x_{t-1}|x_t, x_0) q(x_t|x_0). \tag{2} q(xt?,xt?1?,x0?)=q(xt?1?∣xt?,x0?)q(xt?∣x0?).(2)
這一步基于條件概率的定義:
- q ( x t ? 1 ∣ x t , x 0 ) q(x_{t-1}|x_t, x_0) q(xt?1?∣xt?,x0?):在 x t x_t xt? 和 x 0 x_0 x0? 已知的條件下, x t ? 1 x_{t-1} xt?1? 的分布。
- q ( x t ∣ x 0 ) q(x_t|x_0) q(xt?∣x0?):在 x 0 x_0 x0? 已知的情況下, x t x_t xt? 的邊際分布。
2.2 為什么可以這樣分解?
根據(jù)概率論的鏈?zhǔn)揭?guī)則:
q ( A , B , C ) = q ( A ∣ B , C ) q ( B , C ) . q(A, B, C) = q(A|B, C) q(B, C). q(A,B,C)=q(A∣B,C)q(B,C).
在這里,設(shè) A = x t ? 1 A = x_{t-1} A=xt?1?, B = x t B = x_t B=xt?, C = x 0 C = x_0 C=x0?,我們可以寫成:
q ( x t ? 1 , x t , x 0 ) = q ( x t ? 1 ∣ x t , x 0 ) q ( x t , x 0 ) . q(x_{t-1}, x_t, x_0) = q(x_{t-1}|x_t, x_0) q(x_t, x_0). q(xt?1?,xt?,x0?)=q(xt?1?∣xt?,x0?)q(xt?,x0?).
接著,再對 q ( x t , x 0 ) q(x_t, x_0) q(xt?,x0?) 應(yīng)用鏈?zhǔn)揭?guī)則:
q ( x t , x 0 ) = q ( x t ∣ x 0 ) q ( x 0 ) . q(x_t, x_0) = q(x_t|x_0) q(x_0). q(xt?,x0?)=q(xt?∣x0?)q(x0?).
因此:
q ( x t ? 1 , x t , x 0 ) = q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) q ( x 0 ) . q(x_{t-1}, x_t, x_0) = q(x_{t-1}|x_t, x_0) q(x_t|x_0) q(x_0). q(xt?1?,xt?,x0?)=q(xt?1?∣xt?,x0?)q(xt?∣x0?)q(x0?).
在本問題中, q ( x 0 ) q(x_0) q(x0?) 是常量,不影響條件概率的形式,所以我們可以簡化為:
q ( x t , x t ? 1 , x 0 ) = q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) . q(x_t, x_{t-1}, x_0) = q(x_{t-1}|x_t, x_0) q(x_t|x_0). q(xt?,xt?1?,x0?)=q(xt?1?∣xt?,x0?)q(xt?∣x0?).
2.3 具體意義
-
分解的直觀意義:假設(shè)我們已經(jīng)知道 x t x_t xt? 和全局變量 x 0 x_0 x0? 的值,那么我們可以首先用 q ( x t ? 1 ∣ x t , x 0 ) q(x_{t-1}|x_t, x_0) q(xt?1?∣xt?,x0?) 表示 x t ? 1 x_{t-1} xt?1? 的條件概率,再用 q ( x t ∣ x 0 ) q(x_t|x_0) q(xt?∣x0?) 表示 x t x_t xt? 的邊際分布。
-
為什么分解成這兩項?
- 這是因?yàn)? q ( x t ∣ x 0 ) q(x_t|x_0) q(xt?∣x0?) 表示的是全局信息(全局分布)。
- 而 q ( x t ? 1 ∣ x t , x 0 ) q(x_{t-1}|x_t, x_0) q(xt?1?∣xt?,x0?) 捕捉的是局部的條件關(guān)系。
3. 分母的分解:邊際化規(guī)則
分母 q ( x t ? 1 , x 0 ) q(x_{t-1}, x_0) q(xt?1?,x0?) 是 x t ? 1 x_{t-1} xt?1? 和 x 0 x_0 x0? 的聯(lián)合分布,可以通過邊際化 x t x_t xt? 得到:
q ( x t ? 1 , x 0 ) = ∫ q ( x t , x t ? 1 , x 0 ) d x t . (4) q(x_{t-1}, x_0) = \int q(x_t, x_{t-1}, x_0) dx_t. \tag{4} q(xt?1?,x0?)=∫q(xt?,xt?1?,x0?)dxt?.(4)
將公式 (2) 中的分解 q ( x t , x t ? 1 , x 0 ) = q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) q(x_t, x_{t-1}, x_0) = q(x_{t-1}|x_t, x_0) q(x_t|x_0) q(xt?,xt?1?,x0?)=q(xt?1?∣xt?,x0?)q(xt?∣x0?) 代入公式 (4):
q ( x t ? 1 , x 0 ) = ∫ q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) d x t . (5) q(x_{t-1}, x_0) = \int q(x_{t-1}|x_t, x_0) q(x_t|x_0) dx_t. \tag{5} q(xt?1?,x0?)=∫q(xt?1?∣xt?,x0?)q(xt?∣x0?)dxt?.(5)
4. 最終公式的推導(dǎo)
將公式 (5) 的分母代入公式 (3),得到:
q ( x t ∣ x t ? 1 , x 0 ) = q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) ∫ q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) d x t . q(x_t|x_{t-1}, x_0) = \frac{q(x_{t-1}|x_t, x_0) q(x_t|x_0)}{\int q(x_{t-1}|x_t, x_0) q(x_t|x_0) dx_t}. q(xt?∣xt?1?,x0?)=∫q(xt?1?∣xt?,x0?)q(xt?∣x0?)dxt?q(xt?1?∣xt?,x0?)q(xt?∣x0?)?.
現(xiàn)在,我們需要注意的是:
- 分子部分完全匹配公式 (46)。
- 分母部分的歸一化形式也與公式 (46) 一致。
為了便于理解,分母中的積分項 ∫ q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) d x t \int q(x_{t-1}|x_t, x_0) q(x_t|x_0) dx_t ∫q(xt?1?∣xt?,x0?)q(xt?∣x0?)dxt? 在公式 (46) 中直接用 q ( x t ? 1 ∣ x 0 ) q(x_{t-1}|x_0) q(xt?1?∣x0?) 表示。
5. 為什么分母可以表示為 q ( x t ? 1 ∣ x 0 ) q(x_{t-1}|x_0) q(xt?1?∣x0?)
通過邊際化定義:
q ( x t ? 1 ∣ x 0 ) = ∫ q ( x t ? 1 , x t ∣ x 0 ) d x t . q(x_{t-1}|x_0) = \int q(x_{t-1}, x_t|x_0) dx_t. q(xt?1?∣x0?)=∫q(xt?1?,xt?∣x0?)dxt?.
進(jìn)一步分解 q ( x t ? 1 , x t ∣ x 0 ) q(x_{t-1}, x_t|x_0) q(xt?1?,xt?∣x0?):
q ( x t ? 1 , x t ∣ x 0 ) = q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) . q(x_{t-1}, x_t|x_0) = q(x_{t-1}|x_t, x_0) q(x_t|x_0). q(xt?1?,xt?∣x0?)=q(xt?1?∣xt?,x0?)q(xt?∣x0?).
1. 條件概率的鏈?zhǔn)揭?guī)則
根據(jù)條件概率的定義,聯(lián)合概率 q ( A , B ∣ C ) q(A, B|C) q(A,B∣C) 可以分解為: q ( A , B ∣ C ) = q ( A ∣ B , C ) q ( B ∣ C ) . q(A, B|C) = q(A|B, C) q(B|C). q(A,B∣C)=q(A∣B,C)q(B∣C).
符號解釋:
- q ( A , B ∣ C ) q(A, B|C) q(A,B∣C):表示在 C C C 已知的條件下,事件 A A A 和 B B B 同時發(fā)生的概率。
- q ( A ∣ B , C ) q(A|B, C) q(A∣B,C):表示在 B B B 和 C C C 已知的條件下,事件 A A A 的條件概率。
- q ( B ∣ C ) q(B|C) q(B∣C):表示在 C C C 已知的條件下,事件 B B B 的條件概率。
代入后得到:
q ( x t ? 1 ∣ x 0 ) = ∫ q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) d x t . q(x_{t-1}|x_0) = \int q(x_{t-1}|x_t, x_0) q(x_t|x_0) dx_t. q(xt?1?∣x0?)=∫q(xt?1?∣xt?,x0?)q(xt?∣x0?)dxt?.
因此,分母 q ( x t ? 1 ∣ x 0 ) q(x_{t-1}|x_0) q(xt?1?∣x0?) 確實(shí)是公式 (46) 中的形式。
6. 公式 (46) 的最終形式
結(jié)合以上推導(dǎo),公式 (46) 的最終形式是:
q ( x t ∣ x t ? 1 , x 0 ) = q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) q ( x t ? 1 ∣ x 0 ) . q(x_t|x_{t-1}, x_0) = \frac{q(x_{t-1}|x_t, x_0) q(x_t|x_0)}{q(x_{t-1}|x_0)}. q(xt?∣xt?1?,x0?)=q(xt?1?∣x0?)q(xt?1?∣xt?,x0?)q(xt?∣x0?)?.
7. 逐步推導(dǎo)總結(jié)
-
從條件概率的定義出發(fā):
q ( x t ∣ x t ? 1 , x 0 ) = q ( x t , x t ? 1 , x 0 ) q ( x t ? 1 , x 0 ) . q(x_t|x_{t-1}, x_0) = \frac{q(x_t, x_{t-1}, x_0)}{q(x_{t-1}, x_0)}. q(xt?∣xt?1?,x0?)=q(xt?1?,x0?)q(xt?,xt?1?,x0?)?. -
聯(lián)合分布的分解:
q ( x t , x t ? 1 , x 0 ) = q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) . q(x_t, x_{t-1}, x_0) = q(x_{t-1}|x_t, x_0) q(x_t|x_0). q(xt?,xt?1?,x0?)=q(xt?1?∣xt?,x0?)q(xt?∣x0?). -
分母的邊際化:
q ( x t ? 1 , x 0 ) = ∫ q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) d x t . q(x_{t-1}, x_0) = \int q(x_{t-1}|x_t, x_0) q(x_t|x_0) dx_t. q(xt?1?,x0?)=∫q(xt?1?∣xt?,x0?)q(xt?∣x0?)dxt?. -
最終公式的組合:
q ( x t ∣ x t ? 1 , x 0 ) = q ( x t ? 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) q ( x t ? 1 ∣ x 0 ) . q(x_t|x_{t-1}, x_0) = \frac{q(x_{t-1}|x_t, x_0) q(x_t|x_0)}{q(x_{t-1}|x_0)}. q(xt?∣xt?1?,x0?)=q(xt?1?∣x0?)q(xt?1?∣xt?,x0?)q(xt?∣x0?)?.