
<a id="n00-title"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-title)


# 生成模型：一个要求，怎样产生多个合理结果？

王德泉 · Coding with AI · Lecture 04


<a id="n00-238ff59de6d2"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-238ff59de6d2)

上一讲讨论表示与多模态：模型怎样从观察中保留有用信息。这一讲把问题向前推进一步：给定一个要求，模型怎样构造原先没有给出的结果？为什么同一要求可能有多个好答案，而一个漂亮答案仍可能不能用？


<a id="n00-b731adb1d44f"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-b731adb1d44f)

我们先用红杯、椅子和成对鞋把问题说清，再比较自回归、VAE、GAN 与扩散如何组织生成。最后把生成的对象从图片和文字扩展到未来状态：如果模型预测了一个动作的后果，什么证据能让我们相信它？


<a id="n00-0785d32f601e"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-0785d32f601e)

阅读时先沿课堂顺序看对象与变化；某个例子没想通，就打开“本页说明”；想改变条件、核对算例，再进入“学习材料”推荐的阅读或实验。说明里的基础解释不依赖你先完成 Notebook。与同学或 AI 讨论时，直接分享当前页网址，就能定位到这一个问题。


<a id="n00-34cd90e57082"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-34cd90e57082)

课前请从[阅读问卷](https://tally.so/r/rj7Mlo)记录自己的初步判断。读完本讲后可以再回看：哪些判断改变了，改变它的是哪一个例子或哪一条证据？


<a id="n00-708dc18804a8"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-708dc18804a8)

先从一张普通桌面开始：找到红杯，与补出杯柄，究竟差在哪里？


<a id="n00-states"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-states)


## 画面怎样推进


<a id="n00-b0"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-b0)

一个要求可以容纳多个完整结果；本讲比较它们怎样产生，以及哪些证据支持使用。

[返回这一课堂停点](https://codingai-lec04.pages.dev/classroom/N00.html?step=b0)


<a id="n00-materials"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-materials)


## 继续阅读与实验


<a id="n00-learning-unit-001"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-learning-unit-001)


### 把一个要求拆成四个可检查的问题


<a id="n00-learning-unit-002"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-learning-unit-002)

先用“在原桌面上补出红杯杯柄”练习：条件是可见杯身和桌面，输出是缺失区域的像素，允许变化的是没有被观察到的柄形，检验对象是连接、视角和遮挡关系。把这四项写清，才知道两个不同答案为什么可能都成立，悬空的杯柄又错在哪里。


<a id="n00-learning-unit-003"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-learning-unit-003)

之后读每种方法，都沿同样的问题追踪：训练时拿什么作反馈，生成时从哪里开始，哪项参数真的学了，结果还要怎样验证。能画出候选，与能确认这只实物没有裂纹，需要不同证据。这条区分会贯穿图片、代码和行动。


<a id="n00-learning-unit-004"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-learning-unit-004)

[继续读：从具体任务建立本讲问题](https://codingai-lec04.pages.dev/lecture.html#ch01-opening)


<a id="n00-chapter-reading"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-chapter-reading)


### [CLS 01 · 从条件多解到生成目标](https://codingai-lec04.pages.dev/lecture.html#ch01)

按连续正文理解这条方法的训练信号、使用过程与算例；数学与实践在相关问题旁展开。

先看：第1章，从对象和问题开始


<a id="n00-lab01-practice"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-lab01-practice)


### [LAB 01 · 自回归：联合概率、贪心与温度](https://codingai-lec04.pages.dev/course/notebooks/39071d41f84d4621ad69c6140a6dccc9.html)

先读本册保存结果，再按实现顺序核对一个算例；最后只改一个变量。

先看：先看保存结果与读图解释


<a id="n00-material-1"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N00.html#n00-material-1)


### [Introduction](https://mit-6s978.github.io/assets/pdfs/lec1_intro.pdf#page=11)

用一组不同却都合理的结果建立本讲问题。先看例子，不必从概率推导开始。

先看：第11–27页：条件多解与分布建模

