跳过正文

Metatron Dev. X: MCMC

·2976 字·6 分钟

Metropolis-Hastings
#

xk\mathbf{x}_k为顶点数为kk的路径, pip_iXiX_i的密度, 转移函数K(xy)K(\mathbf{x} \to \mathbf{y})x\mathbf{x}转移至y\mathbf{y}的概率密度, 满足k=1ykK(xyk)dyk=1\sum_{k=1}^\infty\int_{\mathbf{y}_k} K(\mathbf{x} \to \mathbf{y}_k)\mathrm{d}\mathbf{y}_k = 1, Markov链的演化如下:

pi(x)=k=1ykK(ykx)pi1(yk)dyk \begin{equation} p_i(\mathbf{x}) = \sum_{k=1}^\infty\int_{\mathbf{y}_k} K(\mathbf{y}_k \to \mathbf{x})p_{i-1}(\mathbf{y}_k)\mathrm{d}\mathbf{y}_k \end{equation}

稳态分布(stationary distribution)pp_\infty为不动点即pi=pi1p_i = p_{i-1}. Metropolis-Hastings以提议密度T(xy)T(\mathbf{x} \to \mathbf{y})生成候选, 以接受概率a(xy)a(\mathbf{x} \to \mathbf{y})决定是否接受:

pi(x)=pi1(x)(1k=1ykT(xyk)a(xyk)dyk)+k=1ykpi1(yk)T(ykx)a(ykx)dyk \begin{equation} p_i(\mathbf{x}) = p_{i-1}(\mathbf{x})(1 - \sum_{k=1}^\infty\int_{\mathbf{y}_k} T(\mathbf{x} \to \mathbf{y}_k)a(\mathbf{x} \to \mathbf{y}_k)\mathrm{d}\mathbf{y}_k) + \sum_{k=1}^\infty\int_{\mathbf{y}_k} p_{i-1}(\mathbf{y}_k)T(\mathbf{y}_k \to \mathbf{x})a(\mathbf{y}_k \to \mathbf{x})\mathrm{d}\mathbf{y}_k \end{equation}

给定目标分布p^\hat{p}, 细致平衡(detailed balance)条件如下:

p^(x)T(xy)a(xy)=p^(y)T(yx)a(yx) \begin{equation} \hat{p}(\mathbf{x})T(\mathbf{x} \to \mathbf{y})a(\mathbf{x} \to \mathbf{y}) = \hat{p}(\mathbf{y})T(\mathbf{y} \to \mathbf{x})a(\mathbf{y} \to \mathbf{x}) \end{equation}

归一化常数p^=k=1xkp^(xk)dxk\|\hat{p}\| = \sum_{k=1}^\infty\int_{\mathbf{x}_k} \hat{p}(\mathbf{x}_k)\,\mathrm{d}\mathbf{x}_k, 设pi1=p^p^p_{i-1} = \frac{\hat{p}}{\|\hat{p}\|}, 代入演化得p^p^\frac{\hat{p}}{\|\hat{p}\|}为不动点:

pi(x)=pi1(x)1p^k=1yk(p^(x)T(xyk)a(xyk)p^(yk)T(ykx)a(ykx))dyk=pi1(x) \begin{equation} \begin{aligned} p_i(\mathbf{x}) &= p_{i-1}(\mathbf{x}) - \frac{1}{\|\hat{p}\|}\sum_{k=1}^\infty\int_{\mathbf{y}_k}( \hat{p}(\mathbf{x})T(\mathbf{x} \to \mathbf{y}_k)a(\mathbf{x} \to \mathbf{y}_k) - \hat{p}(\mathbf{y}_k)T(\mathbf{y}_k \to \mathbf{x})a(\mathbf{y}_k \to \mathbf{x}) )\mathrm{d}\mathbf{y}_k\\ &= p_{i-1}(\mathbf{x}) \end{aligned} \end{equation}

按如下方式定义aa, 使得较大的p^(x)T(xy)\hat{p}(\mathbf{x})T(\mathbf{x} \to \mathbf{y})总是被接受:

a(xy)=min(1,p^(y)T(yx)p^(x)T(xy)) \begin{equation} a(\mathbf{x} \to \mathbf{y}) = \min(1, \frac{\hat{p}(\mathbf{y})T(\mathbf{y} \to \mathbf{x})}{\hat{p}(\mathbf{x})T(\mathbf{x} \to \mathbf{y})}) \end{equation}

不动点不蕴含唯一性, 例如取Ω={1,2,3}\Omega = \{1, 2, 3\}, 转移矩阵行为起点列为终点:

K=[1212012120001] K = \begin{bmatrix} \frac{1}{2} & \frac{1}{2} & 0\\ \frac{1}{2} & \frac{1}{2} & 0\\ 0 & 0 & 1 \end{bmatrix}

