【大白话02】一文理清 VAE 变分自编码器 | 原理图解+公式推导
隔壁UP主又拖更了
编辑于 2024年12月15日 00:09

01:17 什么是VAE

  • 假设隐变量概率分布服从高斯分布,方便采样(高斯分布具有良好的数学性质,其概率密度函数是连续且可微的,且采样过程简单:标准高斯分布具有许多成熟的采样方法,从标准高斯分布入手采样再经过线性变换后即可获取一般高斯分布的样本

  • 高斯分布最重要的两个特征:均值和方差(确定函数位置和型状的关键因素)

  • 通过重参数的技巧生成服从高斯分布的噪声(1.反向传播的需求:采样是离散的随机过程,直接使用z无法计算梯度;2.重采样引入辅助变量将该过程变为可微的;3.添加服从高斯分布的噪声(即采样得到的隐变量,增加生成数据的多样性(不同z,不同输出),帮助模型学习数据的潜在结构 

#AE不能作为生成模型

03:17 直观理解AE

AE的值是离散的,无法生成有意义的图像

05:22 深入了解VAE

关键在于找到p(z|x)的分布,而p(z|x)难以通过积分求解。我们需要找到一个神经网络去拟合后验分布映射的过程。

07:00 图像分布

  • 最大似然估计(Maximum Likelihood Estimation,MLE)是一种在统计学中用于估计模型参数的方法。它的基本思想是,在给定观测数据的情况下,找到一组模型参数,使得这组参数下观测数据出现的概率(即似然函数的值)最大。在此处应该是通过神经网络寻找一组参数使得生成的图像是猫的概率最大。

  • “逆向推理” 的过程,已知模型形式(我们假设为高斯分布),求模型参数

08:44 ELBO证据下界

目的:拟合一个后验分布

方法:利用KL散度拟合

对于给定的数据x,似然估计logp(x)是一个定值 。logp(x)由KL和ELBO两部分组成,使KL最小,即增大ELBO。

VAE优化目标最大化 ELBO ,即:MSE损失优化(重建损失)+KL散度优化

最大化 ELBO 相当于在平衡重建损失和 KL 散度损失之间进行权衡。

  • 重建损失:衡量原始数据和重建数据之间的差异

  • KL散度:衡量先验概率分布和后验概率分布之间的差异。

在学习过程中,如果不加约束,z的分布最后会退化成一个均值任意、方差为0的分布。(由于要最小化重建损失,若不加约束,模型会通过使方差为0来“作弊”,隐变量值会固定,从而捕捉不到隐变量丰富的分布特性和结构特征

我们假定后验分布服从一个01高斯分布,则由链式法则可知:先验概率也服从01高斯分布。这样

训练一个网络是为了训练方差和均值

该方差和均值使先验分布和后验分布相似(通过KL散度衡量),从而有助于更好地理解数据的潜在结构。

14:05 回顾

16:00 损失的作用

  • 只考虑重建损失:中间有很多空白的区域,采样这些区域会生成无意义的图像

  • 只考虑KL散度:类与类的分隔不明晰

17:09 为什么能工作

高斯混合分布原理

  • 任何分布都可以被视作是高斯分布的叠加

  • 后验崩塌:隐变量的后验分布逐渐失去对输入数据x的依赖,最终趋向于先验分布,而不管输入数据如何变化。

因此,后验分布并不完全是一个标准正态分布。

18:35 VAE的局限性

  1. 不匹配问题

  2. 生成模糊图像

21:04 和diffusion模型的关