隐变量与隐空间

  • 隐变量就是那些我们无法直接观测,但会影响观测数据的变量。
  • 它们存在于模型里,用来解释或生成观测到的数据。

用一句话总结:观测不到,但背后起作用的“隐藏因素”

数学表达

在概率模型里:

  • 观测变量:(我们能看到的数据,比如图片、文本、声音)。
  • 隐变量:(不能直接看到的结构,比如图片里的语义标签、风格因子)。

联合分布写成:

如果我们只关心观测数据 ,就需要边缘化掉隐变量

对于隐变量的一些基本假设

  • 在含有隐变量的概率模型中,一个完整的数据点不只是观测到的 ,还包括生成它的隐变量 ,即一个完整的数据点是

  • 每个样本对应一个隐变量,即对于观测到的数据 ,在生成模型里都假设有某个潜在的 在起作用

  • 我们只能观测到 是观测不到的,通常是数据(比如图片像素), 是抽象的潜在因子(比如姿态、表情、光照)

  • 因为对 积分往往不可解,直接去优化 是困难的

  • 所以使用分解:,即观测数据 的分布由“给定隐变量的条件分布”与“隐变量的先验”相乘后积分(求和)得到

  • 一旦知道了, 或者 是容易优化的

生成模型中的隐变量

  • 隐变量 在生成模型里起决定性作用。

  • 表示“从隐变量到观测数据”的生成过程,即先有 (潜在因素),再产生 (观测结果)

  • 表示了图像中至关重要的本质特征

  • 知道了 ,整个图像就可以基于 decode 构建出来,可以理解为 就是 decoder 所要建模逼近的目标

  • 我们会把 当做是 对一个 encoding 向量,即在 VAE 里,encoder把输入图片 映射到隐变量 ,相当于提取了抽象的“编码表示”。

  • 生成过程:观测值是基于隐变量的值来生成的:从先验分布 中采样一个隐变量,再基于 sample 得到 :根据条件分布生成具体的观测样本。根据,说明观测数据的生成过程分为两步:先有隐变量,再生成数据

高斯混合分布

高斯混合分布是一种概率模型,它将一个复杂的数据分布看作是多个简单高斯分布的叠加。

  • P(X):我们观察到的数据点的整体概率分布
  • P(Z):一个“先验”概率,决定了一个数据点属于哪一个高斯分量(“聚类”)
  • P(X|Z):这是“条件概率”,描述了如果一个数据点属于某个特定的高斯分量,它的概率分布是怎样的,在GMM中,这个分布就是一个由自己的均值 () 和协方差 () 定义的高斯分布

采样过程

如何从一个GMM中生成一个新数据点:

第一步,先根据先验概率P(Z)决定在哪个群落落点:假设有K个高斯分量,每个分量都有一个权重(),这些权重的总和为1,首先根据这些权重随机选择一个分量

第二步,再根据局部的似然P(X|Z)采样:选择了某个分量后(比如第k个),就从这个分量所对应的高斯分布中随机生成一个数据点,这个高斯分布由它自己的均值 和方差 决定

GMM的概率表示与优化

对GMM的参数进行优化,即找到最佳的

  • 直接优化 非常困难

    • 总的概率 是所有高斯分量的加权和:。对这个取对数 () 在数学上处理起来很复杂,梯度计算也很麻烦,因此直接优化非常困难
  • 引入“隐变量”Z

    • 为了简化问题,我们引入一个隐变量(latent variable)Z。Z是一个one-hot向量,它用来表示每个数据点到底属于哪个高斯分量。例如,如果一个数据点属于第二个分量,Z就表示为 (0, 1, 0, …, 0)
  • 利用联合概率 来解决问题

    • 我们不直接优化,而是考虑联合概率 ,即数据点X和它所属的分量Z同时出现的概率
    • 因为Z是one-hot向量,这个公式其实非常简洁:它只会挑出Z所指向的那个高斯分量。例如,如果 ,那么公式就等于
  • 对联合概率取对数,优化变得容易

    • 这个表达式同样因为Z的one-hot特性而变得简单。它把原本对一个“和”取对数的复杂形式,变成了对数之和
    • 这种形式的表达式更容易进行优化

VAE和GMM之间的联系

VAE是一个特殊高斯混合模型

  • 假设 :定义了 VAE 的先验分布(prior),我们假设潜在变量 服从标准正态分布。这就像 GMM 中每个高斯分量都有一个权重 ,但 VAE 中这个先验分布是连续的

  • 假设

    • 这定义了 VAE 的解码器,表明给定一个潜在变量 ,我们生成的观测数据 服从一个高斯分布。关键在于: 这个高斯分布的均值 和协方差 不是固定的,而是由一个神经网络(解码器)根据输入的 计算出来的。这意味着,不同的 会产生不同的高斯分布
    • 在 GMM 中,由于 是离散的,这个积分变成了求和
    • 在 VAE 中,由于 连续的,我们必须使用积分

因此,VAE 是无数个高斯的混合