🕞生成模型小结
type
status
date
slug
summary
tags
category
icon
password
Generative Adversarial Networks, GAN
两个模型:
- Generator 用噪音模拟真实的分布
- Discriminator 判别数据来自真实数据还是 Generator 生成的数据
训练目标:
缺点:
- 训练较为不稳定。
- 多样性较差。
- 不是一个概率模型,可解释性较差。
Auto Encoder, AE
重点:
- 中间的 bottleneck,一般来说特征的维度都会小很多。
- 主要的目的是学习 bottleneck 生成的特征。但是并不能做采样,也就没有办法做生成。
训练目标:
- 希望 尽可能的接近 。
Denoise Auto Encoder, DAE
相比于 Auto Encoder,DAE 先将原始数据 进行一定程度的打乱,变成 (Corrupted ),其他部分和 AE 相同。
训练目标:
- 希望 尽可能的接近原始的 。
Variational Auto Encoder, VAE
重点:
- 中间不再是学习一个 bottleneck 的特征,而是去学习一个分布。
- 假设这个分布是一个高斯分布,可以用均值和方差来描述。经过学习之后,encoder 得到输入数据 之后会给出一个均值 和方差 。
- 是从高斯随机噪声中抽样出来的一个样本,模型随后把 喂给 decoder。
从贝叶斯的角度看
- encoder 是一个后验概率模型。
- 是一个先验分布。
- decoder 是一个先验概率模型。
- 学习的过程,就是最大化似然的过程。
Vector Quantized VAE, VQVAE
改进的动机
- VAE 中间的分布不是很好学。
- VAE 难以拟合规模较大的数据。
重点:
- 将 VAE 中间的分布改为一个 codebook。
- 大小一般为 ,意思是这个 codebook 包含了 个长度为 的向量。
- 原始图像经过 encoder 之后得到一张 feature map,然后拿 feature map 去和 codebook 中的向量作对比,看看哪个最接近。把最接近的编号存到 这个矩阵里。
- 最后,根据 中保存的 index,挨个将 codebook 中对应的向量存到 (Quantized feature)中。
缺点:
- 由于学习的是 codebook,所以又没有办法像 VAE 一样做采样了😆。