ELBO变分下界
2025-06-01
〔note〕
#论文笔记
#ELBO
#VAE
#diff_series
预备知识
带隐变量的最大似然估计
假设有两个随机变量z和x,二者存在相关性,显变量x能够被观测到,隐变量z无法被观测到。我们希望能够用一参数为θ的模型来表达它们的关系。
通过实验,独立同分布地采集数据,得到数据集{xi},可以最大化似然函数L(θ)优化这一模型(让样本出现概率尽可能大)。
L(θ)=−∑logpθ(xi)
然而由于模型中隐变量的存在,p(xi)不可求。根据全概率公式,有下面的结果。这一积分一般情况下无法直接求解。
p(xi)=∫p(xi∣z)dz
Jensen不等式
对于凸函数f(x),随机变量X,有
f(E[X])≤E[f(X)]
对于凹函数,则反过来。
KL散度
KL散度衡量两个概率分布的差异。
KL(q(x)∣∣p(x))≜∫q(x)logp(x)q(x)dx
两个分布相等的时候,KL散度为0。可以用Jensen不等式证明KL散度是非负的。
从信息论的角度看,KL散度反映了用p(x)取代q(x)所损失的信息量。
∫q(x)logp(x)q(x)dx=−∫q(x)logp(x)dx−[−∫q(x)logq(x)dx]
第一项是互信息,第二项是q(x)的信息。KL散度不是对称的,所以叫做“散度”(divergence)而不是“距离”(distance)。
引入变分分布
引入一个变分函数qϕ(z∣x),意义是估计隐变量z。这个函数应该和真实的p(z∣x)尽量接近,也就是最小化二者的KL散度KL(qϕ(z∣x)∣∣pθ(z∣x))。
最大化似然函数
回到似然函数上
logpθ(x)===≥≜log∫p(x∣z)p(z)dzlog∫q(z∣x)q(z∣x)p(x∣z)p(z)dzlogEz∼q(z∣x)[q(z∣x)p(x∣z)p(z)] Ez∼q(z∣x)[logq(z∣x)p(x∣z)p(z)] ELBO
最大化ELBO就是在最大化似然函数。
最小化KL散度
====KL(q(z∣x)∣∣p(z∣x))∫q(z∣x)logp(z∣x)q(z∣x)dz Ez∼q(z∣x)[logp(z∣x)q(z∣x)] Ez∼q(z∣x)[logp(z∣x)p(x)q(z∣x)+logp(x)]Ez∼q(z∣x)[logp(x∣z)p(z)q(z∣x)]+logp(x)
至此,我们已经得到了类似上一小节的结果。移项一下,就能得到
logp(x)=KL−Ez∼q(z∣x)[logp(x∣z)p(z)q(z∣x)]=KL+ELBO
对于qϕ来说,p(x)和它无关,所以最大化ELBO就是最小化KL。
优化
用小批量的随机梯度下降法(梯度上升法)来求解,ELBO里面的期望可以通过采样来计算。不需要交替优化θ和ϕ,可以让它们协同训练。
当碰到类似问题的时候,比如最大似然估计的同时还要估计隐变量,就应该想到ELBO。
ELBO的进一步解释
把ELBO拆开,可以得到两项,一项是重构损失,一项是正则化项。