序言
配分函数,作为统计物理和热力学中的核心概念,扮演着举足轻重的角色。它不仅是系统微观状态与宏观性质之间的桥梁,更是我们理解和预测物质宏观行为的关键工具。配分函数包含了系统所有可能微观状态的统计信息,通过对其进行分析和计算,我们可以得出系统的能量、熵、自由能等重要热力学量,进而揭示系统的相变、稳定性等宏观特性。
然而,配分函数的精确计算往往是一项艰巨的任务,特别是对于复杂系统而言。因此,估计配分函数成为了研究者们关注的焦点。估计配分函数不仅可以帮助我们近似地获得系统的热力学性质,还可以为新材料的设计、新药物的研发等领域提供理论支持。近年来,随着计算机技术的发展和数值方法的进步,配分函数的估计方法也日益丰富和完善。
估计配分函数
-
估计配分函数可能会很重要,当我们希望计算数据的归一化似然时,我们会需要它。在评估模型,监控训练性能,和比较模型时,这通常是很重要的。
-
例如,假设我们有两个模型:
-
概率分布为 p A ( x ; θ A ) = 1 Z A ( x ; θ A ) p_A(\textbf{x};\boldsymbol{\theta}_A)=\displaystyle\frac{1}{Z_A}(\textbf{x};\boldsymbol{\theta}_A) pA(x;θA)=ZA1(x;θA) 的模型 M A \mathcal{M}_A MA和概率分布为 p B ( x ; θ B ) = 1 Z B p ~ B ( x ; θ B ) p_B(\textbf{x};\boldsymbol{\theta}_B)=\displaystyle\frac{1}{Z_B}\tilde{p}_B(\textbf{x};\boldsymbol{\theta}_B) pB(x;θB)=ZB1p~B(x;θB) 的模型 M B \mathcal{M}_B MB。
-
比较模型的常用方法是评估和比较两个模型分配给独立同分布测试数据集的似然。
-
假设测试集含 m m m 个样本 { x ( 1 ) , … , x ( m ) } \{\boldsymbol{x}^{(1)},\dots,\boldsymbol{x}^{(m)}\} { x(1),…,x(m)}。
-
如果:
∏ i p A ( x ( i ) ; θ A ) > ∏ i p B ( x ( i ) ; θ B ) \prod_i p_A(\text{x}^{(i)};\boldsymbol{\theta}_A)\gt \prod_i p_B(\text{x}^{(i)};\boldsymbol{\theta}_B) ∏ipA(x(i);θA)>∏ipB(x(i);θB),
或等价地,如果:
∑ i log p A ( x ( i ) ; θ A ) − ∑ i log p B ( x ( i ) ; θ B ) > 0 \sum_i\log p_A(\text{x}^{(i)};\boldsymbol{\theta}_A)-\sum_i\log p_B(\text{x}^{(i)};\boldsymbol{\theta}_B)\gt 0 ∑ilogpA(x(i);θA)−∑ilogpB(x(i);θB)>0 — 公式1 \quad\textbf{---\footnotesize{公式1}} —公式1 -
那么我们说 M A \mathcal{M}_A MA 是一个比 M B \mathcal{M}_B MB 更好的模型(或者,至少可以说,它在测试集上是一个更好的模型),这是指它有一个更大的测试对数似然。
-
然而,测试这个条件是否成立需要知道配分函数。
-
公式1看起来需要估计模型分配给每个点的对数概率,因而需要估计配分函数。
-
我们可以通过将公式1重新转化为另一种形式来简化情况,在该形式中我们只需要知道两个模型的配分函数的比率:
∑ i log p A ( x ( i ) ; θ A ) − ∑ i log p B ( x ( i ) ; θ B ) = ∑ i ( log p ~ A ( x ( i ) ; θ A ) p B ( x ( i ) ; θ B ) ) − m log Z ( θ A ) Z ( θ B ) \sum\limits_i\log p_A(\text{x}^{(i)};\boldsymbol{\theta}_A)-\sum\limits_i \log p_B(\text{x}^{(i)};\boldsymbol{\theta}_B)=\sum\limits_i \left(\log\frac{\tilde{p}_A(\text{x}^{(i)};\boldsymbol{\theta}_A)}{p_B(\text{x}^{(i)};\boldsymbol{\theta}_B)}\right)-m\log\frac{Z(\boldsymbol{\theta}_A)}{Z(\boldsymbol{\theta}_B)} i∑logpA(x(i);θA)−i∑logpB(x(i);θB)=i∑(logpB(x(i);θB)p~A(x(i);θA))−mlogZ(θB)Z(θA) — 公式2 \quad\textbf{---\footnotesize{公式2}} —公式2
-
-
因此,我们可以在不知道任一模型的配分函数,而只知道它们比率的情况下,判断模型 M A \mathcal{M}_A MA 是否比模型 M B \mathcal{M}_B MB 更优。正如我们将很快看到的,在两个模型相似的情况下,我们可以使用重要采样来估计比率。
-
然而,如果我们想要计算测试数据在 M A \mathcal{M}_A MA 或 M B \mathcal{M}_B MB 上的真实概率,我们需要计算配分函数的真实值。如果我们知道两个配分函数的比率, r = Z ( θ B ) Z ( θ A ) r = \displaystyle\frac{Z(\boldsymbol{\theta}_B)}{Z(\boldsymbol{\theta}_A)} r=Z(θA)Z(θB),并且我们知道两者中一个的实际值,比如说 Z ( θ A ) Z(\boldsymbol{\theta}_A) Z(θA),那么我们可以计算另一个的值:
Z ( θ B ) = r Z ( θ A ) = Z ( θ B ) Z ( θ A ) Z ( θ A ) Z(\boldsymbol{\theta}_B)=rZ(\boldsymbol{\theta}_A)=\displaystyle\frac{Z(\boldsymbol{\theta}_B)}{Z(\boldsymbol{\theta}_A)}Z(\boldsymbol{\theta}_A) Z(θB)=rZ(θA)=Z(θA)Z(θB)Z(θA) — 公式3 \quad\textbf{---\footnotesize{公式3}} —公式3 -
一种估计配分函数的简单方法是使用蒙特卡罗方法,例如简单重要采样。
-
以下用连续变量积分来表示该方法,也可以替换积分为求和,很容易将其应用到离散变量的情况。
-
我们使用提议分布 p 0 ( x ) = 1 Z 0 p ~ 0 ( x ) p_0(\textbf{x}) = \displaystyle\frac{1}{Z_0}\tilde{p}_0(\textbf{x}) p0(x)=Z01p~0(x),其在配分函数 Z 0 Z_0 Z0 和未归一化分布 p ~ 0 ( x ) \tilde{p}_0(\textbf{x}) p~0(x) 上易于采样和估计。
-
{ Z 1 = ∫ p ~ 1 ( x ) dx — 公式4 = ∫ p 0 ( x ) p 0 ( x ) p ~ 1 ( x ) dx — 公式5 = Z 0 ∫ p 0 ( x ) p ~ 1 ( x ) p ~ 0 ( x ) dx — 公式6 \begin{cases} \begin{aligned} Z_1 &= \int\tilde{p}_1(\textbf{x})\text{dx} &\quad\textbf{---\footnotesize{公式4}}\\\ &=\int\frac{p_0(\text{x})}{p_0(\text{x})}\tilde{p}_1(\text{x})\text{dx} &\quad\textbf{---\footnotesize{公式5}}\\\ &=Z_0\int p_0(\text{x})\frac{\tilde{p}_1(\text{x})}{\tilde{p}_0(\text{x})}\text{dx} &\quad\textbf{---\footnotesize{公式6}}\\\\ \end{aligned} \end{cases} ⎩ ⎨ ⎧Z1 =∫p~1(x)dx=∫p0(x)p0(x)p~1(x)dx=Z0∫p0(x)p~0(x)p~1(x)dx—公式4—公式5—公式6
-
Z ^ 1 = Z 0 K ∑ k = 1 K p ~ 1 ( x ( k ) ) p ~ 0 ( x ( k ) ) s.t. : x ( k ) ∼ p 0 \hat{Z}_1=\displaystyle\frac{Z_0}{K}\sum\limits_{k=1}^K\frac{\tilde{p}_1(\text{x}^{(k)})}{\tilde{p}_0(\text{x}^{(k)})}\quad \text{s.t. : } \text{x}^{(k)}\sim p_0 Z^1=KZ0k=1∑Kp~0(x(k))p~1(x(k))s.t. : x(k)∼p0 — 公式7 \quad\textbf{---\footnotesize{公式7}} —公式7
-
在最后一行,我们使用蒙特卡罗估计,使用从 p 0 ( x ) p_0(\text{x}) p0(x) 中抽取的采样计算积分 Z ^ 1 \hat{Z}_1 Z^1,然后用未归一化的 p ~ 1 \tilde{p}_1 p~1 和提议分布 p 0 p_0 p0 的比率对每个采样加权。
-
-
这种方法使得我们可以估计配分函数之间的比率:
1 K ∑ k = 1 K p ~ 1 ( x ( k ) ) p ~ 0 ( x ( k ) ) s.t. : x ( k ) ∼ p 0 \displaystyle\frac{1}{K}\sum\limits_{k=1}^K\frac{\tilde{p}_1(\text{x}^{(k)})}{\tilde{p}_0(\text{x}^{(k)})}\quad \text{s.t. : } \text{x}^{(k)}\sim p_0 K1k=1∑Kp~0(x(k))p~1(x(k))s.t. : x(k)∼p0 — 公式8 \quad\textbf{---\footnotesize{公式8}} —公式8 -
然后该值可以直接比较公式2中的两个模型。
-
如果分布 p 0 p_0 p0 接近 p 1 p_1 p1,那么公式7能够高效地估计配分函数( Minka, 2005 \text{Minka, 2005} Minka, 2005)。
- 不幸的是,大多数时候 p 1 p_1 p1 都很复杂(通常是多峰的),并且定义在高维空间中。
- 很难找到一个易求解的 p 0 p_0 p0,既能易于评估,又能充分接近 p 1 p_1 p1 以保持高质量的近似。
-
如果 p 0 p_0 p0 和 p 1 p_1 p1 不接近,那么 p 0 p_0 p0 的大多数采样将在 p 1 p_1 p1 中具有较低的概率,从而在公式7的求和中产生(相对的)可忽略的贡献。
-
如果求和中只有少数几个具有显著权重的样本,那么将会由于高方差而导致估计的效果很差。这可以通过估计 Z ^ 1 \hat{Z}_1 Z^1 的方差来定量地理解:
Var ^ ( Z ^ 1 ) = Z 0 K 2 ∑ k = 1 K ( p ~ 1 ( x ( k ) ) p ~ 0 ( x ( k ) ) − Z ^ 1 ) 2 \hat{\text{Var}}(\hat{Z}_1)=\displaystyle\frac{Z_0}{K^2}\sum\limits_{k=1}^K\left(\frac{\tilde{p}_1(\text{x}^{(k)})}{\tilde{p}_0(\text{x}^{(k)})}-\hat{Z}_1 \right)^2 Var^(Z^1)=K2Z0k=1∑K(p~0(x(k))p~1(x(k))−Z^1)2 — 公式9 \quad\textbf{---\footnotesize{公式9}} —公式9 -
当重要性权重 p ~ 1 ( x ( k ) ) p ~ 0 ( x ( k ) ) \displaystyle\frac{\tilde{p}_1(\text{x}^{(k)})}{\tilde{p}_0(\text{x}^{(k)})} p~0(x(k))p~1(x(k)) 存在显著偏差时,上式的值是最大的。
-
有两个解决高维空间复杂分布上估计配分函数的方法:退火重要采样和桥式采样。两者都始于上面介绍的简单的重要采样方法,并且都试图通过引入桥接 p 0 p_0 p0 和 p 1 p_1 p1之间差距的中间分布,来解决 p 0 p_0 p0 远离 p 1 p_1 p1 的问题。
退火重要采样
-
在 D K L ( p 0 ∣ ∣ p 1 ) D_{KL}(p_0||p_1) DKL(p0∣∣p1)很大的情况下(即, p 0 p_0 p0和 p 1 p_1 p1之间几乎没有重叠),一种称为退火重要采样( annealed importance sampling, AIS \text{annealed importance sampling, AIS} annealed importance sampling, AIS)的方法试图通过引入中间分布来桥接差距 ( Jarzynski, 1997; Neal, 2001 \text{Jarzynski, 1997; Neal, 2001} Jarzynski, 1997; Neal, 2001)。考虑分布序列 p η 0 , … , p η n p_{\eta_0},\dots,p_{\eta_n} pη0,…,pηn,其中 0 = η 0 < η 1 < ⋯ < η n − 1 < η n = 1 0 = \eta_0 \lt \eta_1 \lt \cdots \lt \eta_n −1 \lt \eta_n = 1 0=η0<η1<⋯<ηn−1<ηn=1,分布序列中的第一个和最后一个分别是 p 0 p_0 p0 和 p 1 p_1 p1。
-
这种方法使我们能够估计定义在高维空间多峰分布(例如训练 RBM \text{RBM} RBM时定义的分布)上的配分函数。我们从一个已知配分函数的简单模型(例如,权重为零的 RBM \text{RBM} RBM)开始,估计两个模型配分函数之间的比率。该比率的估计基于许多个相似分布的比率估计,例如在零和学习到的权重之间插值一组权重不同的 RBM \text{RBM} RBM。
-
现在我们可以将比率 Z 1 Z 0 \displaystyle\frac{Z_1}{Z_0} Z0Z1写作:
{ Z 1 Z 0 = Z 1 Z 0 Z η 1 Z η 1 … Z η n − 1 Z η n − 1 — 公式10 = Z η 1 Z η 0 Z η 2 Z η 1 … Z η n − 1 Z η n − 2 Z 1 Z η n − 1 — 公式11 = ∏ j = 0 n − 1 Z η j + 1 Z η j — 公式12 \begin{cases} \begin{aligned} \frac{Z_1}{Z_0}&=\frac{Z_1}{Z_0}\frac{Z_{\eta _1}}{Z_{\eta_1}}\dots\frac{Z_{\eta_{n-1}}}{Z_{\eta_{n-1}}} &\quad\textbf{---\footnotesize{公式10}}\\\\ &=\frac{Z_{\eta_1}}{Z_{\eta_0}}\frac{Z_{\eta_2}}{Z_{\eta_1}}\dots\frac{Z_{\eta_{n-1}}}{Z_{\eta_{n-2}}}\frac{Z_1}{Z_{\eta_{n-1}}}&\quad\textbf{---\footnotesize{公式11}}\\\\ &=\prod\limits_{j=0}^{n-1}\frac{Z_{\eta_{j+1}}}{Z_{\eta_j}} &\quad\textbf{---\footnotesize{公式12}} \end{aligned} \end{cases} ⎩
⎨
⎧Z0Z1=Z0Z1Zη1Zη1…Zηn−1Zηn−1=Zη0Zη1Zη1Zη2…Zηn−2Zηn−1Zηn−1Z1=j=0∏n−1ZηjZηj+1—公式10—公式11—公式12
— 公式12 \quad\textbf{---\footnotesize{公式12}} —公式12
-
如果对于所有的 0 ≤ j ≤ n − 1 0 \le j \le n − 1 0≤j≤n−1,分布 p η j p_{\eta_j} pηj 和 p η j + 1 p_{\eta_{j+1}} pηj+1 足够接近,那么我们能够使用简单的重要采样来估计每个因子 Z η j + 1 Z η j \displaystyle\frac{Z_{\eta_{j+1}}}{Z_{\eta_j}} ZηjZηj+1,然后使用这些得到 Z 1 Z 0 \displaystyle\frac{Z_1}{Z_0} Z0Z1 的估计。
-
这些中间分布是从哪里来的呢?
-
正如最先的提议分布 p 0 p_0 p0 是一种设计选择,分布序列 p η 1 … p η n − 1 p_{\eta_1}\dots p_{\eta_{n-1}} pη1…pηn−1 也是如此。
-
也就是说,它们可以被特别设计为特定的问题领域。
-
中间分布的一个通用目标和流行选择是使用目标分布 p 1 p_1 p1 的加权几何平均,起始分布(其配分函数是已知的)为 p 0 p_0 p0:
p η j ∝ p 1 η j p 0 1 − η j p_{\eta_j}\propto p_1^{\eta_j} p_0^{1-\eta_j} pηj∝p1ηjp01−ηj — 公式13 \quad\textbf{---\footnotesize{公式13}} —公式13 -
为了从这些中间分布中采样,我们定义了一组马尔可夫链转移函数 T η j ( x ′ ∣ x ) T_{\eta_j}(x^\prime\mid x) Tηj(x′∣x),定义了给定 x x x 转移到 x ′ x^\prime x′ 的条件概率分布。
-
转移算子 T η j ( x ′ ∣ x ) T_{\eta_j}(x^\prime\mid x) Tηj(x′∣x) 定义如下,保持 p η j ( x ) p_{\eta_j}(x) pηj(x) 不变:
p η j ( x ) = ∫ p η j ( x ′ ) T η j ( x ′ ∣ x ) d x ′ p_{\eta_j}(x)=\displaystyle\int p_{\eta_j}(x^\prime)T_{\eta_j}(x^\prime\mid x)\text{d}x^\prime pηj(x)=∫pηj(x′)Tηj(x′∣x)dx′ — 公式14 \quad\textbf{---\footnotesize{公式14}} —公式14 -
这些转移可以被构造为任何马尔可夫链蒙特卡罗方法(例如, Metropolis-Hastings,Gibbs \text{Metropolis-Hastings,Gibbs} Metropolis-Hastings,Gibbs),包括涉及多次遍历所有随机变量或其他迭代的方法。
-
然后, AIS \text{AIS} AIS采样方法从 p 0 p_0 p0 开始生成样本,并使用转移算子从中间分布顺序地生成采样,直到我们得到目标分布 p 1 p_1 p1 的采样:
-
对于 k = 1 … K k=1\dots K k=1…K
− - − 采样 x η 1 ( k ) ∼ p 0 ( x ) x_{\eta_1}^{(k)}\sim p_0(\text{x}) xη1(k)∼p0(x)
− - − 采样 x η 2 ( k ) ∼ T η j ( x η 2 ( k ) ∣ x η 1 ( k ) ) x_{\eta_2}^{(k)}\sim T_{\eta_j}(\text{x}_{\eta_2}^{(k)}\mid x_{\eta_1}^{(k)}) xη2(k)∼Tηj(xη2(k)∣xη1(k))
− … - \dots −…
− - − 采样 x η n − 1 ( k ) ∼ T η n − 2 ( x η n − 1 ( k ) ∣ x η n − 2 ( k ) ) x_{\eta_{n-1}}^{(k)}\sim T_{\eta_{n-2}}(\text{x}_{\eta_{n-1}}^{(k)}\mid x_{\eta_{n-2}}^{(k)}) xηn−1(k)∼Tηn−2(xηn−1(k)∣xηn−2(k))
− - − 采样 x η n ( k ) ∼ T η n − 1 ( x η n ( k ) ∣ x η n − 1 ( k ) ) x_{\eta_n}^{(k)}\sim T_{\eta_{n-1}}(\text{x}_{\eta_n}^{(k)}\mid x_{\eta_{n-1}}^{(k)}) xηn(k)∼Tηn−1(xηn(k)∣xηn−1(k)) -
结束
-
-
对于采样 k k k,通过连接公式12给出的中间分布之间的重要性权重,我们可以导出目标重要性权重:
w ( k ) = p ~ η 1 ( x η 1 ( k ) ) p ~ 0 ( x η 1 ( k ) ) p ~ η 2 ( x η 2 ( k ) ) p ~ η 1 ( x η 2 ( k ) ) … p ~ 1 ( x 1 ( k ) ) p ~ η n − 1 ( x η n ( k ) ) w^{(k)}=\displaystyle\frac{\tilde{p}_{\eta_1}(x_{\eta_1}^{(k)})}{\tilde{p}_0(x_{\eta_1}^{(k)})} \frac{\tilde{p}_{\eta_2}(x_{\eta_2}^{(k)})}{\tilde{p}_{\eta_1}(x_{\eta_2}^{(k)})} \dots \frac{\tilde{p}_1(x_1^{(k)})}{\tilde{p}_{\eta_{n-1}}(x_{\eta_n}^{(k)})} w(k)=p~0(xη1(k))p~η1(xη1(k))p~η1(xη2(k))p~η2(xη2(k))…p~ηn−1(xηn(k))p~1(x1(k)) — 公式15 \quad\textbf{---\footnotesize{公式15}} —公式15
-
-
为了避免诸如上溢的数值问题,最佳方法可能是通过加法或减法计算 log w ( k ) \log w^{(k)} logw(k),而不是通过概率乘法和除法计算 w ( k ) w^{(k)} w(k)。
-
利用由此定义的抽样过程和公式15中给出的重要性权重,配分函数的比率估计如下所示:
Z 1 Z 0 ≈ 1 K ∑ k = 1 K w ( k ) \displaystyle\frac{Z_1}{Z_0}\approx \frac{1}{K}\sum\limits_{k=1}^K w^{(k)} Z0Z1≈K1k=1∑Kw(k) — 公式16 \quad\textbf{---\footnotesize{公式16}} —公式16 -
为了验证该过程定义的重要采样方案是否有效,我们可以展示 ( Neal,2001 \text{Neal,2001} Neal,2001) AIS \text{AIS} AIS过程对应着扩展状态空间上的简单重要采样,其中数据点采样自乘积空间 [ x η 1 , … , x η n − 1 , x 1 ] [x_{\eta_1},\dots,x_{\eta_{n-1}},x_1] [xη1,…,xηn−1,x1]。为此,我们将扩展空间上的分布定义为:
p ~ ( x η 1 , … , x η n − 1 , x 1 ) = p ~ 1 ( x 1 ) T ~ η n − 1 ( x η n − 1 ∣ x 1 ) T ~ η n − 2 ( x η n − 2 ∣ x η n − 1 ) … T ~ η 1 ( x η 1 ∣ x η 2 ) \tilde{p}(x_{\eta_1},\dots,x_{\eta_{n-1}},x_1)\\=\tilde{p}_1(x_1)\tilde{T}_{\eta_{n-1}}(x_{\eta_{n-1}}\mid x_1)\tilde{T}_{\eta_{n-2}}(x_{\eta_{n-2}}\mid x_{\eta_{n-1}})\dots\tilde{T}_{\eta_1}(x_{\eta_1}\mid x_{\eta_2}) p~(xη1,…,xηn−1,x1)=p~1(x1)T~ηn−1(xηn−1∣x1)T~ηn−2(xηn−2∣xηn−1)…T~η1(xη1∣xη2) — 公式17 \quad\textbf{---\footnotesize{公式17}} —公式17 -
其中 T ~ a \tilde{T}_a T~a 是由 T a T_a Ta 定义的转移算子的逆(应用贝叶斯规则):
T ~ a ( x ′ ∣ x ) = p a ( x ′ ) p a ( x ) T a ( x ∣ x ′ ) = p ~ a ( x ′ ) p a ( x ) T a ( x ∣ x ′ ) \tilde{T}_a(x^\prime\mid x)=\displaystyle\frac{p_a(x^\prime)}{p_a(x)}T_a(x\mid x^\prime)=\frac{\tilde{p}_a(x^\prime)}{p_a(x)}T_a(x\mid x^\prime) T~a(x′∣x)=pa(x)pa(x′)Ta(x∣x′)=pa(x)p~a(x′)Ta(x∣x′) — 公式18 \quad\textbf{---\footnotesize{公式18}} —公式18 -
将以上代入到公式17给出的扩展状态空间上的联合分布中,我们得到:
{ p ~ ( x η 1 , … , x η n − 1 , x 1 ) — 公式19 = p ~ 1 ( x 1 ) p ~ η n − 1 ( x η n − 1 ) p ~ η n − 1 ( x 1 ) T η n − 1 ( x 1 ∣ x η n − 1 ) ∏ i = 1 n − 2 p ~ η i ( x η i ) p ~ η i ( x η i + 1 ) T η i ( x η i + 1 ∣ x η i ) — 公式20 = p ~ η 1 ( x 1 ) p ~ η n − 1 ( x 1 ) T η n − 1 ( x 1 ∣ x η n − 1 ) p ~ η 1 ( x η 1 ) ∏ i = 1 n − 2 p ~ η i + 1 ( x η i + 1 ) p ~ η i ( x η i + 1 ) T η i ( x η i + 1 ∣ x η i ) — 公式21 \begin{cases} \begin{aligned} &\tilde{p}(x_{\eta_1},\dots,x_{\eta_{n-1}},x_1) &\quad\textbf{---\footnotesize{公式19}}\\ &=\tilde{p}_1(x_1)\frac{\tilde{p}_{\eta_{n-1}}(x_{\eta_{n-1}})}{\tilde{p}_{\eta_{n-1}}(x_1)} T_{\eta_{n-1}}(x_1\mid x_{\eta_{n-1}}) \prod\limits_{i=1}^{n-2} \frac{\tilde{p}_{\eta_i}(x_{\eta_i})}{\tilde{p}_{\eta_i}(x_{\eta_{i+1}})} T_{\eta_i}(x_{\eta_{i+1}}\mid x_{\eta_i})&\quad\textbf{---\footnotesize{公式20}}\\ &=\frac{\tilde{p}_{\eta_1}(x_1)}{\tilde{p}_{\eta_{n-1}}(x_1)} T_{\eta_{n-1}}(x_1\mid x_{\eta_{n-1}})\tilde{p}_{\eta_1}(x_{\eta_1}) \prod\limits_{i=1}^{n-2} \frac{\tilde{p}_{\eta_{i+1}}(x_{\eta_{i+1}})}{\tilde{p}_{\eta_i}(x_{\eta_{i+1}})} T_{\eta_i}(x_{\eta_{i+1}}\mid x_{\eta_i})&\quad\textbf{---\footnotesize{公式21}}\\ \end{aligned} \end{cases} ⎩ ⎨ ⎧p~(xη1,…,xηn−1,x1)=p~1(x1)p~ηn−1(x1)p~ηn−1(xηn−1)Tηn−1(x1∣xηn−1)i=1∏n−2p~ηi(xηi+1)p~ηi(xηi)Tηi(xηi+1∣xηi)=p~ηn−1(x1)p~η1(x1)Tηn−1(x1∣xηn−1)p~η1(xη1)i=1∏n−2p~ηi(xηi+1)p~ηi+1(xηi+1)Tηi(xηi+1∣xηi)—公式19—公式20—公式21
— 公式21 \quad\textbf{---\footnotesize{公式21}} —公式21 -
通过上面给定的采样方案,现在我们可以从扩展样本上的联合提议分布 q q q 上生成采样,联合分布如下:
q ( x η 1 , … , x η n − 1 , x 1 ) = p 0 ( x η 1 ) T η 1 ( x η 2 ∣ x η 1 ) … T η n − 1 ( x 1 ∣ x η n − 1 ) q(x_{\eta_1},\dots,x_{\eta_{n-1}},x_1)=p_0(x_{\eta_1})T_{\eta_1}(x_{\eta_2}\mid x_{\eta_1})\dots T_{\eta_{n-1}}(x1\mid x_{\eta_{n-1}}) q(xη1,…,xηn−1,x1)=p0(xη1)Tη1(xη2∣xη1)…Tηn−1(x1∣xηn−1) — 公式22 \quad\textbf{---\footnotesize{公式22}} —公式22 -
公式21给出了扩展空间上的联合分布。将 q ( x η 1 , … , x η n − 1 , x 1 ) q(x_{\eta_1},\dots,x_{\eta_{n-1}},x_1) q(xη1,…,xηn−1,x1) 作为扩展状态空间上的提议分布(我们会从中抽样),重要性权重如下:
w ( k ) = p ~ ( x η 1 , … , x η n − 1 , x 1 ) q ( x η 1 , … , x η n − 1 , x 1 ) = p ~ 1 ( x 1 ( k ) ) p ~ η n − 1 ( x η n − 1 ( k ) ) … p ~ η 2 ( x η 2 ( k ) ) p ~ η 1 ( x η 1 ( k ) ) p ~ η 1 ( x η 1 ( k ) ) p ~ 0 ( x 0 ( k ) ) w^{(k)}=\displaystyle\frac{\tilde{p}(x_{\eta_1},\dots,x_{\eta_{n-1}},x_1) } {q(x_{\eta_1},\dots,x_{\eta_{n-1}},x_1)}=\frac{\tilde{p}_1(x_1^{(k)})} {\tilde{p}_{\eta_{n-1}}(x_{\eta_{n-1}}^{(k)})}\dots\frac{\tilde{p}_{\eta_2}(x_{\eta_2}^{(k)})}{\tilde{p}_{\eta_1}(x_{\eta_1}^{(k)})} \frac{\tilde{p}_{\eta_1}(x_{\eta_1}^{(k)})}{\tilde{p}_0(x_0^{(k)})} w(k)=q(xη1,…,xηn−1,x1)p~(xη1,…,xηn−1,x1)=p~ηn−1(xηn−1(k))p~1(x1(k))…p~η1(xη1(k))p~η2(xη2(k))p~0(x0(k))p~η1(xη1(k)) — 公式23 \quad\textbf{---\footnotesize{公式23}} —公式23 -
这些权重和 AIS \text{AIS} AIS上的权重相同。因此,我们可以将 AIS \text{AIS} AIS解释为应用于扩展状态上的简单重要采样,其有效性紧紧来源于重要采样的有效性。
-
退火重要采样首先由 Jarzynski (1997) \text{Jarzynski (1997)} Jarzynski (1997) 发现,然后由 Neal (2001) \text{Neal (2001)} Neal (2001) 再次独立发现。目前它是估计无向概率模型的配分函数的最常用方法。其原因可能与一篇有影响力的论文 ( Salakhutdinov and Murray, 2008 \text{Salakhutdinov and Murray, 2008} Salakhutdinov and Murray, 2008) 有关,该论文并没有讨论该方法相对于其他方法的优点,而是介绍了将其应用于估计受限玻尔兹曼机和深度信念网络的配分函数。
-
关于 AIS \text{AIS} AIS估计性质(例如,方差和效率)的讨论,请参看 Neal (2001) \text{Neal (2001)} Neal (2001)。
桥式采样
-
类似于 AIS \text{AIS} AIS, 桥式采样( Bennett, 1976 \text{Bennett, 1976} Bennett, 1976) 是另一种处理重要采样缺点的方法。并非将一系列中间分布连接在一起, 桥式采样依赖于单个分布 p ∗ p_∗ p∗(被称为桥),在已知配分函数的分布 p 0 p_0 p0 和分布 p 1 p_1 p1(我们试图估计其配分函数 Z 1 Z_1 Z1)之间插值。
-
桥式采样估计比率 Z 1 / Z 0 Z_1/Z_0 Z1/Z0: p ~ 0 \tilde{p}_0 p~0 和 p ~ ∗ \tilde{p}_∗ p~∗ 之间重要性权重期望与 p ~ 1 \tilde{p}_1 p~1 和 p ~ ∗ \tilde{p}_∗ p~∗ 之间重要性权重的比率:
Z 1 Z 0 ≈ ∑ k = 1 K p ~ ∗ ( x 0 ( k ) ) p ~ 0 ( x 0 ( k ) ) / ∑ k = 1 K p ~ ∗ ( x 1 ( k ) ) p ~ 1 ( x 1 ( k ) ) \frac{Z_1}{Z_0}\approx\displaystyle\sum\limits_{k=1}^K\frac{\tilde{p}_*(x_0^{(k)})}{\tilde{p}_0(x_0^{(k)})}\bigg/\sum\limits_{k=1}^K\frac{\tilde{p}_*(x_1^{(k)})}{\tilde{p}_1(x_1^{(k)})} Z0Z1≈k=1∑Kp~0(x0(k))p~∗(x0(k))/k=1∑Kp~1(x1(k))p~∗(x1(k)) — 公式24 \quad\textbf{---\footnotesize{公式24}} —公式24 -
如果仔细选择桥式采样 p ∗ p_* p∗,使其与 p 0 p_0 p0和 p 1 p_1 p1都有很大重合的话,那么桥式采样能够允许两个分布(或更正式地, D KL ( p 0 ∣ ∣ p 1 ) D_{\text{KL}}(p_0||p_1) DKL(p0∣∣p1) )之间有较大差距(相对标准重要采样而言)。
-
可以表示,最优的桥式采样是 p ∗ ( o p t ) ( x ) ≈ p ~ 0 ( x ) p ~ 1 ( x ) r p ~ 0 ( x ) + p ~ 1 ( x ) p_*^{(opt)}(\textbf{x})\approx\displaystyle\frac{\tilde{p}_0(x)\tilde{p}_1(x)}{r\tilde{p}_0(x)+\tilde{p}_1(x)} p∗(opt)(x)≈rp~0(x)+p~1(x)p~0(x)p~1(x),其中 r = Z 1 / Z 0 r = Z_1/Z_0 r=Z1/Z0。
- 这似乎是一个不可行的解决方案,因为它似乎需要我们估计数值 Z 1 / Z 0 Z_1/Z_0 Z1/Z0。
- 然而,可以从粗糙的 r r r 开始估计,然后使用得到的桥式采样逐步迭代以改进估计 (Neal, 2005 \text{(Neal, 2005} (Neal, 2005)。
- 也就是说,我们会迭代地重新估计比率,并使用每次迭代更新 r r r 的值。
-
链式重要采样 AIS \text{AIS} AIS和桥式采样各有优点。
- 如果 D KL ( p 0 ∣ ∣ p 1 ) D_{\text{KL}}(p_0||p_1) DKL(p0∣∣p1) 不太大(由于 p 0 p_0 p0 和 p 1 p_1 p1 足够接近)的话,那么桥式采样能比 AIS \text{AIS} AIS更高效地估计配分函数比率。
- 然而,如果对于单个分布 p ∗ p_∗ p∗ 而言,两个分布相距太远难以桥接差距,那么 AIS \text{AIS} AIS至少可以使用许多潜在中间分布来跨越 p 0 p_0 p0 和 p 1 p_1 p1 之间的差距。
- Neal (2005) \text{Neal (2005)} Neal (2005) 展示链式重要采样方法如何利用桥式采样的优点,桥接 AIS \text{AIS} AIS中使用的中间分布,并且显著改进了整个配分函数的估计。
-
使用桥式采样,短链 AIS \text{AIS} AIS和并行回火的组合, Desjardins et al. (2011) \text{Desjardins et al. (2011) } Desjardins et al. (2011) 设计了一种在训练过程中追踪 RBM \text{RBM} RBM配分函数的方法。该方法的基础是,在并行回火方法操作的每个温度下, RBM \text{RBM} RBM配分函数的独立估计。作者将相邻链(来自并行回火)的配分函数比率的桥式采样估计和跨越时间的 AIS \text{AIS} AIS估计组合起来,提出一个在每次迭代学习时估计配分函数的(且方差较小的)方法。
-
本章中描述的工具提供了许多不同的方法,以解决难求解配分函数的问题,但是在训练和使用生成模型时,可能会存在一些其他问题。其中最重要的是我们接下来会遇到的难以推断的问题。
总结
通过对配分函数的估计,我们能够更深入地理解系统的微观结构与宏观性质之间的关系,为热力学和统计物理的研究开辟了新的道路。这些估计方法不仅提高了我们计算复杂系统热力学量的精度,还为我们探索未知物质的性质提供了有力的工具。随着相关理论的不断完善和技术的持续发展,相信未来我们将能够更准确地估计配分函数,揭示更多物质的奇妙性质和潜在应用。配分函数之估计,不仅是统计物理领域的一大挑战,更是推动科学技术进步的重要力量。