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


# 每只鞋都合理，为什么这一双不成立？

王德泉 · Coding with AI · Lecture 04


<a id="n03-8368ce8c016c"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N03.html#n03-8368ce8c016c)

上一页的椅子告诉我们：条件变具体以后，仍可能留下多个合理答案。现在把任务从“一件对象”改成“一组对象”：请交付同款、同色，左右各一只的一双鞋。


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

红色的一双符合要求，蓝色的一双也符合要求。问题出现在把其中一只红左鞋和一只蓝右鞋拿到一起时。两只鞋各自都很正常，也确实一左一右，但这双鞋没有满足“同色”。**部件分别成立，不代表它们放在一起仍然成立。**


[课程图解] 两只鞋单独都正常，红左与蓝右合在一起却违反这道题的同色要求。；图中标签与关系：交付：同款、同色、左右各一只 单只：是鞋 单只：是鞋 这一双：不同色
两只鞋单独都正常，红左与蓝右合在一起却违反这道题的同色要求。


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

这正是生成完整结果比列出几个可能部件多出来的一项工作。模型不能只知道“红鞋可以出现”“蓝鞋也可以出现”，还需要学会哪些部件可以一起出现。当我们已经选定红左鞋时，右鞋的选择就不再与左鞋无关。接下来生成红右鞋是在遵守当前条件，生成蓝右鞋则违反了这一双的要求。


<a id="n03-3708b9ea27b2"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N03.html#n03-3708b9ea27b2)

**学生：**“可现实中也有人穿一红一蓝，为什么你说它不合理？”


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

**教师：**“这里的合理指满足本题要求，并不是判定所有现实穿搭。如果任务允许撞色，这一组就可能成立。要判断生成有没有错，先要知道条件是什么，不能把未说明的偏好当成硬要求。”


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

**学生：**“那只要每一双都满足同款同色，我们是不是就已经学会这个分布了？”


<a id="n03-03b6747aab89"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N03.html#n03-03b6747aab89)

**教师：**“还不够。看后面的两批鞋：一批红色较多，另一批蓝色较多；其中每一双都可以合法，但两批的构成不同。‘哪些结果允许出现’与‘这些结果通常多常出现’是两个问题。”


[课程图解] 每双鞋都合法，两批的颜色构成却不同；图中频率为课堂构造，不是模型概率实测。；图中标签与关系：交付：同款、同色、左右各一只 批次 A 红色更常见 批次 B 蓝色更常见 同样允许，不同频度
每双鞋都合法，两批的颜色构成却不同；图中频率为课堂构造，不是模型概率实测。


<a id="n03-76ba67c0efae"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N03.html#n03-76ba67c0efae)

**学生：**“一批八双里六红两蓝，能不能直接说模型生成红色的概率就是四分之三？”


<a id="n03-3d33e87e9597"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N03.html#n03-3d33e87e9597)

**教师：**“这只能描述眼前这批结果。有限样本的频率会变化，而且这里用两批例子是为了帮助我们看懂差别；不能把一幅课堂对照图当成对某个模型概率的精确测量。”


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

用这个例子理解“分布”，可以先不写公式：它不仅关系到单个结果长什么样，还关系到完整结果的组合方式，以及不同结果出现的倾向。学习生成模型，不只是收藏几张漂亮的样例图。


<a id="n03-9564d95309ee"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N03.html#n03-9564d95309ee)

这个例子也有明确范围。它没有证明复杂图像里的所有关系都能靠一条“同色”规则解决，也没有比较哪一种模型已经学会这些关系。我们只是先弄清楚，生成任务究竟要求模型学什么。复杂生成要兼顾更多关系，却不能据此把所有生成任务排在所有判别任务之上；诊断一个关键异常也可能比生成一张普通图片困难。后面讲自回归时，会回到这双鞋：先选一只，再把已选内容作为下一步的条件。讲并行生成词语时，也会重遇相同问题——每个词单独合理，组合却可能违约。


<a id="n03-3874c8255855"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N03.html#n03-3874c8255855)

**接下来：**既然要学的是完整结果中的关系，训练照片怎样提供练习？下一页从一张被遮住杯柄的照片出发，看记录中的一次结果如何成为训练题，以及为什么它没有穷尽所有合理答案。


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


## 画面怎样推进


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

红红与蓝蓝都满足同款同色、左右各一只的要求。

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


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

红左与蓝右各自正常，组合却违反同色条件。

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


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

已选红左鞋改变了右鞋的合法选择；从蓝左鞋开始则可以形成另一条合法路径。

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


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

两批各含八双合法配对，颜色构成不同。课堂对照说明允许结果与频率不同，不是模型概率实测。

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


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


## 继续阅读与实验


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


### 左右各一半红色，为什么仍有一半鞋对不合格？


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

若左右独立抽颜色，各以一半概率红、一半概率蓝，四种组合各占四分之一：红红、红蓝、蓝红、蓝蓝。因此“同色”只有一半成立。另一种模型先选颜色，再让左右共享它，红红与蓝蓝各占一半，其余为零。两种模型的单只鞋颜色统计完全相同，整双关系却不同。


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

所以检查生成不能只统计每个部件。再算一次：已知左鞋为红，独立模型的右鞋仍只有一半概率红，共享颜色模型则必为红。条件改变了下一项判断，这正是后面自回归能用于组织相容结果的原因。眼前一批鞋的频率还会有抽样波动，不能当成精确模型概率。


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

[继续读：两个相同边缘、不同联合的数表](https://codingai-lec04.pages.dev/lecture.html#ch01-joint-table)


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


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

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

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


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


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

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

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


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


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

带着“允许哪些结果”和“怎样分配可能性”阅读，区分一张好图、有限样本和模型分布。

先看：第17–26页：从样本到分布


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


### [Autoregressive Models](https://mit-6s978.github.io/assets/pdfs/lec3_ar.pdf#page=10)

把鞋的配对关系改写成先选左鞋、再在左鞋条件下选右鞋，为N09做准备。

先看：第10–14页：联合与条件

