VAE 复习笔记

date
Oct 20, 2022
Last edited time
Mar 27, 2023 08:44 AM
status
Published
slug
VAE复习笔记
tags
DL
summary
在康DDPM的时候,发现自己对VAE有点混乱,所以重新学习下VAE。
type
Post
Field
Plat
notion image

符号定义

Encoder 模型
Decoder 模型
模型生成的 的边缘分布
样本

VEA 模型

notion image

使用隐变量模型的生成过程

我们假设 服从标准正态分布,也就是 。如果这个理想能实现,那么我们就可以先从标准正态分布中采样一个 ,然后根据 来算一个 , 即完成了模型的生成。
我们可以直接使用极大似然估计来优化这个隐变量模型,即最大化
那么,令 , 那么关于 的梯度为:
我们可以使用蒙特卡罗采样估计 的近似值。

替换先验分布为后验分布

原来  从先验概率分布  中采样,现在可以考虑从  的后验概率分布 中采样。原因是先验概率  是没有限制的任意分布,而后验概率   是给定  后的条件概率,所以更可能采样出能生成与 对应的 
我们我们使用一个 Encoder 模型 去拟合这个后验分布。这样生成过程就变为:
我们可以使用 KL 散度来衡量 Encoder 模型 与实际的后验概率 的接近程度:
整理后得到:
  1. 是我们希望能够最大化的对数似然,
  1. 是我们希望最小化的 KL 散度的负数,因此我们同样要最大化它。因此,我们的目的等价于最大化等于右边。
  1. 表示给定一个 ,根据分布 采样得到一个 ,即把 编码到 的 Encoder 过程。然后 根据这个采样的 生成一个 ,此过程即 Decoder。此过程即为最大化指定输入 对应的编码 生成的 的对数似然。(重构误差)
  1. 表示的是估计的后验分布 与预设的先验分布 的 KL 散度。

具体实现

    1. 如果没有KL散度这一项,那么为了更好的生成和真实样本相似的样本,方差  会变成0,退化成普通的自编码器。但是这样就失去了生成新样本的能力,所以最好的状态应该是方差足够小而又不等于 。此时,KL散度就派上用场了,我们可以让  和  看齐,这就相当于一个约束,不让方差等于。所以应该加一个项  ,那么得到  。这也可以经过下面公式推出来
      这样 才满足我们面前生成过程所述的假设条件。
  1. 重建损失
    1. 发现了没有,在图像生成的过程中,使用的都是最小化 MSE 损失,而不是这里的最大化对数似然。我们首先假设 是一个高斯分布,那么
      这里的 为神经网络预测的均值与方差,那么:
      有时候,我们直接固定方差 为常数,即 Decoder 部分只负责预测 。那么最小化这个负对数似然,等价于:
      则这个最大化对数似然其实就是在使用MSE进行最小化。

© Lazurite 2021 - 2023