隐变量模型(LVM)是概率生成建模中的一种重要方法,以其捕捉复杂数据集中丰富、潜在结构的能力而著称。其核心思想很巧妙:观察到的数据,通常表示为x,被假定由一些隐藏的,即潜在的,变量z生成。这些隐变量不能被直接观察到,但它们控制着x中呈现的模式和变异。例如,如果观察数据x包含手写数字图像,那么隐变量z可能代表书写风格、数字本身或笔画粗细等潜在因素。通过对这些未观察到的因素建模,LVM的目标是从更根本的层面来理解数据。
这种方法直接与表征学习的目标相关联。隐空间Z,即z所处的空间,通常是原始数据空间X的一种压缩的、更具意义的表征。如果设计得当,这种隐表征能够分离数据中的变异因素,使其对多种后续任务都有用。
为何使用隐变量模型?
你可能会想,我们为何要引入这额外的未观察变量层。这有几个令人信服的理由:
- 复杂数据分布建模:直接为图像或文本等高维数据建模概率分布p(x)是极其困难的。LVM通过分解问题,提供了一种更易处理的方法。我们不是直接建模p(x),而是为隐变量建模一个更简单的先验分布p(z),以及一个描述给定z如何生成x的条件分布p(x∣z)。
- 数据生成:一旦LVM训练完成,我们就可以生成与训练数据相似的新的合成数据样本。实现方式是:首先从先验p(z)中抽取一个样本znew,然后从条件分布p(x∣znew)中抽取一个样本xnew。这种生成能力是VAE等模型的显著特点。
- 学习有意义的表征:隐变量z可以提供x的压缩且通常可解释的表征。例如,如果z的维度低于x,LVM就执行了一种非线性降维。这些表征的结构是本课程的一个主要议题。
- 处理缺失数据与不确定性:LVM可以通过对x中未观察部分进行边缘化,自然地处理缺失数据。它们还提供了一个量化 (quantization)预测和表征中不确定性的体系。
LVM的数学公式化
让我们对这些思想进行公式化。我们有:
- 观察变量 x∈X:我们可获取的数据点(例如,图像、句子)。
- 隐变量 z∈Z:我们假设生成x的未观察变量。
观察变量和隐变量的联合概率分布是LVM的根本,通常定义为:
p(x,z)=p(x∣z)p(z)
我们来分解这些组成部分:
- 先验分布 p(z):此分布定义了我们在观察任何数据之前对隐变量的初始信念。实际中,p(z)通常被选择为一种简单、易于处理的分布,例如标准多元高斯分布(N(0,I))。这种简单性有助于采样,并可以作为一种正则项。
- 似然(或生成分布) p(x∣z):此条件分布指定了观察数据x如何从隐变量z生成。在现代深度学习 (deep learning)中,p(x∣z)通常由神经网络 (neural network)参数 (parameter)化,该网络常被称为解码器或生成器网络。例如,如果x是图像,p(x∣z)可能是一个高斯分布,其均值是反卷积神经网络 (CNN)以z为输入时的输出,并且其协方差可能是固定的(例如,σ2I)。如果x是二进制,p(x∣z)可能是一个伯努利分布,其参数是神经网络的输出。
主要目标通常是建模观察数据的边缘分布p(x),也称为模型证据:
p(x)=∫p(x,z)dz=∫p(x∣z)p(z)dz
这个积分对隐变量的所有可能配置进行求和(或积分,对于连续z)。计算此积分是LVM中的一个主要难题,因为它通常是难以处理的,尤其当z是高维且p(x∣z)复杂时(如深度神经网络)。
一种图形视角
我们可以使用概率图模型(PGM)来可视化一个简单LVM的生成过程。
一个简单的有向图模型,表示LVM中的生成过程。圆形表示随机变量。隐变量z(从p(z)中抽取)生成观察变量x(通过p(x∣z))。
此图显示z首先被采样,然后x在给定z的条件下被采样。这些分布的参数 (parameter)(例如,参数化p(x∣z)的神经网络 (neural network)的权重 (weight))是从数据中学习的。
推断:理解隐空间
除了生成之外,我们还希望进行推断,这在此语境中通常指计算给定观察数据点x的隐变量的后验分布:
p(z∣x)=p(x)p(x∣z)p(z)=∫p(x∣z′)p(z′)dz′p(x∣z)p(z)
这个后验分布p(z∣x)告诉我们哪些z值可能生成了特定的x。在VAE中,一个名为编码器(或推断网络)的神经网络 (neural network)被训练来近似此后验分布。了解p(z∣x)对于学习有意义的表征非常重要,因为它使我们能够将观察数据x映射到隐空间Z。
然而,边缘似然p(x)(分母)的难以处理性使得直接计算p(z∣x)同样具有挑战性。正是因此,近似推断方法,例如变分推断(VAE中的“V”),变得不可或缺。
LVM的主要目标
训练和使用LVM通常围绕几个主要目标:
- 密度估计:模型应为与训练集中相似的数据点赋予高概率p(x),为不相似的点赋予低概率。
- 数据生成:如前所述,采样出具有训练分布特征的新数据点xnew。
- 表征学习:学习一个信息丰富的隐空间Z,其中每个z捕捉数据中的显著变异。这涉及学习从x到z的映射(推断)和从z到x的映射(生成)。
- 后续任务:使用学习到的表征z进行分类、聚类或回归等任务。
计算上的难点
LVM的强大能力和灵活性伴随着显著的计算挑战:
- 难以处理的边缘似然:如我们所见,p(x)=∫p(x∣z)p(z)dz通常是难以处理的。这使得在训练期间直接最大化数据似然变得困难,并且难以通过比较p(x)值来评估模型性能。
- 难以处理的后验:后验p(z∣x)通常也难以处理,因为其分母是p(x)。这阻碍了我们推断给定数据点的隐表征的能力。
这些难以处理性并非仅仅是小麻烦;它们是根本性的障碍,推动了生成模型的大部分研究。变分自编码器,作为本课程的重点,提供了一种巧妙而有效的框架,使用变分推断和神经网络 (neural network)来应对这些挑战。通过用一个更简单、易于处理的分布q(z∣x)近似真实后验p(z∣x),VAE能够同时学习生成模型p(x∣z)和推断模型q(z∣x)。
理解LVM的这一根本理论、其前景及其固有的困难,对于我们转向VAE的具体内容非常重要。在后续的章节中,你将看到VAE如何在这些原理之上构建,以创建能够从复杂数据中学习丰富表征的强大生成模型。