AI Hero Club

扩散模型与 Flow Matching · 第 8 章

已自行标记完成0 / 8

仅保存在当前浏览器;完成标记不代表通过项目验收。

本章提纲 8 个小节
全课目录 8 章
完整课程计划 ↗
扩散模型与 Flow Matching / 课程计划 ↗

CHAPTER 08 / 8建议学习 170 分钟

统计验证、故意失败与共同版本验收

同一冻结模型有时看起来不错,怎样用多个种子和互补指标找出它仍然失败的分布特征?

本章要解决的 3 个问题
  • 定义互补分布指标并检验其盲点
  • 读取同一冻结模型的逐种子真实结果
  • 提交可复跑证据并准确陈述未实现能力
课程项目 ZIP ↓

任务:提交一个共同版本的完整证据链

毕业验收的对象是第七章训练出的同一个二维速度网络,而不是从不同模型各取一个最好指标拼成“成功”。先冻结检查点与源码指纹,再为每个采样种子建立初始噪声和独立目标参考样本。评价同时保留学习场、解析教师、真实对真实基线及故意退化的生成器。这里的PASS只用于明确的程序测试,分布质量报告保留原始数字和不足,不把“代码能运行”写成“分布已完全正确”。

项目默认三组采样种子一百零一、一百零二、一百零三,每组两千零四十八个初始二维噪声。参考数据种子分别加一千,另一份真实基线种子分别加两千。方向投影固定种子三百一十四。三组输出共享一个训练种子七的检查点,所以评估单位是三组采样,不是三次独立训练。若要研究训练稳定性,必须另跑初始化与训练随机性,不能把更多输出点误当更多独立模型。

一、用互补指标阻止退化解冒充成功

均值和协方差先与解析目标零向量、对角四点零九比较。项目用总体形式经验协方差,即除以样本数,而不是除以样本数减一;这是为了把经验分布作为一个整体,和代码中的统计定义一致。理论协方差与有限样本估计有随机差异。它们不能单独识别多模态形状,因此还需要按照最近中心划分的四类质量和簇内距离。

m^k=1n∑i=1n1{k=argmin⁡j∥xi−μj∥2},TVmodes=12∑k=14∣m^k−1/4∣\widehat m_k=\frac1n\sum_{i=1}^{n}\mathbf1\{k=\operatorname*{argmin}_j\|x_i-\mu_j\|^2\},\qquad \mathrm{TV}_{\rm modes}=\frac12\sum_{k=1}^{4}|\widehat m_k-1/4|
这里只测一个有限分区上的质量差,不是整个连续分布的总变差距离。

最近中心平方距离的目标均值约为零点一八;我们还记录距离最近中心超过零点九的比例。对单簇二维各向同性高斯,半径大于三倍标准差的概率是指数负四点五,约百分之一点一一;混合中最近中心分区带来极小修正。这不是一维三西格玛规则。若把二维半径事件误用为一维双侧尾概率,会设置完全不同的参考标准。

算例一:多个好看的矩也能同时说谎

第一种退化输出均匀选择四个中心,不加簇内噪声。它的模式质量恰好各四分之一,均值零,协方差四乘单位阵,与四点零九只差一点点;最近中心距离和离群率却都为零。目标本应有非零簇内宽度,所以这不是比目标更好的生成器。第二种退化输出是协方差四点零九的单高斯,均值和协方差都对,但大部分点不在四个簇附近,形状错误十分明显。

本次实际评价中,四中心原子基线的多方向投影距离平均约零点二五五四,尽管模式质量差为零。矩匹配单高斯的对应距离约零点五二二三,超过半径零点九的比例约百分之八十四点六八。它们是故意构造的失败记录,不应被删去。若指标只保留“模式覆盖”和“到中心越近越好”,原子基线会获高分,证明评价规则本身不够完整。

二、投影距离的定义、能力与边界

