What I cannot create, I do not understand. -- Richard Feynman
只有理解之后,才能创造。生成模型也是这样。
# 概述
# 三个基本问题
Three fundamental problems in generative models:
- 什么是生成模型
- 生成模型的历史
# What is generative model?
模型分为两类:
- 生成式 (generative): 创造和理解数据。形式上是建模输入数据所有可观测概率的联合分布 .
- 判别式 (discriminative): 对数据进行分类和识别。形式上是输入到输出的映射 .
# 历史
生成式模型最早可以追溯到 18-19 世纪(高斯分布),近期的突破关键点在于模型表示。一个 timeline 如下:
- 高斯分布(数个维度)
- 概率图模型(数千个维度)
- 神经网络(百万个维度)
最大似然估计就是选择一个最优的模型,满足其拟合的数据分布与输入分布最相似。在一维上,这一估计是有闭式解的,就是 “以频率估计概率”。
# 高维带来的问题
手写数字数据集 MNIST,有 784 个维度,即有 个可能的输入。这样就出现了问题:
- 可能的输入过多,无法一一打表估计概率,
- 不知道哪些输入的分布是合法的数字。因此只有一个低维的、形状复杂的数据分布子空间。
Generative model is a probability distribution after all!
# 生成模型的三个任务
- 表示
- 学习
- 推断
# 概率图模型
Chain rule:
但是链式法则本身作为一种恒等变换,不会改变依赖的参数数量。如果对 所依赖的变量作删减,那么可以实现参数数量减小,即转化为
这就是概率图模型,其参数数量依赖于最大的集合 的大小,即 .
# 生成模型
生成模型的设计分为三个维度:
- 神经网络的深度和架构:选择 MLP/RNN/CNN/Transformer...
- 联合分布的形式:GAN/AR/VAE/Diffusion... 涉及 loss function 的设计,是本节课的重点。
- 模型参数的规模:scaling law.