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


# 噪声里没有藏着一张等待取出的照片

王德泉 · Coding with AI · Lecture 04


<a id="n29-44fd6bcd1722"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N29.html#n29-44fd6bcd1722)

前面 GAN 主要通过学习反馈改进一次成图的生成器。扩散换了一种组织方式：先用已知照片主动造出由易到难的受损状态，再学习如何从这些状态中获得恢复所需的信息。红杯照片在轻噪时仍可辨认，噪声更强时轮廓逐渐难以判断；不同噪声等级给训练提供一系列可控制的难度。前向出题规则可以固定；换成另一类训练数据，模型仍需学习那类数据对应的逆向规律，不能只靠加噪公式自动获得。


<a id="n29-994f54e820cf"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N29.html#n29-994f54e820cf)

但不要把训练与生成看成同一段录像的正放、倒放。训练的这道题确实有一张已知原图，出题者知道自己怎样损坏它。生成时却从新抽取的随机状态开始，没有一张指定照片被悄悄塞进其中，等待完整找回来。模型利用从许多数据中学到的规律，逐步构成一个候选。


[课程图解] 上排是从已知照片造题，下排是没有指定原照的新起点；两者不要混作倒放。；图中标签与关系：训练：由照片出题 原图 轻噪 重噪 纯噪 生成：新的随机起点 新起点 A 会得到哪一个结果？ 新起点 B 会得到哪一个结果？
上排是从已知照片造题，下排是没有指定原照的新起点；两者不要混作倒放。


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

**“那最终图片到底由谁决定？”** 由训练后的模型、任务条件、起始随机状态以及更新规则共同决定。若采样过程继续加入随机扰动，这些新扰动也会影响路径。固定所有这些因素时可以得到确定的过程；改变起点或规则则可能产生不同结果。可复现不等于起始噪声本身包含了一张可直接读出的原照片。


<a id="n29-671960e2c088"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N29.html#n29-671960e2c088)

同一场景关系可以容得下两种完整杯形，因此图中两个新起点可以通向不同的守约结果。这里的状态带是机制示意，不是一次真实扩散模型的采样记录；它说明“新起点生成”与“恢复一道训练题”在身份上的差别，而不提供生成质量的实测证据。


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

还要留意“纯噪”这个教学简写。实际加噪日程通常把末端分布设计得接近一个易于抽样的噪声分布，有限日程是否已足够接近是技术条件；不能仅因图看上去杂乱就宣布原图信息严格为零。更一般地说，逐渐破坏使局部训练任务可被反复构造，新的随机起点则让学到的规律用于生成。


<a id="n29-0286c2047252"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N29.html#n29-0286c2047252)

下一页把监督回路拆开：出题者知道原图与扰动，模型究竟能看什么，答案又放在哪里？


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


## 画面怎样推进


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

已知照片可以按不同噪声等级主动构造训练题。

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


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

新生成从独立噪声起点开始，没有指定原照片作为待找回答案。

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


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

相同条件可允许不同完整杯形；课堂候选说明这项关系，未提供模型实测轨迹。

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


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


## 继续阅读与实验


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


## 新噪声为什么不等于一张照片的密封袋？


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

训练造题先拿到x₀，再抽噪声并混合，出题者当然知道这道题的原图；生成却先从简单分布抽新起点，没有为它指定一个隐藏x₀。模型、条件、起点和采样规则共同构成最终候选，而不是倒放某张训练图的损坏录像。


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

LAB09把同一批起点交给初始化与训练后的网络，前者形成散点，后者逐渐形成八模结构。这让我们观察权重怎样改变生成关系；采样代码另行核对没有目标x₀或答案入口。有限加噪末端通常只是接近标准正态，不能把“看似纯噪”解释成信息严格归零。


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

接着读：[训练和生成各自能取得什么](https://codingai-lec04.pages.dev/lecture.html#ch05-training-sampling)与[同起点的学得结果](https://codingai-lec04.pages.dev/lecture.html#ch05-learned-results)。


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


### [CLS 05 · 扩散：训练、采样与少步生成](https://codingai-lec04.pages.dev/lecture.html#ch05)

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

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


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


### [LAB 09 · 学得去噪器与完整采样](https://codingai-lec04.pages.dev/course/notebooks/e6fcbdfe3ca2418c9ed09344b4ae2b33.html)

固定初始噪声，仅改采样步数；把网络近似误差与数值步进误差分开。

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


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


### [LAB 05 · 扩散的条件均值与流积分](https://codingai-lec04.pages.dev/course/notebooks/be6db259db4f48478c7481ab51129971.html)

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

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


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


### [Diffusion Models](https://mit-6s978.github.io/assets/pdfs/lec5_diffusion.pdf)

看加噪日程如何构造已知训练题，并与生成端的随机起点分开。

先看：第8–23页


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


### [LAB 05｜条件均值、噪声预测与流积分](https://deepnote.com/project/6f83a923-d155-47be-be58-680db701ff7f/notebook/be6db259db4f48478c7481ab51129971)

改变噪声等级，观察同一个带噪值能提供多少关于原值的信息。解析实验不是神经网络图像生成。

先看：第1、2节

