论文阅读“Advances in Variational Inference”(3)-Amortized Variational inference & Deep learning

Zhang C, Bütepage J, Kjellström H, et al. Advances in variational inference[J]. IEEE transactions on pattern analysis and machine intelligence, 2018, 41(8): 2008-2026.
--
该论文为综述性论文,所以笔者打算分几部分来完成论文的阅读。(都是因为太菜了
本部分为Amortized Variational inference & Deep learning

本部分旨在介绍Amortized Variational inference & Deep learning。首先设定每个数据点由其对应的隐变量和变分参数,传统的VI需要对每个样本点的都进行优化,这在计算上是昂贵的,特别是当这种优化嵌入全局参数更新循环时。Amortized Inference背后的基本思想是,根据的特征,使用一个强大的预测函数来预测的后验信息,即,其中是一个随机函数。通过这种方式,局部变分参数被数据的一个函数所取代,该函数的参数在所有数据点之间共享,即,推理是Amortized。

Amortized Variational Inference理论

Amortized Inference是指利用过去计算的Inference来支持未来的计算。对于 VI,Amortized Inference通常是指对局部变量的推断。

如上图所示,Amortized VI不是为每个数据点近似独立的变量,而是假设局部变分参数可以通过数据的参数化函数来预测。因此,一旦估计了这个函数,就可以通过函数作用新的数据点来获得潜在变量表示,如VAE所显示的一样。在此背景下使用的深度神经网络也称为推断网络。换句话说,融合推断网络的Amortized Inference将概率建模与深度学习的表征能力进行了结合。
Amortized Inference已经应用在Deep Gaussian Processes(DGPs)【Deep Gaussian processes】。该模型的推断是非常棘手的,因此有学者在引入诱导点的前提下使用MFVI。然而,有学者提议将这些潜在变量作为推理网络的函数来估计【Variational auto-encoded deep Gaussian processes】,从而代替单独估计这些潜在变量,使得DGPs可以扩展到更大的数据集,并加快收敛速度。通过将Amortized Inference误差反馈到推理模型中,Amortization也可以进行迭代。

Variational Autoencoders
VAE

Amortized VI在深层潜在高斯模型(deep latent Gaussian models)领域已经成为了常用的工具。这就引出了变分自编码器(VAEs)的概念,该概念由两个小组独立提出【Auto-encoding variational Bayes】【Stochastic backpropagation and approximate inference in deep generative models】。与DLGM相比, VAEs的应用更为普遍,但为了简单起见,我们将把讨论限制在这个模型上。

  • The Generative Model
    这部分生成模型对应的是VAE的概率图模型。该模型采用多元正态先验,从中我们可以得出一个潜变量:
    更加一般的,该先验可以是任何依赖于额外参数的先验分布。模型的似然表示为:
    最重要的是,似然通过两个非线性函数和依赖于,这是典型的神经网络,将潜在变量作为输入,并以非线性的方式进行转换。最终,数据由一个标准正态分布生成,并且该分布的中心是在转化后的附近。参数包含了网络参数和。DLGM是高度灵活的密度估计方法。存在许多针对其他类型数据的改进版本。例如,对于二进制数据,高斯似然可以用伯努利似然代替。接下来,将给出如何将Amortized VI应用于该模型类。
  • Variational Autoencoders
    VAE指的是使用推断网络训练的DLGM(深层潜在高斯模型)。
    VAE采用了两种深层的神经网络:一种是自顶向下的生成模型,从潜在变量映射到数据,另一种是自底向上的推断模型,用于近似后验。分别将其称为generative network(decoder)和recognition network(encoder)。为了近似后验,VAE采用均摊平均场变分分布:
    对的条件作用表明,与每个数据点相关的局部变分参数被当前数据的一个函数所代替。这种Amortized变分分布通常被选择为:
    与生成模型类似,变分分布采用数据的非线性映射和来预测的近似后验分布。参数代表了相应的神经网络参数。该模型的主要贡献是为深层潜在高斯模型推导出一个可扩展和有效的训练方案。在优化过程中,将推理网络和生成网络联合训练,对ELBO进行优化。
    训练这些模型的关键是重参数化技巧。我们关注单个数据点对的ELBO贡献。首先,我们从噪声分布中抽取个样本
    并使用重参数函数使得实现来自近似后验的样本。对于式(23),常用的重采样函数为
    其中,和由进行参数化。由此可以得到VAE关于ELBO的无偏Monte Carlo估计
    ELBO的这一随机估计可以随后对和进行微分,以获得梯度。
    重参数化技巧也暗示了梯度方差以一个常数为界。然而,这种方法的缺点是我们要求近似后验是可重参数的。
  • A Probabilistic Encoder-Decoder Perspective
    变分自动编码器(VAE)一词源于生成和识别网络的联合训练类似于自动编码器(AE)的结构,这是一类无监督的确定性模型。自编码器是经过训练的深度神经网络,可以尽可能接近地重建其输入。重要的是,自动编码器中涉及的神经网络具有沙漏结构,这意味着在内层有少量的单元,这些单元阻止神经网络学习琐碎的标识映射。这个“瓶颈”迫使网络学习有用的、紧凑的数据表示。
    相比之下,VAE是概率模型,但它们与经典的自动编码器非常接近。结果表明,VAE的隐藏变量可以被认为是自动编码器瓶颈中数据的中间表示。在VAE训练时,向这个中间层注入噪声,具有正则化效果。此外,先验和近似后验之间的KL散度项使得VAE的潜在表征与先验接近,从而使其在潜在空间中分布更加均匀,对未见数据的总体效果更好。当引入的噪音的方差减少到0,先验信息消失,此时VAE退化为AE模型。
Advancements in VAEs

自VAE提出以来,随之产生了很多扩展。笔者这里重点关注了关于变分近似和模型的选择。

  • Flexible Variational Distributions
    包括 VAE 训练在内的传统 VI 依赖于参数推断模型。近似后验可以是显式参数分布,例如高斯或离散分布。我们可以使用更灵活的分布,例如对简单的参数分布进行转换,如implicit distributions,normalizing flow,importance weighted VAE。使用更灵活的变分分布不仅可以减少approximation误差,还可以减少amortization误差,即通过用参数函数替换局部变分参数引入的误差。
    (1)隐式分布(implicit distributions)可以在 VI 中使用,因为封闭形式的密度函数不是推理模型的严格要求;我们所需要的只是能够从中取样。
    在VI中,需要计算对数密度比。当 是隐式时,标准训练过程面临的问题是对数密度比难以处理。在这种情况下,可以使用生成对抗网络 (GAN) 【Generative adversarial nets】 风格的鉴别器 来区分先验和变分分布:
    并且该想法是通用的,可以与其他想法进行结合。
    (2)标准化流(normalizing flow)提供了另一种利用灵活变分分布的方法。其背后的主要思想是通过一系列连续的可逆变换将一个简单的(例如,平均场)近似后验 转换为更具表现力的分布。
    主要的步骤如下:首先抽取随机变量;然后使用一个可逆平滑的映射对进行变换,;新分布表示为:
    上式中有必要计算行列式,因为变分方法也要求估计变换后的分布的熵。选择如
    的转换函数是便于计算的,这种标准化流是一种从简单分布生成多模态分布的有效方法。因此,衍生出很多变种方法:linear time-transformations, Langevin and Hamiltonian flow , inverse autoregressive flowand autoregressive flow等。
    规范化流和隐式分布具有共同的思想,即使用转换将简单的分布转换为更复杂的分布。其关键区别是,对于标准化流,的密度可以通过一个可逆的变换函数来估计。
    (3)重要性加权变分自动编码器(IWAE)也是灵活变分分布的一种应用,它最初是为了收紧变分界限而提出的,也可以重新解释为从更灵活的分布中采样。IWAEs要求从近似后验中采样时使用权重比例的方式,即:
    作者表明,评估的样本 越多,变分界限变得越紧,这意味着真正的对数似然接近极限 。换句话说,IWAE和VAE其实是相同的,但是样本来自一个更有表现力的分布,并且当样本数时,基本可以接近真实后验。
  • Modeling Choices
    模型的选择影响着深度潜在高斯模型的性能。特别是对先验模型进行改进,可以获得更好的解释拟合和更好的模型性能。【Structured VAEs: Composing probabilistic graphical models and variational autoencoders】结合传统图模型和推断网络的优点,提出了一种利用结构化先验的VAE模型。这些混合模型通过识别模型学习共轭分布的变分参数,克服了非共轭先验和概率的复杂性。这使得模型可以在保持共轭性的同时,根据观测结果来近似后验条件。当编码器输出自然参数的估计值时,使用依赖共轭的消息传递被用于执行剩余的推断。
    其他方法提出了似然在维度上分解的假设。PixelVAE通过使用条件模型对图像中像素之间的依赖关系进行建模来解决这个问题,即在识别网络中将,其中表示观察样本的第个维度。维度以顺序方式生成,这说明了图像内像素的局部依赖性。而在现实中,选择表现力较强的模型一般是有代价的。如果解码器的能力较强,编码器所对应的推断过程可能无法学习到信息丰富的后验。该问题被称为dying units problem。
  • dying units problem
    某些建模选择和参数配置会给 VAE 的训练带来问题,从而无法学习较好的低维数据表示。在这类问题中较为突出的是dying units problem。造成这种现象的主要因素有两个:强大的解码器和 KL 散度项。
    在某些情况下,解码器的表达能力非常强,以至于 变量的某些维度被忽略,即模型可能独立于 对 进行建模。在这种情况下,真正的后验是先验,因此变分后验试图匹配先验以满足式(24)中的 KL 散度。Lossy variational autoencoders【Variational lossy autoencoder】通过在部分输入信息上调节每个输出维度的解码分布来规避这个问题。例如,对于图像而言,给定像素的似然仅取决于周围像素的值和全局潜在状态。这迫使分布在潜在变量中编码全局信息。
    需要注意的是,KL 散度对 VAE 损失的贡献可能会加剧这个问题。将ELBO重新写为两个KL散度的和,
    如果模型的学习能力足够强,那么上式中的第二项很容易达到0,也就是说这种学习仅依赖于模型,而独立于隐变量。在这种情况下,模型主要致力于对先验的匹配,因此很难学习到有用的数据表示。即使解码器不强大,在优化的早期阶段也可能会出现dying units problem,此时近似后验还没有学习到有关数据的信息。并且当 的维度很高时,这个问题会更加严重,因为神经元会向先验标准化,并且可能不会在优化的后期重新激活。为了抵消 KL 约束的早期影响,可以在训练期间对 KL 散度项应用退火方等【How to train deep variational autoencoders and probabilistic ladder networks】(菜狗验证门)。

原来我平时理解的VAE仅仅是最初级的状态。再次发出长叹。。。
菜到不想说话

你可能感兴趣的:(论文阅读“Advances in Variational Inference”(3)-Amortized Variational inference & Deep learning)