ModelCube阅读列表 | 变分自编码器

文摘   科学   2024-07-22 07:20   浙江  

ModelCube(modelcube.cn)是博雅数智自主研发的一站式人工智能科研平台。为全国高校和科研机构的大数据和人工智能科研团队提供一站式科研服务。基于MLOps的实践和企业核心技术,实现了科研场景中全类型数据管理与标注,实验环境快速获取与灵活定制,模型的全生命周期管理,科研成果的管理与发布,以及 AI驱动的论文检索和学习等功能。

1 变分自编码器介绍

变分自编码器(Variational Autoencoder,VAE)是一种生成模型,结合了自编码器和变分推断的思想。它可以学习数据的潜在表示,并且能够生成具有相似分布的新样本。

在传统的自编码器中,编码器将输入数据映射到潜在空间的低维表示,解码器则将潜在表示重构为输入数据。而变分自编码器引入了概率推断的概念,将潜在表示视为潜在变量,并且通过对潜在变量的编码引入了随机性。

变分自编码器由两个主要部分组成:编码器(Encoder)和解码器(Decoder)。

1. 编码器(Encoder):编码器的任务是将输入数据映射到潜在空间中的潜在变量。这些潜在变量可以看作是数据的低维表示,捕捉了数据的重要特征。编码器通常由多个神经网络层组成,可以是全连接层或卷积层。编码器的输出是潜在变量的均值和方差,表示了潜在变量的分布情况。

2. 解码器(Decoder):解码器的任务是从潜在变量中采样,并将其解码为重构的数据。解码器也由多个神经网络层组成,其结构与编码器相似,但是输出层的节点数与输入数据的维度相匹配。解码器通过学习到的潜在变量来生成重构数据,使其尽可能接近原始输入数据。

3. 潜在变量采样(Latent Variable Sampling):在变分自编码器中,为了引入随机性和多样性,潜在变量需要从其概率分布中进行采样。由于编码器输出的是潜在变量的均值和方差,我们可以使用重参数化技巧(reparameterization trick)来进行采样。这可以通过从一个已知分布(例如,标准正态分布)中采样一个噪声向量,然后通过均值和方差进行线性变换和平移,以得到最终的潜在变量采样。

4. 损失函数(Loss Function):在训练过程中,变分自编码器的目标是最大化重构数据的概率,并且最小化潜在变量与先验分布之间的差异。为了实现这一目标,通常使用变分下界(Variational Lower Bound)作为损失函数。该下界由两部分组成:重构误差项和潜在变量的差异项。重构误差项衡量解码器生成数据与原始输入数据的差异,而潜在变量的差异项通过计算编码器输出的潜在变量与先验分布之间的KL散度来度量。

通过最小化损失函数,变分自编码器可以学习到数据的潜在结构,并且可以用于生成新的样本。一旦训练完成,我们可以从潜在空间中采样潜在变量,并通过解码器生成与训练数据相似的新样本。

变分自编码器在生成模型、数据降维和特征学习等领域都有广泛的应用。它能够学习到数据的分布,并且可以生成具有多样性的样本,因此在生成图像、语音合成和自然语言处理等任务中具有很高的灵活性和表现力。

2 常见名词解释

2.1 潜在空间(Latent Space)

潜在空间是指在自编码器(Autoencoder)或其他生成模型中,用于表示输入数据的低维空间。它是通过编码器将原始数据映射到的一个潜在表示空间,包括以下特点:

1. 维度降低: 潜在空间通常具有比输入数据维度更低的维度。编码器将高维输入数据压缩成低维潜在表示,从而实现数据的维度降低。这可以帮助减少数据中的噪声、冗余和不相关特征,提取出数据的关键特征。

2. 特征学习: 潜在空间的维度通常被设计为能够捕捉输入数据的重要特征。编码器的训练过程迫使它学习到能够最好地重构输入数据的潜在表示。这意味着潜在空间中的相邻点应该对应于输入数据中相似的样本,从而使得潜在空间中的距离可以表示样本之间的相似度。

3. 连续性和插值: 潜在空间通常被设计为具有连续性,即在潜在空间中相邻的点对应于输入数据中相似的样本。这使得在潜在空间中进行插值操作成为可能。通过在潜在空间中插入两个不同的潜在表示,并沿着连续的路径进行解码,可以生成介于两个输入数据之间的新样本。

4. 数据生成: 潜在空间还可以用作生成模型中的采样空间。在训练期间,编码器将输入数据映射到潜在空间,并通过解码器生成与原始输入数据尽可能相似的重构数据。一旦训练完成,可以在潜在空间中进行采样,并通过解码器生成新的、与训练数据类似的数据样本。

潜在空间是一个低维度的表示空间,能够捕捉输入数据的关键特征。它可以用于数据的降维、特征学习、样本生成等任务,并具有连续性和插值特性,使得在潜在空间中进行操作更加灵活和有意义。

2.2 潜在变量(Latent Variable)

潜在变量指在概率模型中隐含的、未观测到的变量。它们用于描述观测数据之间的潜在结构和关系,而不是直接观测到的数据本身。潜在变量在统计建模和机器学习中具有广泛的应用,包括生成模型、聚类、降维等领域。潜在变量包括以下特点:

1. 隐含结构: 潜在变量用于表示观测数据之间的隐含结构或概念。在许多现实世界的问题中,观测数据往往受到多个潜在因素的共同影响,这些因素无法直接观测到。潜在变量的引入可以帮助揭示这些潜在因素之间的关系,从而更好地理解数据背后的生成过程。

2. 统计建模: 潜在变量在概率图模型和贝叶斯统计中起着重要的作用。通过在模型中引入潜在变量,可以建立更复杂的概率模型来描述数据的生成过程。这些模型可以更好地捕捉观测数据的分布和潜在结构,并用于推断、预测和生成新的样本。

3. 生成模型: 潜在变量在生成模型中起着关键的作用。生成模型是一类能够以概率方式生成新的数据样本的模型。潜在变量在生成模型中扮演着生成数据的关键因素的角色。通过对潜在变量进行采样,并结合模型的参数,可以生成与训练数据类似的新样本。

4. 数据降维: 潜在变量可以用于数据降维和特征学习。通过将高维观测数据映射到低维潜在空间,可以提取出数据的关键特征,并减少数据的维度。这可以帮助减少噪声和冗余,并提高后续任务的效果,如分类、聚类等。

5. 观测数据与潜在变量之间的关系: 观测数据通常是由潜在变量和其他噪声因素共同作用生成的。潜在变量可以帮助揭示数据中的关键因素,并通过对潜在变量的建模来理解和预测观测数据。

潜在变量是在概率模型中描述观测数据之间潜在结构和关系的未观测变量。它们在统计建模、生成模型、数据降维等任务中发挥着重要的作用,帮助理解数据生成过程并提取关键特征。

2.3 重参数化(Reparameterization)

重参数化是一种在概率模型中处理潜在变量(Latent Variable)的技术。重新参数化概率模型,将潜在变量的采样过程与模型参数分离的技术。它使得在概率模型中处理潜在变量时可以使用梯度下降等优化方法进行参数估计,从而有效地进行训练和推断。重参数化对于变分自编码器(Variational Autoencoder)等模型中的潜在变量的建模具有重要意义。

重参数化通过重新表达潜在变量的采样过程,将采样操作与模型参数分离。具体而言,可以将潜在变量表示为一个确定性的函数,该函数依赖于另一个可微分的参数化随机变量(通常是标准正态分布)。通过对这个参数化随机变量的采样,可以从先验分布中采样得到潜在变量。

2.4 KL散度(Kullback-Leibler Divergence)

KL散度,也称为相对熵(Relative Entropy),是一种用于衡量两个概率分布之间差异的指标。它由 Solomon Kullback 和 Richard Leibler 在信息论中引入,并被广泛应用于概率论、统计学和机器学习中。

  1. 定义:假设有两个概率分布 ,KL散度用  表示,表示从分布 到分布 的信息损失或差异程度。KL散度的定义如下:

    其中 表示对所有可能的事件 进行求和, 分别表示事件 在分布 中的概率。

  1. 性质:

  • KL散度是非负的,即 ,当且仅当 是完全相同的分布时,KL散度为零。
  • KL散度不具备对称性,即 。这意味着将 视为“真实分布”, 视为“近似分布”所得到的KL散度结果与将 交换位置所得到的结果是不同的。
  • KL散度不满足三角不等式,即
  • 应用:

    • KL散度在信息论中被用于衡量两个概率分布之间的相似性或差异性。
    • 在机器学习中,KL散度常用于衡量生成模型(如变分自编码器)中生成数据分布与真实数据分布之间的差异。
    • KL散度还可以用于最大似然估计、贝叶斯推断和模型选择等任务中,作为衡量模型拟合程度或优化目标的一部分。

    KL散度在信息论、统计学和机器学习中被广泛应用,用于衡量分布之间的相似性、生成模型中的拟合程度以及优化目标的定义。

    2.5 变分下界(Variational Lower Bound)

    变分下界,也称为变分下限或ELBO(Evidence Lower BOund),是在变分推断中使用的一种重要概念。它是用来近似计算概率模型中的后验分布的一种方法。

    1. 变分推断:变分推断是一种用于近似计算复杂概率模型中的后验分布的方法。在变分推断中,假设一个简化的概率分布(称为变分分布)来近似真实的后验分布。变分推断的目标是找到一个最优的变分分布,使其与真实的后验分布尽可能接近。

    2. 变分下界的引入:为了优化变分推断过程,需要引入一个优化目标。这个目标函数通常是变分下界,用于近似模型的期望对数似然和真实后验分布的KL散度。变分下界提供了一个可优化的目标,使得可以使用梯度下降等优化方法来估计变分分布的参数。

    3. 变分下界的计算:变分下界通常通过 Jensen 不等式来推导。对于一个概率模型,其联合概率分布为 ,其中 是观测变量, 是未观测的潜在变量。假设我们引入一个变分分布 来近似后验分布 ,则变分下界定义如下:

        其中 表示期望, 是观测数据的对数似然, 是变分分布 和真实后验分布 的KL散度。

    1. 变分下界的性质:变分下界是一个关于变分分布的期望,因此可以通过取样和蒙特卡洛估计等方法进行近似计算。优化变分下界等价于最大化ELBO,使得变分分布更好地逼近真实的后验分布。

    2. 应用:变分下界在变分自编码器等生成模型中被广泛使用。通过最大化变分下界,可以训练模型的参数来生成与训练数据相似的样本。此外,变分下界还可用于模型选择、特征学习和降维等任务中。

    变分下界是在变分推断中使用的一种优化目标,用于近似计算概率模型中的后验分布。它通过最大化变分下界来优化变分分布的参数,使其更好地逼近真实的后验分布。

    3 变分自编码器方法总结

    3.1 VI-Flows

    VI-Flows提出了使用标准化流(Normalizing Flows)进行变分推断(Variational Inference)的方法。在变分推断中,目标是近似计算复杂概率模型的后验分布。传统的变分推断方法使用参数化的变分分布来逼近真实的后验分布。而标准化流是一种将简单的先验分布通过一系列可逆的变换映射到复杂的后验分布的方法。这篇论文中,作者将标准化流引入到变分推断中,提出了一种新的变分推断算法。他们使用了具有多层变换的可逆模型,通过逐步变换随机变量,将简单的先验分布逐渐映射到复杂的后验分布。这样可以通过计算变换的雅可比矩阵来更新模型参数,并最大化变分下界(ELBO)来优化变分分布的逼近能力。这种使用标准化流的变分推断方法具有几个优点。首先,标准化流是可逆的,可以在变量空间中进行前向和反向计算。其次,这种方法可以灵活地建模复杂的后验分布,使得变分推断更加准确。此外,标准化流还可以通过生成样本进行模型评估和生成。

    Variational Inference with Normalizing Flows[1]. Danilo Rezende, hakir Mohamed. ICML 2015.

    3.2 VAE Tutorial

    该论文首先介绍了自编码器的基本概念和结构,包括编码器和解码器。然后,它引入了变分自编码器作为自编码器的一个扩展,用于学习复杂分布的生成模型。论文详细解释了变分自编码器的数学原理和推导过程,介绍了如何使用变分推断和随机梯度下降来训练VAEs,讨论了VAEs的目标函数,即变分下界,以及如何通过重参数化技巧来进行梯度计算。在介绍了VAEs的基本原理之后,论文探讨了如何在实践中构建和训练VAEs。它详细介绍了选择潜在空间的维度、编码器和解码器的网络架构、激活函数、损失函数等方面的考虑。论文还提供了一些用于处理不同类型数据的实际示例,包括图像数据、文本数据和音频数据。此外,还讨论了一些VAEs的扩展和改进方法,如条件变分自编码器(Conditional Variational Autoencoders)和生成对抗网络(Generative Adversarial Networks)与VAEs的结合。

    Tutorial on Variational Autoencoders[2]. Carl Doersch. arXiv 2016.

    3.3 IAF

    IAF是一种用于改进变分推断的方法。在传统的变分自编码器中,使用一个固定的先验分布(通常为高斯分布)来逼近后验分布。然而,这种方法可能限制了模型的灵活性和能力。IAF通过引入自回归结构,允许后验分布具有更高的灵活性。IAF的核心思想是通过递归地应用可逆的自回归变换,将一个简单的先验分布(例如标准高斯分布)映射到复杂的后验分布。具体而言,IAF使用自回归模型(如自回归流)来建模变换的逆过程,从而使得可以从复杂的分布中高效地采样。通过这种逆变换,可以在潜在空间中生成更准确和灵活的样本。IAF是一种通过引入逆自回归流来改进变分推断的方法。它提供了一种更灵活的建模方式,可以提高模型的表达能力和采样效率。

    IAF[3]. Durk P. Kingma, Tim Salimans, Rafal Jozefowicz, Xi Chen, Ilya Sutskever, Max Welling. NIPS 2016.

    3.4 beta-VAE

    beta-VAE是一种通过引入额外的约束来改进变分自编码器的方法。传统的VAE在学习表示时可能会产生模糊的、不可解释的潜在空间,而beta-VAE旨在通过对潜在表示进行约束来学习更具有可解释性的表示。beta-VAE的核心思想是在VAE的损失函数中引入一个额外的参数beta,用于权衡重构损失和潜在表示的复杂度。通过增加beta的值,可以强制VAE学习更稀疏和可解释的潜在表示。这种约束可以帮助VAE学习到数据中的基本视觉概念,例如形状、颜色等。beta-VAE是一种通过引入约束来改进VAE的方法,以学习更具有可解释性和可控性的潜在表示,提供了一种在变分自编码器中平衡重构损失和表示复杂度的方法,有助于学习基本的视觉概念。

    beta-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework[4]. Irina Higgins, Loic Matthey, Arka Pal, Christopher Burgess, Xavier Glorot, Matthew Botvinick, Shakir Mohamed, Alexander Lerchner. NIPS 2016.

    3.5 VQ-VAE

    VQ-VAE(Vector Quantized Variational Autoencoder)是一种用于学习离散表示的变分自编码器变体。传统的VAE使用连续的潜在变量表示数据,而VQ-VAE引入了一个离散的潜在变量,以更有效地表示数据的结构和特征。VQ-VAE的核心是引入了一个称为向量量化(Vector Quantization)的过程,将连续的潜在变量映射到离散的代码簇。具体而言,它使用一个编码器将输入数据映射到最近的一组离散代码向量,然后使用解码器将这些离散代码向量映射回重构数据。这样,VQ-VAE可以学习到更具有结构化的表示,并且能够在生成样本时产生更清晰和准确的输出。总之,VQ-VAE是一种利用向量量化技术来学习离散表示的变分自编码器。它通过引入离散的潜在变量,可以更有效地表示数据的结构和特征,并且在生成样本时能够产生更清晰和准确的输出。

    Neural Discrete Representation Learning[5]. Aaron van den Oord, Oriol Vinyals, koray kavukcuoglu. NIPS 2017.

    3.6 VLAE

    Variational Lossy Autoencoder(VLAE) 将变分自编码器与神经自回归模型(如RNN、MADE和PixelRNN/CNN)相结合,以学习适用于下游任务(如分类)的全局表示,并能够控制全局潜在编码的学习内容。该方法旨在设计一个能够丢弃与数据中不相关的详细纹理等信息的全局潜在编码,从而使得VAE以有损的方式对数据进行自编码。为了实现这一目标,采用了自回归模型作为先验分布 和解码分布 ,并结合VAE的架构。这种方法不仅能够提高VAE的生成建模性能,还能够控制全局潜在编码的学习内容,使其丢弃与纹理等无关的信息。同时在多个数据集上进行了实验,包括MNIST、OMNIGLOT和Caltech-101 Silhouettes,并取得了在密度估计任务上的最新最佳结果,在CIFAR10上也获得了具有竞争力的结果。论文还分析了在何种条件下应该使用VAE中的潜在编码,即什么时候VAE会自编码,并根据这一观察结果设计了一种对观察数据进行有损压缩的VAE模型。在建模层面上,论文提出了两种互补的改进方法,并在实证性能上展现了良好的表现。VLAE具有可控的表示学习和改进的密度估计性能等优点,但与具有简单先验和解码器的VAE模型相比,它在生成方面的速度较慢,这是由于自回归模型的顺序性质所导致的。

    Variational Lossy Autoencoder[6]. Xi Chen, Diederik P. Kingma, Tim Salimans, Yan Duan, Prafulla Dhariwal, John Schulman, Ilya Sutskever, Pieter Abbeel. ICLR 2017.

    3.7 VQ-VAE-2

    VQ-VAE-2是对VQ-VAE模型的改进和扩展。VQ-VAE-2的目标是生成多样且高保真度的图像。为了实现这一目标,VQ-VAE-2引入了几个关键的改进。首先,VQ-VAE-2采用了一个多层的解码器结构,它可以生成更高分辨率和更细节的图像。这个解码器结构由多个级联的解码器组成,每个解码器负责生成图像的不同细节层次。其次,VQ-VAE-2引入了一种新的训练方法,称为Commitment Loss。这个损失函数鼓励编码器将输入数据映射到最近的离散代码向量,从而增强了编码的鲁棒性和特征表示的一致性。最重要的是,VQ-VAE-2引入了一种VQ-VAE与自回归生成模型的组合。这种组合允许在训练期间使用自回归生成模型来指导编码器和解码器的学习,从而提高生成图像的质量和多样性。通过这些改进,VQ-VAE-2能够生成多样且高保真度的图像。它在各种图像生成任务上取得了显著的改进,并且在图像生成领域引起了广泛的关注。

    Generating Diverse High-Fidelity Images with VQ-VAE-2[7]. Ali Razavi, Aaron van den Oord, Oriol Vinyals. NeurIPS 2019.

    参考资料
    [1]

    Variational Inference with Normalizing Flows: http://modelcube.cn/paper/detail/2543681

    [2]

    Tutorial on Variational Autoencoders: http://modelcube.cn/paper/detail/2543681

    [3]

    IAF: http://modelcube.cn/paper/detail/2388771

    [4]

    beta-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework: http://modelcube.cn/paper/detail/2518608

    [5]

    Neural Discrete Representation Learning: http://modelcube.cn/paper/detail/2387911

    [6]

    Variational Lossy Autoencoder: http://modelcube.cn/paper/detail/2518743

    [7]

    Generating Diverse High-Fidelity Images with VQ-VAE-2: http://modelcube.cn/paper/detail/2385689


    阅读原文,了解更多信息:ModelCube一站式人工智能科研平台

    http://modelcube.cn/paper/reading-list-detail/36

    数据科学人工智能
    聚焦数据科学,大数据,人工智能,区块链和云计算等话题。技术资料分享,院士名家观点分享,前沿资讯分享。
     最新文章