ELBO

  • 是我们想要计算的边缘似然(Evidence),它表示观测数据 出现的概率

  • 引入变分分布 ,对真实后验分布 进行近似
  • 同时将上述的积分式转化为一个可以简单计算的形式

  • 将积分形式转化为期望形式,便于下一步的计算

  • 应用Jensen不等式,将等号变成了大于等于号
  • 就是证据下界(ELBO)

在VAE中,我们的目标就是最大化这个下界(ELBO),因为最大化下界也就意味着我们尽可能地最大化原始似然 。这个最大化的过程,同时会优化我们的编码器(Encoder)和解码器(Decoder)

理解ELBO:变分推断

对于任意的 ,有: 其中:

  • 它表明我们想要计算的边缘似然 ,可以精确地分解成两部分之和:
    • 变分下界(ELBO),这是我们可以计算和最大化的部分。
    • 和真实后验分布 之间的KL散度,衡量两个分布之间距离

证明如下:

  • 参数化:,在实践中,我们通常参数化来优化,将其定义为一个由参数 决定的神经网络

  • :通过调整 的参数 ,来最大化变分下界 。当我们最大化 时,我们实际上是在让 尽可能地接近真实的后验分布 ,从而使KL散度项趋近于零

  • 时,

理解ELBO:ELBO = 重建误差 + 正则项

证明如下:

一般地,我们会让直接地依赖于,即将替换为,所以:

第一项:reconstruction error (重建误差)

  • 公式项:
  • 解析:
    • 这表示在根据选定潜在变量的情况下,原始数据 的对数似然的期望
    • 解码器(Decoder),它接收潜在变量 并尝试生成数据 , 衡量了生成的 有多大可能等于原始的
    • 期望 :编码器不是输出一个确定的 值,而是根据原始数据输出一个分布 ,我们对所有可能值,按其概率分布进行加权
    • VAE的“自编码”功能体现在这里,我们希望解码器能够从潜在空间中重构出原始数据。因此,最大化这一项就等同于最小化重建误差

第二项:正则项

  • 公式项:
  • 解析:
    • :编码器输出的分布,即在给定输入 之后,潜在变量 的后验分布
    • :潜在变量的先验分布
    • 核心思想:
      • 平滑性(Smoothness):防止过于尖锐,得到一个狄拉克分布,保证了潜在空间是连续的
      • 确保生成能力:使得潜在空间与先验分布(比如标准正态分布)对齐,那么我们就可以从这个先验分布中随机采样一个 值,并将其送入解码器,从而生成全新的数据,也就是说保证学习到的latent space能够与采样空间进行契合

两项之间的平衡

  • 最大化ELBO的过程是同时最大化重建项和最小化KL散度项。
  • 重建项希望编码器能尽可能地保留输入信息,以保证重构质量。
  • 正则项则希望编码器能将这些信息压缩到一个结构化的、简单的潜在空间中
  • 这两者之间存在一个权衡
    • 如果KL散度项的权重过大,模型可能会牺牲重构质量
    • 如果重建项的权重过大,模型可能导致潜在空间混乱,失去生成能力
  • VAE通过一个统一的ELBO目标,巧妙地平衡了数据的压缩表示(Representation)生成能力(Generation)

ELBO的参数化

将公式中的三个概率分布进行了参数化,以便用神经网络来表示和优化

  • 参数化为
  • 参数化为
  • 参数化为
  • 参数化后的ELBO: