深度生成模型
这门课学什么
课程系统讲生成模型:自回归模型、变分自编码器、标准化流、GAN、能量模型、分数模型和扩散模型。课程网站提供讲义笔记。
内容摘要
CS236 系统讲深度生成模型。2023 年秋季版由 Stefano Ermon 主讲,共 18 讲。课程把各类生成模型放在同一组问题下比较:怎样表示一个高维概率分布,怎样从数据学它,怎样从中采样。
前 4 讲打基础:生成模型的用途,概率图模型背景,自回归模型,最大似然学习。第 5–10 讲依次讲 3 类模型:变分自编码器(ELBO、重参数化技巧),标准化流(变量替换公式、RealNVP、自回归流),生成对抗网络(f-散度、Wasserstein GAN)。
第 11–14 讲讲能量模型与分数模型:配分函数难题、对比散度与 MCMC 采样、分数匹配、去噪分数匹配和多尺度噪声。第 15 讲讲生成模型评估。第 16–18 讲讲扩散模型:先把分数模型和层级 VAE 两种视角统一,再讲随机微分方程(SDE)、概率流 ODE、加速采样和潜在扩散,最后讲离散数据上的扩散模型。
课程有 3 次作业、1 次期中考试和 1 个团队项目。项目包括提案、进展报告、海报展示和终稿。课程网站提供配套讲义笔记。
学完后,学生能推导主流生成模型的训练目标,理解各类模型的取舍,并能读懂扩散模型方向的论文。Ermon 团队提出了分数扩散模型的关键方法,后几讲内容来自一线研究。讲课以推导为主,数学密度高,需要扎实的概率基础。
为什么值得学
Ermon 团队是分数扩散模型的奠基者之一。扩散模型部分由方法的提出者亲自讲。
课程信息
- 学校
- 斯坦福(Stanford)
- 课程号
- CS236
- 讲师
- Stefano Ermon
- 学期
- Fall 2023
- 平台
- 课程官网
- 费用
- 免费
- 难度
- 高级
- 先修
- 需要 CS229 程度的机器学习、概率论和 PyTorch 经验。
- 材料
- 视频、讲义、幻灯片、作业
- 许可证
- 未注明
课程大纲 · 共 18 节
大纲依据:Fall 2023 YouTube 播放列表(18 讲),对照 deepgenerativemodels.github.io/syllabus.html 课程表(查看原始页面 ↗)
- 1导论Introduction
说明生成模型要解决的问题:表示、学习和采样高维分布。展示图像、文本、视频和医疗领域的应用。
- 2背景知识Background
复习链式法则、条件独立和贝叶斯网络。对比生成式与判别式模型,引入用神经网络参数化的自回归模型。
- 3自回归模型Autoregressive Models
用链式法则把联合分布分解成条件分布的乘积。讲用神经网络参数化这些条件分布的方法。
- 4最大似然学习Maximum Likelihood Learning
讲用 RNN、注意力和卷积网络实现自回归模型。推导 KL 散度与最大似然的关系,讲蒙特卡洛估计和随机梯度训练。
- 5变分自编码器 1VAEs
讲隐变量模型和混合模型。用重要性采样估计边缘似然,推导证据下界(ELBO)。
- 6变分自编码器 2VAEs
讲变分推断和摊销推断。推导重参数化技巧,完成 VAE 的训练流程。
- 7标准化流 1Normalizing Flows
从自编码器角度解释 VAE,讨论后验坍缩。引入标准化流和变量替换公式。
- 8标准化流 2Normalizing Flows
讲可逆层的设计:NICE、RealNVP、掩码自回归流和逆自回归流。介绍 Parallel WaveNet 和高斯化流。
- 9生成对抗网络 1GANs
说明高似然不等于高样本质量。用双样本检验引出判别器,推导 GAN 的极小极大目标和 JS 散度。
- 10生成对抗网络 2GANs
讲 f-散度框架和 f-GAN。介绍 Wasserstein 距离、WGAN 和 GAN 的隐表示。
- 11能量模型 1Energy Based Models
讲配分函数和能量函数的设计。介绍受限玻尔兹曼机、对比散度和 MCMC 采样。
- 12能量模型 2Energy Based Models
讲 Langevin 动力学采样。介绍分数匹配和噪声对比估计(NCE)两种不需要配分函数的训练方法。
- 13分数模型Score Based Models
讲直接学习分数函数的模型。介绍去噪分数匹配和切片分数匹配。
- 14分数模型 2(视频标题为能量模型)Energy Based Models
讲 Langevin 采样的局限和加噪的作用。介绍多尺度噪声分数模型、退火采样和条件生成。
- 15生成模型评估Evaluation of Generative Models
讲似然、压缩率和核密度估计。介绍 Inception Score、FID、KID 和人工评估,以及隐表示和语言模型的评估。
- 16分数扩散模型Score Based Diffusion Models
从多步去噪引入扩散模型。说明扩散模型等价于层级 VAE 和分数匹配,并讲噪声调度。
- 17扩散模型 2(视频标题为离散隐变量模型)Discrete Latent Variable Models
讲随机微分方程和概率流 ODE,用 ODE 计算似然。介绍加速采样、蒸馏和潜在扩散(Stable Diffusion)。
- 18离散数据的扩散模型Diffusion Models for Discrete Data
讲怎样把扩散模型用于文本这类离散数据。介绍具体分数(concrete score)、分数熵损失和连续时间马尔可夫链。
斯坦福的其他AI课
- 机器学习 · Machine Learning
- 深度学习 · Deep Learning
- 面向计算机视觉的深度学习 · Deep Learning for Computer Vision
- 基于深度学习的自然语言处理 · Natural Language Processing with Deep Learning
- 图机器学习 · Machine Learning with Graphs
- 人工智能:原理与技术 · Artificial Intelligence: Principles and Techniques