名校公开课 / 斯坦福 / AI

深度生成模型

Deep Generative ModelsCS236斯坦福Fall 2023免费
变分自编码器标准化流GAN能量模型扩散模型

这门课学什么

课程系统讲生成模型:自回归模型、变分自编码器、标准化流、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. 1
    导论Introduction

    说明生成模型要解决的问题:表示、学习和采样高维分布。展示图像、文本、视频和医疗领域的应用。

  2. 2
    背景知识Background

    复习链式法则、条件独立和贝叶斯网络。对比生成式与判别式模型,引入用神经网络参数化的自回归模型。

  3. 3
    自回归模型Autoregressive Models

    用链式法则把联合分布分解成条件分布的乘积。讲用神经网络参数化这些条件分布的方法。

  4. 4
    最大似然学习Maximum Likelihood Learning

    讲用 RNN、注意力和卷积网络实现自回归模型。推导 KL 散度与最大似然的关系,讲蒙特卡洛估计和随机梯度训练。

  5. 5
    变分自编码器 1VAEs

    讲隐变量模型和混合模型。用重要性采样估计边缘似然,推导证据下界(ELBO)。

  6. 6
    变分自编码器 2VAEs

    讲变分推断和摊销推断。推导重参数化技巧,完成 VAE 的训练流程。

  7. 7
    标准化流 1Normalizing Flows

    从自编码器角度解释 VAE,讨论后验坍缩。引入标准化流和变量替换公式。

  8. 8
    标准化流 2Normalizing Flows

    讲可逆层的设计:NICE、RealNVP、掩码自回归流和逆自回归流。介绍 Parallel WaveNet 和高斯化流。

  9. 9
    生成对抗网络 1GANs

    说明高似然不等于高样本质量。用双样本检验引出判别器,推导 GAN 的极小极大目标和 JS 散度。

  10. 10
    生成对抗网络 2GANs

    讲 f-散度框架和 f-GAN。介绍 Wasserstein 距离、WGAN 和 GAN 的隐表示。

  11. 11
    能量模型 1Energy Based Models

    讲配分函数和能量函数的设计。介绍受限玻尔兹曼机、对比散度和 MCMC 采样。

  12. 12
    能量模型 2Energy Based Models

    讲 Langevin 动力学采样。介绍分数匹配和噪声对比估计(NCE)两种不需要配分函数的训练方法。

  13. 13
    分数模型Score Based Models

    讲直接学习分数函数的模型。介绍去噪分数匹配和切片分数匹配。

  14. 14
    分数模型 2(视频标题为能量模型)Energy Based Models

    讲 Langevin 采样的局限和加噪的作用。介绍多尺度噪声分数模型、退火采样和条件生成。

  15. 15
    生成模型评估Evaluation of Generative Models

    讲似然、压缩率和核密度估计。介绍 Inception Score、FID、KID 和人工评估,以及隐表示和语言模型的评估。

  16. 16
    分数扩散模型Score Based Diffusion Models

    从多步去噪引入扩散模型。说明扩散模型等价于层级 VAE 和分数匹配,并讲噪声调度。

  17. 17
    扩散模型 2(视频标题为离散隐变量模型)Discrete Latent Variable Models

    讲随机微分方程和概率流 ODE,用 ODE 计算似然。介绍加速采样、蒸馏和潜在扩散(Stable Diffusion)。

  18. 18
    离散数据的扩散模型Diffusion Models for Discrete Data

    讲怎样把扩散模型用于文本这类离散数据。介绍具体分数(concrete score)、分数熵损失和连续时间马尔可夫链。

斯坦福的其他AI课