【扩散模型】(一) 变分推断基础

文章介绍了变分贝叶斯方法在处理扩散模型时的角色,如何用高斯分布作为先验,以及如何通过近似计算后验概率。重点讨论了使用KL散度作为优化目标和证据下界(ELBO)的概念,以及在坐标下降法中如何逐个优化参数分布。

扩散模型需要一点变分贝叶斯的知识,基本出于功利性目的,停留在浅尝辄止的程度。

朴素贝叶斯

  • 数据(Data)x={ x1,x2,⋯ ,xn}{\bold x}=\{x_1,x_2,\cdots,x_n\}x={ x1,x2,,xn}
  • 参数(Parameter)z={ z1,z2,⋯ ,zm}{\bold z}=\{z_1,z_2,\cdots,z_m\}z={ z1,z2,,zm}
  • 先验(Prior)p(z)p({\bold z})p(z)
  • 后验(Posterior)p(z∣x)p({\bold z}\vert{\bold x})p(zx)

先验一般使用常见的概率分布,比如扩散模型(Diffusion Model)选择高斯分布 N(0,I){\cal N}({\bold 0},{\bold I})N(0,I)

后验 p(z∣x)p({\bold z}\vert{\bold x})p(zx) 即在 x\bold xx 的分布下 z\bold zz 的条件概率,也就是根据数据 x\bold xx 来估计参数 z\bold zz。相比于先验,后验经过了数据 x{\bold x}x 的修正,因此能够更加贴合真实值。

后验的计算方法(贝叶斯公式):
p(z∣x)=p(z,x)p(x)=p(x∣z)⋅p(z)p(x) p({\bold z}\vert{\bold x})=\frac{p({\bold z},{\bold x})}{p({\bold x})}=\frac{p({\bold x}\vert{\bold z})\cdot p({\bold z})}{p({\bold x})} p(zx)=p(x)p(z,x)=p(x)p(xz)p(z)

  • 似然(Likelihood)p(x∣z)p({\bold x}\vert{\bold z})p(xz)
  • 证据(Evidence)p(x)p({\bold x})p(x)

变分贝叶斯

后验没有解析表示,需要采用近似方法计算。马尔科夫链蒙特卡洛(MCMC)就是一种典型思路,虽然它能得到相对精确的结果,但是速度非常慢。巧妙一点的方法是把问题转化到凸优化上来。

假设在某一函数族 Q{\mathbb Q}Q 内寻找与 x\bold xx 无关的概率密度函数 q(z)q({\bold z})q(z) 来近似 p(z∣x)p({\bold z}\vert{\bold x})p(zx),优化目标:
q∗(z)=arg⁡min⁡q(z)∈QL(q(z),p(z∣x)) q^*({\bold z})=\mathop{\arg\min}\limits_{q({\bold z})\in{\mathbb Q}}{ {\cal L}\left(q({\bold z}),p({\bold z}\vert{\bold x})\right)} q(z)=q(z)QargminL(q(z),p(zx))
q∗(z)q^*({\bold z})q(z) 是我们追求的理想近似函数,L\cal LL 是我们的度量函数,用于衡量函数的近似水平。

扩散模型一般选择 KL 散度:
KL(q(z)∥p(z∣x))=∫zq(z)log⁡q(z)p(z∣x)dz=∫zq(z)log⁡q(z)⋅p(x)p(z,x)dz=∫zq(z)log⁡q(z)dz−∫zq(z)log⁡p(z,x)dz+log⁡p(x)∫zq(z)dz=Eqlog⁡q(z)−Eqlog⁡p(z,x)+log⁡p(x) \begin{aligned} \mathop{\rm KL}{\left(q({\bold z})\middle\Vert p({\bold z}\vert{\bold x})\right)} &=\int_{\bold z}{q({\bold z})\log\frac{q({\bold z})}{p({\bold z}\vert{\bold x})}{ {\rm d}{\bold z}}} \\ &=\int_{\bold z}{q({\bold z})\log\frac{q({\bold z})\cdot p({\bold x})}{p({\bold z},{\bold x})}{ {\rm d}{\bold z}}} \\ &=\int_{\bold z}{q({\bold z})\log{q({\bold z})}{ {\rm d}{\bold z}}} -\int_{\bold z}{q({\bold z})\log{p({\bold z},{\bold x})}{ {\rm d}{\bold z}}} +\log{p({\bold x})\int_{\bold z}{q({\bold z})}{ {\rm d}{\bold z}}} \\ &=\mathop{ {\bf E}_q}{\log{q({\bold z})}}-\mathop{ {\bf E}_q}{\log{p({\bold z},{\bold x})}}+\log{p({\bold x})} \end{aligned} KL(q(z)p(zx))=zq(z)logp(zx)q(z)dz=zq(z)logp(z,x

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值