p0=(α,β,γ)p_0 = (\alpha, \beta, \gamma), 一步后即为不动点, 可见不动点与初始状态相关:

p1=(α+β2,α+β2,γ) p_1 = \left(\frac{\alpha + \beta}{2}, \frac{\alpha + \beta}{2}, \gamma\right)

从任意x\mathbf{x}出发均能在有限步内到达任何p^>0\hat{p} > 0的区域则不动点唯一. 若满足细致平衡, 已知p0=p^p^p_0 = \frac{\hat{p}}{\|\hat{p}\|}不动点为p^p^\frac{\hat{p}}{\|\hat{p}\|}, 因此任意初值均收敛到它:

limipi=p^p^ \begin{equation} \lim_{i \to \infty}p_i = \frac{\hat{p}}{\|\hat{p}\|} \end{equation}

Metropolis Light Transport
#

基于BDPT实现MLT, 令p0p_0为BDPT的PDF, 初始权重W0=p^(X0)p0(X0)W_0 = \frac{\hat{p}(X_0)}{p_0(X_0)}, 变异保持Wi=Wi1W_i = W_{i-1}, 记ρi(w,x)\rho_i(w, \mathbf{x})(Wi,Xi)(W_i, X_i)的联合密度, 加权均衡条件(weighted equilibrium condition)如下:

Rwρi(w,x)dw=p^(x) \begin{equation} \int_\mathbb{R} w\,\rho_i(w, \mathbf{x})\,\mathrm{d}w = \hat{p}(\mathbf{x}) \end{equation}

i=0i = 0W0W_0X0X_0确定, ρ0(w,x)=δ(wp^(x)p0(x))p0(x)\rho_0(w, \mathbf{x}) = \delta(w - \frac{\hat{p}(\mathbf{x})}{p_0(\mathbf{x})})p_0(\mathbf{x}), 代入直接满足. 变异与WW无关, 故ρi\rho_ipip_i的演化相同:

ρi(w,x)=ρi1(w,x)(1k=1ykT(xyk)a(xyk)dyk)+k=1ykρi1(w,yk)T(ykx)a(ykx)dyk \begin{equation} \rho_i(w, \mathbf{x}) = \rho_{i-1}(w, \mathbf{x})(1 - \sum_{k=1}^\infty\int_{\mathbf{y}_k} T(\mathbf{x} \to \mathbf{y}_k)a(\mathbf{x} \to \mathbf{y}_k)\mathrm{d}\mathbf{y}_k) + \sum_{k=1}^\infty\int_{\mathbf{y}_k} \rho_{i-1}(w, \mathbf{y}_k)T(\mathbf{y}_k \to \mathbf{x})a(\mathbf{y}_k \to \mathbf{x})\mathrm{d}\mathbf{y}_k \end{equation}

两侧乘ww并对ww积分, 基于加权均衡条件与细致平衡可得:

Rwρi(w,x)dw=p^(x)k=1yk(p^(x)T(xyk)a(xyk)p^(yk)T(ykx)a(ykx))dyk=p^(x) \begin{equation} \begin{aligned} \int_\mathbb{R} w\,\rho_i(w, \mathbf{x})\,\mathrm{d}w &= \hat{p}(\mathbf{x}) - \sum_{k=1}^\infty\int_{\mathbf{y}_k}( \hat{p}(\mathbf{x})T(\mathbf{x} \to \mathbf{y}_k)a(\mathbf{x} \to \mathbf{y}_k) - \hat{p}(\mathbf{y}_k)T(\mathbf{y}_k \to \mathbf{x})a(\mathbf{y}_k \to \mathbf{x}) )\mathrm{d}\mathbf{y}_k\\ &= \hat{p}(\mathbf{x}) \end{aligned} \end{equation}

hh为滤波器权重, IjI_j为像素jj的真值, 可验证无偏:

E[Wihj(Xi)]=k=1xkRwhj(xk)ρi(w,xk)dwdxk=k=1xkhj(xk)p^(xk)dxk=Ij \begin{equation} \begin{aligned} E[W_i h_j(X_i)] &= \sum_{k=1}^\infty\int_{\mathbf{x}_k}\int_\mathbb{R} w\,h_j(\mathbf{x}_k)\rho_i(w, \mathbf{x}_k)\,\mathrm{d}w\,\mathrm{d}\mathbf{x}_k\\ &= \sum_{k=1}^\infty\int_{\mathbf{x}_k} h_j(\mathbf{x}_k)\hat{p}(\mathbf{x}_k)\,\mathrm{d}\mathbf{x}_k\\ &= I_j \end{aligned} \end{equation}