在开始学习 Flow Matching 之前,我需要回顾以前的学习内容,并明确学习目的。
回顾
有这样的几类主要生成模型:
VAE(变分自编码器,Variational Auto-encoder)。VAE 通过编码器将输入数据映射到潜在变量$z$的潜在空间(latent space),再用解码器重建原始输入。
输入$x$对应的真实后验分布$p(z∣x)$是潜在变量$z$的分布,是一个连续的多维概率分布,人们常常假设它为高斯分布(因此,人们设置训练的近似分布$q_ϕ(z∣x)$是高斯分布)。编码器想学习出来的,就是这个分布,或者说,就是输入对应的潜在变量$z$的分布参数(高斯分布的均值、方差),而不是$z$自己。我的学习笔记是VAE学习笔记 | Palind’s Blog为什么不是$z$自己?因为如果学习的是$z$自己,模型就退化为了一个常见的 Auto-encoder,潜在空间是不连续的。
VAE 名字中的“Variational”来自变分推断(Variational Inference),通过训练变分分布$q_ϕ(z∣x)$来接近真实的$p(z∣x)$后验。
学习后验分布,使得模型的潜在空间是连续的。模型泛化能力更强,编码器输出的是分布,那我们就可以从中采样$z$输入解码器,使模型生成多样性的输出。此外,还可以进行插值变换。