如之前证明所示,可以通过简单的学习神经网络来训练变分扩散模型,可以从任意噪声 x t x_t xt以及其时间索引 t t t中预测出原始自然图像 x 0 x_0 x0。然而, x 0 x_0 x0具有其他两种等效参数化,这导致了对VDM的两种进一步的解释。
首先,我们可以使用重参数技巧。在我们推导的形式 q ( x t ∣ x 0 ) q(x_t \mid x_0) q(xt∣x0)中,我们可以重新排列公式69以表明:
x 0 = x t − 1 − α ˉ t ϵ 0 α ˉ t ( 115 ) x_0 = \frac{x_t - \sqrt{1-\bar \alpha_t} \epsilon_0}{\sqrt{\bar \alpha_t}} \qquad (115) x0=αˉtxt−1−αˉtϵ0(115)
将其插入到我们先前推导出的gt去噪转移步骤的均值 μ q ( x t , x 0 ) \mu_q(x_t,x_0) μq(xt,x0)中,我们可以重新推导为:
因此,我们可以设置我们近似去噪步骤的均值 μ θ ( x t , t ) \mu_\theta(x_t,t) μθ(xt,t)为:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QYchqZgk-1669026624888)(img\image-20221115102356396-16684790378243.png)]
于是,相关的优化问题就变成了:
其中, ϵ ^ θ ( x t , t ) \hat \epsilon_\theta(x_t,t) ϵ^θ(xt,t)是一个神经网络,用于学习去预测从 x 0 x_0 x0确定 x t x_t xt的源噪声 ϵ 0 ∼ N ( ϵ ; 0 , I ) \epsilon_0 \sim \mathcal N(\epsilon;0,I) ϵ0∼N(ϵ;0,I)。因此,我们已经表明,通过预测原始图像 x 0 x_0 x0来学习VDM等同于学习预测噪声;然而从经验上看,一些工作发现预测噪声会带来更好的性能。 ϵ 0 \epsilon_0 ϵ0是第一次向原始图像 x 0 x_0 x0添加的噪声。
为了推导变分扩散模型的第三种常见解释,我们求助于Tweedie公式。该公式指出,给定从指数族分布中提取的样本,指数族分布的真实平均值可以通过从样本的最大似然估计(也称为经验平均值)加上涉及估计得分的一些校正项来估计。在只有一个观察样本的情况下,经验平均值只是样本本身,它通常用于减轻样本偏差;如果观察到的样本都位于潜在分布的一端,则负分数变大,并将样本的原始最大似然估计修正为真实平均值。
数学上,对于一个高斯变量 z ∼ N ( z ; μ z , Σ z ) z \sim \mathcal N(z;\mu_z,\Sigma_z) z∼N(z;μz,Σz),Tweedie公式声明:
E [ μ z ∣ z ] = z + Σ z ∇ z l o g p ( z ) \mathbb E[\mu_z \mid z] = z+ \Sigma_z \nabla_zlogp(z) E[μz∣z]=z+Σz∇zlogp(z)
在这种情况下,我们使用该公式去预测给定样本的 x t x_t xt的真实后验均值。对于公式70,我们可以知道:
q ( x t ∣ x 0 ) = N ( x t ; α ˉ t x 0 , ( 1 − α t ) I ) q(x_t \mid x_0) = \mathcal N(x_t;\sqrt{\bar \alpha_t}x_0,(1-\alpha_t)I) q(xt∣x0)=N(xt;αˉtx0,(1−αt)I)
然后,使用Tweedie公式,我们可以得到:
E [ μ x t ∣ x t ] = x t + ( 1 − α t ) ∇ x t l o g p ( x t ) ( 131 ) \mathbb E[\mu_{x_t} \mid x_t] = x_t + (1-\alpha_t) \nabla_{x_t}logp(x_t) \qquad (131) E[μxt∣xt]=xt+(1−αt)∇xtlogp(xt)(131)
为了记号的简便,我们将 ∇ x t l o g p ( x t ) \nabla_{x_t}logp(x_t) ∇xtlogp(xt)重写为 ∇ l o g p ( x t ) \nabla logp(x_t) ∇logp(xt)。根据Tweedie公式,对于真实均值 x t x_t xt的最佳估计是从 μ x t = α ˉ t x 0 \mu_{x_t} = \sqrt{\bar \alpha_t}x_0 μxt=αˉtx0中产生,定义为:
α ˉ t x 0 = x t + ( 1 − α ˉ t ) ∇ l o g p ( x t ) ( 132 ) ∴ x 0 = x t + ( 1 − α ˉ t ) ∇ l o g p ( x t ) α ˉ t ( 133 ) \begin{aligned} \sqrt{\bar \alpha_t}x_0 = x_t + (1 - \bar \alpha_t) \nabla logp(x_t) && (132) \\ ∴ x_0 = \frac{x_t + (1 - \bar \alpha_t) \nabla logp(x_t)}{\sqrt{\bar \alpha_t}} && (133) \end{aligned} αˉtx0=xt+(1−αˉt)∇logp(xt)∴x0=αˉtxt+(1−αˉt)∇logp(xt)(132)(133)
然后,我们将公式133再次插入我们的gt去噪转换均值 μ q ( x t , x 0 ) \mu_q(x_t,x_0) μq(xt,x0),并且推导出新的形式:
因此,我们可以设置我们近似去噪步骤的均值 μ θ ( x t , t ) \mu_\theta(x_t,t) μθ(xt,t)为:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SDzjaMHr-1669026624889)(D:\研究生资料\扩散模型\1.文章笔记\img\image-20221115105645302.png)]
并且整个优化问题变为:
其中, s θ ( x t , t ) s_\theta(x_t,t) sθ(xt,t)是一个神经网络用于学习分数函数 ∇ x t l o g p ( x t ) \nabla_{x_t}logp(x_t) ∇xtlogp(xt),该分数函数是对于任意噪声等级t,数据空间 x t x_t xt的梯度。
我们可以注意到,分数函数 ∇ l o g p ( x t ) \nabla logp(x_t) ∇logp(xt)在形式上同源噪声 x 0 x_0 x0非常相似 ϵ 0 \epsilon_0 ϵ0。这可以通过Tweedie公式(公式133)与重参数化技巧(等式115)相结合推导得到:
事实证明,这两项是由一个随时间变化的常数因子来决定的。分数函数衡量如何在数据空间中移动以最大化log概率;直观地来说,由于源噪声被添加到自然图像中以破坏图像,因此沿着相反方向移动会“去噪”图像,这将是增加后续log概率的最佳更新。我们的数学推导证明了这种直觉;我们已经明确表示,学习对分数函数进行建模等价于对源噪声的负值进行建模(相差一个缩放因子)。
因此我们得到了三个等价的目标来优化VDM:学习一个神经网络去预测原始图像 x 0 x_0 x0,或者预测源噪声 ϵ 0 \epsilon_0 ϵ0或者任意噪声水平下的图像分数 ∇ l o g p ( x t ) \nabla logp(x_t) ∇logp(xt)。VDM可以通过随机采样时间步t和最小化gt的预测范数来可缩放的训练。
我们已经得到了,VDM可以通过优化神经网络 s θ ( x t , t ) s_\theta(x_t,t) sθ(xt,t)去预测分数函数 ∇ l o g p ( x t ) \nabla logp(x_t) ∇logp(xt)来进行训练。然而在我们的推导中,分数项是来自Tweedie公式的结果,这不一定能给我们带来很好的直觉,让我们知道分数函数到底是什么,或者它为什么值得被建模。幸运的是,我们可以寻找另一类生成模型,基于分数的生成模型来获得这种直觉。我们可以证明,我们之前推导出的VDM公式具有等效的基于分数的生成建模公式,允许我们在这两种解释之间随意灵活切换。
图6:使用拉格朗日动力学生成的三个随机采样轨迹的可视化,所有这些轨迹都从相同的初始化点开始,用于高斯混合。左图将这些采样轨迹绘制在三维轮廓上,而右图将采样轨迹绘制为gt分数函数。从相同的初始化点,由于拉格朗日动力学采样过程中的随机噪声项,我们能够从不同的模式中生成样本;如果没有它,从一个固定的点进行采样,每次实验都会以相同的方式来确定分数。
为了开始理解为什么优化分数函数是有意义的,我们先去了解基于能量的模型。任意的概率分布可以写成如下的形式:
p θ ( x ) = 1 Z θ e − f θ ( x ) ( 152 ) p_\theta(x) = \frac{1}{Z_\theta}e^{-f_\theta(x)} \qquad (152) pθ(x)=Zθ1e−fθ(x)(152)
其中 f θ ( x ) f_\theta(x) fθ(x)是任意灵活的,参数化的方程被称为能量函数,通常是由神经网络进行建模的,并且 Z θ Z_\theta Zθ是一个归一化常数用来保证 ∫ p θ ( x ) d x = 1 \int p_\theta(x)dx = 1 ∫pθ(x)dx=1。学习这样一种分布的方法之一是最大化似然函数;然而这需要很容易的计算归一化常数 Z θ = ∫ e − f θ ( x ) d x Z_\theta = \int e^{-f_\theta(x)}dx Zθ=∫e−fθ(x)dx,这对于复杂的 f θ ( x ) f_\theta(x) fθ(x)来说是不可能的。
一种避免计算或者建模归一化常数的方法是使用一个神经网络 s θ ( x ) s_\theta(x) sθ(x)去直接学习关于分布 p ( x ) p(x) p(x)的分数函数 ∇ l o g p ( x ) \nabla logp(x) ∇logp(x)。这是由于观察到,对公式152两侧的对数进行求导有:
上面的形式可以自由地表示为神经网络,而不涉及任何归一化常数。分数模型可以通过使用gt最小化Fisher散度来进行优化:
E p ( x ) [ ∣ ∣ s θ ( x ) − ∇ l o g p ( x ) 2 2 ∣ ∣ ] ( 157 ) \mathbb E_{p(x)} \left[||s_\theta(x) - \nabla logp(x)^2_2||\right] \qquad (157) Ep(x)[∣∣sθ(x)−∇logp(x)22∣∣](157)
那么分数函数代表着什么呢?对于每个 x x x,取其对数似然相对于 x x x的梯度本质上描述了在数据空间中进一步增加其似然性的移动方向。直观的说,分数函数定义了数据 x x x所在的整个空间上的向量场,pointing towards the modes。视觉上来看,如同图6右图所示。然后,通过学习真实数据分布的分数函数,我们可以通过从同一空间中的任意点开始并迭代地跟踪分数直到达到某个模式来生成样本。这个采样过程被称为拉格朗日动力学,在数学上描述为:
x i + 1 ← x i + c ∇ l o g p ( x i ) + 2 c ϵ , i = 0 , 1 , … , K ( 158 ) x_{i+1} \leftarrow x_i + c \nabla logp(x_i) + \sqrt{2c\epsilon},\quad i = 0,1,\dots,K \qquad (158) xi+1←xi+c∇logp(xi)+2cϵ,i=0,1,…,K(158)
其中, x 0 x_0 x0是从先验分布中(如均匀分布)随机采样的, ϵ ∼ N ( ϵ ; 0 , I ) \epsilon \sim \mathcal N(\epsilon;0,I) ϵ∼N(ϵ;0,I)是一个额外的噪声项,以确保生成的样本不总是塌陷到一个模式上,而是在其周围徘徊以实现diversity。此外,由于学习的分数函数是确定性的,因此包含噪声项的采样会给生成过程增加随机性,使得我们能够避免确定性轨迹。当从位于多个模式之间的位置初始化采样时,这尤其有用。拉格朗日动态采样的视觉描述和噪声项的好处如图6所示。
注意公式157中的目标依赖于能够获得的gt分数函数,这对于复杂分布(例如建模自然图像的分布)时是不可用的。幸运的是,我们已经有了被称为分数匹配[14,15,16,17]的替代技术,以在不知道gt的情况下最小化Fisher散度,并且可以使用随机梯度下降来进行优化。
总体来说,学习将分布表示为分数函数,并通过马尔科夫链蒙特卡罗技术(如Langevin dynamics)将其用于生成样本,被称为基于分数的生成模型。[9,10,11]
Song and Ermon[9]介绍了普通分数匹配的三个主要问题。首先,当 x x x位于高维空间中的低维流形上时,分数函数的定义不明确。这可以从数学上看出;所有不在低维流形上的点的概率为0,其对数无定义。当试图学习自然图像上的生成模型时,这尤其不方便,因为已知自然图像位于整个环境空间中的低维流形上。
其次,通过普通分数匹配训练的估计分数函数在低密度区域将不准确。这从我们在方程157中最小化的目标可以明显看出。因为这是对 p ( x ) p(x) p(x)的期望,并且明确地基于来自它的样本进行训练,所以对于很少或者看不到的实例,模型将不会接收到准确的学习信号。这是有问题的,因为我们的采样策略涉及从高维空间中的随机位置开始,这很有可能是随机噪声,并根据学习的分数函数移动。由于我们遵循有噪声或者不准确的分数估计,最终生成的样本也可能是次优的,或者需要更多的迭代才能收敛到准确的输出。
最后,即使使用gt分数进行Langevin dynamics采样,也有可能不混合(不知道是什么意思)。假设真实数据分布是两个不相交分布的混合:
p ( x ) = c 1 p 1 ( x ) + c 2 p 2 ( x ) ( 159 ) p(x) = c_1p_1(x) + c_2p_2(x) \qquad (159) p(x)=c1p1(x)+c2p2(x)(159)
然后,当计算分数时,这些混合系数将会丢失,因为对数运算将系数从分布中分离出来,梯度运算将其归零。为了可视化这一点,请注意,图6所示的gt分数函数不知道三种分布之间的不同权重;尽管图右下角的模型在实际的高斯混合中具有更高的权重,但是从所描绘的初始化的点进行的拉格朗日动力学采样达到每个模式的机会大致相等。
事实证明,这三个缺点可以通过像数据中添加多级高斯噪声来同时解决,首先,由于高斯噪声分布的支持是整个空间,受扰动的数据样本将不再受限于低维流形。其次,添加大的高斯噪声将增加每个模式在数据分布中的覆盖面积,在低密度区域添加更多的训练信号。最后,随着方差的增加,增加多个level的高斯噪声将导致与gt混合系数相关的中间分布。
形式上,我们可以选择噪声level的正序列 { σ t } t = 1 T \{\sigma_t\}_{t=1}^T {σt}t=1T并且定义一系列渐进扰动的数据分布:
p σ t ( x t ) = ∫ p ( x ) N ( x t ; x , σ t 2 I ) d x ( 160 ) p_{\sigma_t}(x_t) = \int p(x) \mathcal N(x_t;x,\sigma_t^2I)dx \qquad (160) pσt(xt)=∫p(x)N(xt;x,σt2I)dx(160)
然后,使用分数匹配来学习神经网络 s θ ( x , t ) s_\theta(x,t) sθ(x,t),以同时学习所有噪声水平上的分数函数:
其中, λ ( t ) \lambda(t) λ(t)是以噪声等级t为条件的正加权函数。注意到,该目标几乎完全匹配公式148中推导出来的训练VDM的目标。此外,作者提出了annealed 拉格朗日动力学采样作为一种生成过程,其中每个样本是通过对每个 t = T , T − 1 , … , 2 , 1 t = T,T-1,\dots,2,1 t=T,T−1,…,2,1运行拉格朗日动力学来得到的。初始化是从一些固定的先验(如均匀分布)中选择的,每个后续采样步骤都从先前模拟的最终采样开始。因为噪声levels在时间步t上稳定降低,并且我们随着时间减小step size,所以最终样本收敛到true mode。这与VDM的MHVAE解释中的采样过程类似,其中随机初始化的数据向量在逐渐降低的噪声level上迭代细化。
因此,我们在VDM和基于分数的生成模型之间建立了明确的联系,无论是在它们的训练目标还是在采样过程中。
一个问题是如何自然地将扩散模型推广到无限数量的时间步上。在马尔科夫HVAE的观点下,这可以解释为层次结构的数量扩展到无穷大 T → ∞ T \rightarrow \infty T→∞。从等效的基于分数的生成模型的角度来表示这一点更清楚;在无限数量的噪声尺度下,图像在连续时间上的扰动可以表示为随机过程,因此可以用随机微分方程来描述(SDE)。然后通过逆转SDE进行采样,这需要估计每个continuous-values noise level的得分函数[10]。SDE的不同参数化本质上描述了随时间变化的不同扰动的方案,从而实现噪声过程的灵活建模[6]。
到目前为之,我们只专注于对数据分布 p ( x ) p(x) p(x)的建模。然而,我们通常也对学习条件分布 p ( x ∣ y ) p(x \mid y) p(x∣y),这将使我们能够通过条件信息y明确地控制我们生成的数据。这构成了Cascaded Diffusion Models等图像超分模型以及DALL-E2等这些最先进的SOTA图像文本模型。
添加条件信息的一种自然方法是在每次迭代时简单地与时间步信息一起添加。回想起等式32中的联合分布:
p ( x 0 : T ) = p ( x T ) ∏ t = 1 T p θ ( x t − 1 ∣ x t ) p(x_{0:T}) = p(x_T) \prod_{t=1}^T p_\theta(x_{t-1} \mid x_t) p(x0:T)=p(xT)t=1∏Tpθ(xt−1∣xt)
然后,为了将其转化为条件概率模型,我们可以在每个转换步骤中简单地添加任意条件信息 y y y:
p ( x 0 : T ∣ y ) = p ( x T ) ∏ t = 1 T p θ ( x t − 1 ∣ x t , y ) ( 162 ) p(x_{0:T} \mid y) = p(x_T) \prod_{t=1}^T p_\theta(x_{t-1} \mid x_t,y) \qquad (162) p(x0:T∣y)=p(xT)t=1∏Tpθ(xt−1∣xt,y)(162)
例如, y y y可以是图像文本生成中的文本编码,也可以是要对其执行超分的低分辨率图像。因此,我们能够像以前一样学习VDM的核心神经网络,通过对每个desired interpretation and implmentation 预测 x ^ θ ( x t , t , y ) ≈ x 0 , ϵ ^ θ ( x t , t , y ) ≈ ϵ 0 \hat x_\theta(x_t,t,y) \approx x_0,\hat \epsilon_\theta(x_t,t,y) \approx \epsilon_0 x^θ(xt,t,y)≈x0,ϵ^θ(xt,t,y)≈ϵ0,或者预测 s θ ( x t , t , y ) ≈ ∇ l o g p ( x t ∣ y ) s_\theta(x_t,t,y) \approx \nabla logp(x_t \mid y) sθ(xt,t,y)≈∇logp(xt∣y)。
这种一般性的公式的一个问题是,以这种方式进行训练的条件扩散模型可能会学会忽略或者淡化任何给定的条件信息。因此,建议将guidence作为一种更明确的控制模型赋予条件信息权重的方法,但是代价是样本多样性。两种最流行的guidence形式分别是Classifer Guidence[10,20] and Classifer-Free Guidence[21].
让我们从扩散模型的基于分数的公式开始,我们的目标是学习 ∇ l o g p ( x t ∣ y ) \nabla logp(x_t \mid y) ∇logp(xt∣y),即条件模型在任意噪声水平下的分数。回想一下,为了简洁起见, ∇ \nabla ∇是 ∇ x t \nabla_{x_t} ∇xt的简写。根据贝叶斯法则,我们可以推导出如下等价形式:
其中,我们利用了 l o g p ( y ) logp(y) logp(y)相对于 x t x_t xt的梯度为0这一事实。
我们最终的推导结果可以解释为一个无条件的得分函数与分类器 p ( y ∣ x t ) p(y \mid x_t) p(y∣xt)的对抗梯度相结合。因此,在Classifier Guidence中,无条件扩散模型的分数如同之前推导的一样被学习,与接受任意噪声 x t x_t xt并尝试预测条件信息 y y y的分类器一起使用。然后,在采样过程中,用于退火拉格朗日动力学采样的全部条件得分函数被计算为无条件得分函数和噪声分类器的对抗梯度之和:
∇ l o g p ( x t ∣ y ) = ∇ l o g p ( x t ) + γ ∇ l o g p ( y ∣ x t ) ( 166 ) \nabla logp(x_t \mid y) = \nabla logp(x_t) + \gamma \nabla logp(y \mid x_t) \qquad (166) ∇logp(xt∣y)=∇logp(xt)+γ∇logp(y∣xt)(166)
直观的,当 γ = 0 \gamma = 0 γ=0时,条件扩散模型学会完全忽略条件信息,当 γ \gamma γ很大时,条件扩散模型学习生成严重依赖条件信息的样本。这将以样本多样性为代价,因为它只会产生易于从中重新生成所提供的调节信息的数据,即使在噪声水平下。
Classifer Guidence的一个明显缺点就是它依赖于单独学习的分类器。因为分类器必须处理任意噪声输入,而大多数现有的预训练分类模型并未针对此进行优化,因此必须与扩散模型一起进行临时学习。
在 Classifier-Free Guidance [21] 中,作者放弃了单独分类器模型的训练,转而采用无条件扩散模型和条件扩散模型。 为了推导 Classifier-Free Guidance 下的得分函数,我们可以先重新整理方程式 165 以说明:
∇ l o g p ( y ∣ x t ) = ∇ l o g p ( x t ∣ y ) − ∇ l o g p ( x t ) ( 167 ) \nabla logp(y \mid x_t) = \nabla logp(x_t \mid y) - \nabla logp(x_t) \qquad (167) ∇logp(y∣xt)=∇logp(xt∣y)−∇logp(xt)(167)
然后,我们将其带入公式166中,得到:
再一次, γ \gamma γ是控制我们学习的条件模型关心条件信息程度的术语。当 γ = 0 \gamma = 0 γ=0时,学习的条件模型完全忽略条件信息并学习无条件扩散模型。当 γ = 1 \gamma = 1 γ=1时,模型在没有guidence的情况下显示学习普通添加分布。当 γ > 1 \gamma > 1 γ>1时,扩散模型不仅优先考虑条件得分函数,而且向远离无条件得分函数的方向移动。 换句话说,它降低了生成不使用条件信息的样本的概率,有利于明确使用条件信息的样本。 这也具有以生成与条件信息准确匹配的样本为代价降低样本多样性的效果。
因为学习两个单独的扩散模型是昂贵的,我们可以将条件和非条件扩散模型一起学习作为一个单一的条件模型; 可以通过用固定常数值(例如零)替换条件信息来查询无条件扩散模型。 这本质上是对条件信息进行随机丢弃。 Classifier-Free Guidance 是优雅的,因为它使我们能够更好地控制我们的条件生成过程,同时只需要训练一个单一的扩散模型。
让我们回顾一下我们在探索过程中的发现。 首先,我们推导出变分扩散模型作为马尔可夫分层变分自动编码器的一个特例,其中三个关键假设支持 ELBO 的易处理计算和可扩展优化。然后,我们证明优化 VDM 归结为学习神经网络以预测三个潜在目标之一:来自任意噪声化的原始源图像,来自任意噪声化图像的原始源噪声,或在任意噪声水平下的图像的得分函数。然后,我们深入探讨学习分数函数的意义,并将其与基于分数的生成模型的观点明确联系起来。最后,我们介绍了如何使用扩散模型学习条件分布。
总之,扩散模型作为生成模型显示出令人难以置信的能力; 事实上,它们为当前最先进的文本条件图像生成模型提供支持,例如 Imagen 和 DALL-E 2。此外,支持这些模型的数学非常优雅。 但是,仍然需要考虑一些缺点:
最后一点,扩散模型的成功凸显了分层 VAE 作为生成模型的力量。 我们已经表明,当我们推广到无限的潜在层次结构时,即使编码器是微不足道的,并且潜在维度是固定的,并且假设了转换过程符合马尔科夫链,我们仍然能够学习强大的数据模型。 这表明在一般的深度 HVAE 的情况下可以实现进一步的性能提升,其中可以潜在地学习复杂的编码器和具有语义意义的潜在空间。
Definition of Expectation
百度百科
设连续性随机变量 X X X的概率密度函数为 f ( x ) f(x) f(x),若积分绝对收敛,则:
E ( X ) = ∫ x f ( x ) d x E(X) = \int xf(x) \; dx E(X)=∫xf(x)dx
关于这里我有个不明白的点就是,从公式(6)到(7)的意思是随机变量 z ∼ q ϕ ( z ∣ x ) z \sim q_\phi(z \mid x) z∼qϕ(z∣x)的概率密度函数为 p ( x , z ) q ϕ ( z ∣ x ) \frac{p(x,z)}{q_\phi(z \mid x)} qϕ(z∣x)p(x,z)?
Jensen`s Inequality
维基百科
如果 X X X是随机变量, f f f是凸函数,则有:
f ( E [ X ] ) ≤ E [ f ( X ) ] f(\mathbf E[X]) \le \mathbf E[f(X)] f(E[X])≤E[f(X)]
对于公式(8),由于log函数是凹函数,所以Jensen不等式的 ≤ \le ≤变成了 ≥ \ge ≥
KL divergence
维基百科
对于连续型随机变量 P , Q P,Q P,Q,其KL散度的定义如下:
D K L ( P ∣ ∣ Q ) = ∫ p ( x ) l o g ( p ( x ) q ( x ) ) d x = E x ∼ p ( x ) [ l o g p ( x ) q ( x ) ] \begin{aligned} D_{KL}(P \; || \; Q) &= \int p(x) \; log \left(\frac{p(x)}{q(x)}\right) dx \\ &= \mathbf E_{x \sim p(x)} \left[ log \; \frac{p(x)}{q(x)}\right] \end{aligned} DKL(P∣∣Q)=∫p(x)log(q(x)p(x))dx=Ex∼p(x)[logq(x)p(x)]
公式(23)推导
p ( x , z 1 : T ) = p ( x , z 1 : T − 1 ∣ z T ) p ( z T ) = p ( x , z 1 : T − 2 ∣ z T − 1 , z T ) p ( z T − 1 ∣ z T ) p ( z T ) = p ( x , z 1 : T − 2 ∣ z T − 1 ) p ( z T − 1 ∣ z T ) p ( z T ) 由马尔科夫链,当前状态仅由上一时刻决定 = … = p ( z T ) p θ ( x ∣ z 1 ) ∏ t = 2 T p θ ( z t − 1 ∣ z t ) ( 23 ) \begin{aligned} p(x,z_{1:T}) &= p(x,z_{1:T-1} \mid z_T) \; p(z_T) \\ &= p(x,z_{1:T-2} \mid z_{T-1},z_T) \; p(z_{T-1}\mid z_T) \; p(z_T) \\ &= p(x,z_{1:T-2} \mid z_{T-1}) \; p(z_{T-1}\mid z_T) \; p(z_T) && \text{由马尔科夫链,当前状态仅由上一时刻决定} \\ &= \dots \\ &= p(z_T)p_\theta(x \mid z_1) \prod_{t=2}^T p_\theta(z_{t-1} \mid z_t) && (23) \end{aligned} p(x,z1:T)=p(x,z1:T−1∣zT)p(zT)=p(x,z1:T−2∣zT−1,zT)p(zT−1∣zT)p(zT)=p(x,z1:T−2∣zT−1)p(zT−1∣zT)p(zT)=…=p(zT)pθ(x∣z1)t=2∏Tpθ(zt−1∣zt)由马尔科夫链,当前状态仅由上一时刻决定(23)
公式(24)同理可得,就不做推导了
Monte Carlo estimate
百度百科
蒙特卡罗法 [4] 的基本思想是:为了求解问题,首先建立一个概率模型或随机过程,使它的参数或数字特征等于问题的解:然后通过对模型或过程的观察或抽样试验来计算这些参数或数字特征,最后给出所求解的近似值。解的精确度用估计值的标准误差来表示。
[1] Diederik P Kingma and Max Welling. Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114, 2013.
[2] Durk P Kingma, Tim Salimans, Rafal Jozefowicz, Xi Chen, Ilya Sutskever, and Max Welling. Improved variational inference with inverse autoregressive flow. Advances in neural information processing systems, 29, 2016.
[3] Casper Kaae Sønderby, Tapani Raiko, Lars Maaløe, Søren Kaae Sønderby, and Ole Winther. Ladder variational autoencoders. Advances in neural information processing systems, 29, 2016.
[4] Jascha Sohl-Dickstein, Eric Weiss, Niru Maheswaranathan, and Surya Ganguli. Deep unsupervised learning using nonequilibrium thermodynamics. In International Conference on Machine Learning, pages 2256–2265.PMLR, 2015.
[5] Jonathan Ho, Ajay Jain, and Pieter Abbeel. Denoising diffusion probabilistic models. Advances in Neural
Information Processing Systems, 33:6840–6851, 2020.
[6] Diederik Kingma, Tim Salimans, Ben Poole, and Jonathan Ho. Variational diffusion models. Advances in neural information processing systems, 34:21696–21707, 2021.
[7] Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily Denton, Seyed Kamyar Seyed
Ghasemipour, Burcu Karagol Ayan, S Sara Mahdavi, Rapha Gontijo Lopes, et al. Photorealistic text-to-image
diffusion models with deep language understanding. arXiv preprint arXiv:2205.11487, 2022.
[8] Bradley Efron. Tweedie’s formula and selection bias. Journal of the American Statistical Association, 106(496):1602–1614, 2011.
[9] Yang Song and Stefano Ermon. Generative modeling by estimating gradients of the data distribution. Advances in Neural Information Processing Systems, 32, 2019.
[10] Yang Song, Jascha Sohl-Dickstein, Diederik P Kingma, Abhishek Kumar, Stefano Ermon, and Ben Poole. Scorebased generative modeling through stochastic differential equations. arXiv preprint arXiv:2011.13456, 2020.
[11] Yang Song and Stefano Ermon. Improved techniques for training score-based generative models. Advances in neural information processing systems, 33:12438–12448, 2020.
[12] Yann LeCun, Sumit Chopra, Raia Hadsell, M Ranzato, and F Huang. A tutorial on energy-based learning.
Predicting structured data, 1(0), 2006.
[13] Yang Song and Diederik P Kingma. How to train your energy-based models. arXiv preprint arXiv:2101.03288,2021.[14] Aapo Hyvärinen and Peter Dayan. Estimation of non-normalized statistical models by score matching. Journal of Machine Learning Research, 6(4), 2005.
[15] Saeed Saremi, Arash Mehrjou, Bernhard Schölkopf, and Aapo Hyvärinen. Deep energy estimator networks.arXiv preprint arXiv:1805.08306, 2018.
[16] Yang Song, Sahaj Garg, Jiaxin Shi, and Stefano Ermon. Sliced score matching: A scalable approach to density and score estimation. In Uncertainty in Artificial Intelligence, pages 574–584. PMLR, 2020.
[17] Pascal Vincent. A connection between score matching and denoising autoencoders. Neural computation, 23(7):1661–1674, 2011.
[18] Jonathan Ho, Chitwan Saharia, William Chan, David J Fleet, Mohammad Norouzi, and Tim Salimans. Cascaded diffusion models for high fidelity image generation. J. Mach. Learn. Res., 23:47–1, 2022.
[19] Aditya Ramesh, Prafulla Dhariwal, Alex Nichol, Casey Chu, and Mark Chen. Hierarchical text-conditional
image generation with clip latents. arXiv preprint arXiv:2204.06125, 2022.
[20] Prafulla Dhariwal and Alexander Nichol. Diffusion models beat gans on image synthesis. Advances in Neural Information Processing Systems, 34:8780–8794, 2021.
[21] Jonathan Ho and Tim Salimans. Classifier-free diffusion guidance. In NeurIPS 2021 Workshop on Deep
Generative Models and Downstream Applications, 2021.
Pascal Vincent. A connection between score matching and denoising autoencoders. Neural computation, 23(7):1661–1674, 2011.
[18] Jonathan Ho, Chitwan Saharia, William Chan, David J Fleet, Mohammad Norouzi, and Tim Salimans. Cascaded diffusion models for high fidelity image generation. J. Mach. Learn. Res., 23:47–1, 2022.
[19] Aditya Ramesh, Prafulla Dhariwal, Alex Nichol, Casey Chu, and Mark Chen. Hierarchical text-conditional
image generation with clip latents. arXiv preprint arXiv:2204.06125, 2022.
[20] Prafulla Dhariwal and Alexander Nichol. Diffusion models beat gans on image synthesis. Advances in Neural Information Processing Systems, 34:8780–8794, 2021.
[21] Jonathan Ho and Tim Salimans. Classifier-free diffusion guidance. In NeurIPS 2021 Workshop on Deep
Generative Models and Downstream Applications, 2021.