二维分布难以只用一条直方图表示,项目固定三十二个随机单位方向。对每个方向,把两组样本投影为一维标量,分别排序,再计算对应排序位置的绝对差平均。样本数相同且权重相等时,这是该一维经验分布的Wasserstein一阶距离;最后对方向再平均,得到有限方向的切片距离估计。它有位置单位,不是无量纲准确率,更不是图像任务中的FID。

SW^1=1M∑m=1M1n∑i=1n∣sort⁡(x⋅um)i−sort⁡(y⋅um)i∣\widehat{\mathrm{SW}}_1=\frac1M\sum_{m=1}^{M}\frac1n\sum_{i=1}^{n}\left|\operatorname{sort}(x\cdot u_m)_i-\operatorname{sort}(y\cdot u_m)_i\right|
u_m 是单位方向,M=32;有限方向统计不是完整二维Wasserstein距离的精确值。

排序是对每个方向分别进行,不是先把二维点按某个坐标排序,再把同一索引的点强行配对。真实数据没有提供与生成噪声逐点对应的答案,不能直接计算生成点与任意真实点的欧氏距离并叫作生成误差。相同初始噪声可以用于比较两个求解器的数值轨迹,却不创造生成样本与真实样本之间不存在的配对关系。

算例二:真实对真实不是零误差下界

若投影后两组排序值分别为负二、零、二,以及负一点五、零点五、二点五,则经验一维距离为三个零点五的平均,即零点五。两组样本即使来自同一真实分布,也不必逐项相同。只有把同一组样本复制给自己时,距离才精确为零;项目用这一点做算法单元检查,但使用另一份独立真实样本作实际噪声基线。这两个检查回答不同问题,不能互相替换。

本次三组独立真实对真实的投影距离平均约零点零九三四六,解析教师Heun四十步约零点零七九五零。后者偶然小于前者不意味着它比真实分布“更真实”,只是有限样本及参考耦合造成的波动。因此真实对真实是帮助理解量级的基线,不是任何估计都不能跨越的理论地板。比较时应保留每个种子的原始值,不仅给一个最小数。

三、当前冻结网络的实际终端分布

对同一个一千五百步检查点,用Heun四十步、每步两次场调用,三组采样的切片距离均值约零点一四八五九,模式分区质量差约零点零四一九九,最近中心平方距离约零点二二六八九,离群比例约百分之五点二九。与目标约零点一八的簇内平方距离和约百分之一点一一的尾部相比,网络仍有分布偏差。训练损失下降确实发生,但没有消除全部学习与积分误差。

同模型Euler四十步的切片距离约零点一五一七七,簇内平方距离约零点二四六九二,离群比例约百分之六点三三。这两个四十步比较没有相同场调用预算,Euler四十次、Heun八十次;报告不能据此宣称同算力优势。评价命令加入二十步网格后,还能读取Heun二十步与Euler四十步的同调用观察,所有记录都保留在JSON中,不从中只挑支持某种方法的单个局部指标。

精确解析教师的一步Euler输出几乎都在原点,平均最近中心平方距离为八、离群比例为一,这是第六章预言的失败。单精度舍入可能把微小残差随机分进几个最近中心区域,让模式标签看起来未必全部相同;这更说明硬分区质量不能独立作为成功判据。距离与协方差仍会暴露该数值坍塌,测试中的双精度解析检查则直接验证其零点极限。

四、怎样提交可复跑的验收包

提交包括模型配置、训练与验证随机种子、目标分布定义、全部网络权重、训练损失记录、每组采样的步数和场调用次数、样本张量、统计JSON、测试结果和源码指纹。检查点前后哈希应一致,评价不重新更新网络。若进一步试验更长训练或不同架构,必须作为新版本单独报告,不能把新的训练曲线与旧的样本质量拼在一起。这个要求比一个写着“效果很好”的总结更能支持复核。

本项目没有实现图像编码器、UNet、Diffusion Transformer、文本条件、分类器自由引导或真实图像评价;也没有训练DDPM噪声网络或实现它的随机反向链。前面DDPM与score章节提供闭合原理推导和独立算例,实际端到端实现明确是二维条件Flow Matching。扩展到图像不仅是把输出维度改大,还涉及数据许可、架构、计算资源与评价协议;这些未完成内容不会在本课结果中伪装成已经集成。

终端命令在配套项目根目录、已经完成训练后运行。结果保留全部种子和失败基线。
python -m tests.run_tests
python -m flow2d.evaluate --checkpoint evidence/run/checkpoint.pt --n 2048 --seeds 101 102 103 --steps 1 10 20 40 --output-dir evidence/evaluation

练习与完整解答

TRY IT YOURSELF

练习一|有限分区的距离

观测四类质量为0.4、0.1、0.3、0.2,求对均匀目标的分区总变差。这个数为零能否证明每个簇内高斯正确?

提示 1
有限分区总变差先对各区域质量差取绝对值再汇总。
提示 2
除以二后,另外构造只输出中心却区域质量正确的分布,检验该指标看不到的簇内性质。
对照参考解答
四个绝对偏差分别零点一五、零点一五、零点零五、零点零五,总和零点四,再除以二得到零点二。它只检查四个区域的概率质量,不检查区域内部的位置分布。即使四类都精确四分之一,也可能只输出中心或在每个区域铺满不正确形状。应与簇内距离、尾部、协方差和投影距离联合阅读,不能把有限分区总变差冒称为整个连续密度的总变差。

TRY IT YOURSELF

练习二|识别伪配对误差

甲用相同初始噪声比较Euler和Heun输出差;乙将生成第i点与随机真实第i点算距离。哪一个适合检查数值收敛?乙应怎样改?

提示 1
数值解差需要相同初始条件的路径配对,生成与真实样本有天然索引配对吗?
提示 2
打乱真实样本看任意逐点距离是否变,再改用排序投影等明确的经验分布指标。
对照参考解答
甲适合比较同一场、同一初始值下两个数值解的差异,但细步解仍是近似参照,不自动证明分布正确。乙的索引是任意的,没有真实配对语义,距离可能因重新打乱真实样本而改变。它应改成经验分布指标,例如本课逐方向排序后的距离,或使用明确定义的其他分布检验。两类任务不能混为一个误差:数值路径比较和生成分布比较需要不同的配对规则。

TRY IT YOURSELF

练习三|给结果写准确结论

网络训练MSE下降,四模式均被覆盖,但离群率约5.3%,高于目标约1.1%。请写一段不夸大也不否认实际进展的结论。

提示 1
分别陈述训练链工作、四区域覆盖与仍超目标的离群现象。
提示 2
把一个训练种子和多采样种子分开,保留簇内/投影偏差,不将二维实验外推为图像能力。
对照参考解答
在冻结二维合成任务和一个训练种子上,神经网络的条件速度损失及解析场误差下降,采样覆盖四个目标区域,说明训练与ODE执行链实际工作。但当前Heun四十步输出的离群比例仍高于目标,簇内宽度与投影统计也有偏差,因此尚不能宣称精确匹配目标分布。三组采样种子不等于训练重复;本结果不涉及图像或通用生成能力。下一次改动须作为独立版本保存全部指标和失败记录,而不是只替换更好看的数字。

CHECK YOUR UNDERSTANDING

检验理解

先作答,再决定是否展开解析。选择题用于发现理解缺口;独立实现与迁移任务仍需另行检验。

1. 分区TV为零说明什么?

查看解析分区内部仍可完全错误。
2. 独立真实对真实距离为何不必为零?

查看解析同分布不等于同一组样本。
3. 当前端到端项目实际实现哪项?

查看解析理论覆盖与实现覆盖分开陈述。
4. Heun四十步和Euler四十步预算相同吗?

查看解析本实现分别八十和四十次场调用。

自行标记用于记录学习进度,不代表通过项目验收。