跳转到内容

扩散模型教程第7章:按数据结构选型与评估验收

本章是系列第 7 章:讲怎么系统评估一个生物扩散模型、以及某些任务其实不该用扩散。前六章学的是”怎么把扩散跑起来”,本章学的是”跑完之后怎么验收,以及一开始该不该跑”。 前置:第 1 章(为什么用扩散)、第 6 章(训练与采样旋钮)。评估思路与强化学习系列的分层评估栈同源。 系列内:机制族与替代路线见 第 5 章 五大机制族;蛋白/分子案例深讲见 第 8 章 生物读者轨道

学完本章,你应能在不看笔记的情况下完成下列自检:

  1. 画出 L1 → L4 四层评估框架,说清每层回答什么问题、有哪些代表指标。
  2. 对蛋白 / 分子 / 单细胞 / 病理四类任务,各说出它的最硬指标隐藏杀手
  3. 解释为什么”用于训练的指标不能同时用于最终验收”。
  4. 点名至少 4 种评估陷阱,并给出对应的防御做法。
  5. 拿一个真实课题填 Go/No-Go 决策表,判断”先别急着上扩散”还是”值得一试”。

字数与深度定位:评估与选型章(约 8500–12000 汉字)。推导每个指标、教具体工具的完整用法、从零训练模型。


2. 评估第一课:为什么”好看” ≠ “好用”

Section titled “2. 评估第一课:为什么”好看” ≠ “好用””

假设你训了一个”病理图生成扩散模型”,报告如下:

  • FID = 12.3(比同类 GAN 的 20.5 低了将近一半);
  • 生成图肉眼非常像真实 H&E 切片;
  • 你信心满满地投给了老板。

老板问你三个问题,你一个都答不上来:

  1. “我拿这些生成图去训分割模型,在真实测试集上性能会提升吗?“(下游任务)
  2. “病理医生盲评能不能分出真假?“(领域专家)
  3. “你有没有生成任何一个训练集里没见过的病理形态?“(多样性 vs 记忆)

这三个问题任何一个答不上来,那个 FID 12.3 就没有意义。这就是本章的核心信息:FID 只是入场券,不是通行证。

把这个坑说透一点:假设你后来真的补做了实验,发现拿这批生成图去做数据增强,分割模型在真实测试集上的 IoU 不升反降了 3 个点;病理医生盲评一眼就挑出了假图,因为你的模型把某台扫描仪特有的偏蓝色调学了进去;而且生成的”病灶”翻来覆去就是训练集里那几种形态,稀有亚型一个没有。三个问题的答案全是负面的——但你的 FID 依然漂亮。这不是 FID 算错了,而是 FID 从设计上就只回答”两堆图的特征分布像不像”,它根本没被要求回答”能不能用”。 用一个只测 A 的指标去证明 B,无论数字多好看都是空的。本章接下来的四层框架,本质就是把”能不能用”拆成可以逐层验证的问题。

2.2 “好看”和”好用”的四个错配

Section titled “2.2 “好看”和”好用”的四个错配”
好看与好用的错配
错配举例(生物)
好看 → 下游不能用生成的病理图 FID 低,但训出的分割器在真实图上 IoU 反而降
好看 → 物理不合理生成的分子 Validity 90%,但 60% 有严重原子 clash / 无法合成
好看 → 无多样性生成的 mini-binder 长得都差不多(模型记住了训练集里的少数几个骨架)
好看 → 泛化差训练集是 EGFR 靶点,换到 KRAS 就生成一堆无意义结构

根源:FID 是分布层面的距离。你训练时最小化的就是这个分布距离,模型天然擅长把这个指标做低。“用于训练的指标不能同时用于最终验收”——这句话请刻在办公桌上。

2.3 一个必须内化的原则:评估要”和训练目标解耦”

Section titled “2.3 一个必须内化的原则:评估要”和训练目标解耦””
  • 训练目标:拟合数据分布(MSE 去噪损失)。
  • 验收目标:在训练目标之外,独立衡量”是否满足业务需求”。

具体做法:

  • 训练用 MSE,评估不要只看 MSE。val 集 loss 下降只说明”更贴合训练分布”,不说明”能用”。
  • 生成分布贴合真实,加一层下游任务(分类器 / 分割器 / 对接器)验证”能不能拿去用”。
  • 图像 FID 低,加一层领域专家评审(病理医生 / 蛋白工程师)确认”真的能骗过内行”。

心智模型:训练 loss 是模型自己给自己打的分;评估是让完全独立的第三方裁判打分。裁判越独立、越贴近真实业务,越有说服力。

一句话记法(贯穿本章):训练拟合分布,评估验证价值。分布拟合得好是必要条件;创造下游价值才是充分条件。

如果你学过强化学习系列的分层评估栈,会发现本章的四层评估几乎是同一思想的迁移。但两者有个关键差别

强化学习评估扩散评估
主要看什么奖励曲线 + 约束 + 上线策略生成分布 + 下游任务
关心的问题”分数上没上去""生成的东西是不是又像、又多样、又能用”
典型翻车奖励黑客、分布外崩好看但不可用

一句话:扩散拟合条件下的数据分布,RL 优化条件下的期望奖励。评估时也别混——别用同一张成绩单。


四层评估框架

核心心法:L1 是入场券,L2 是结构护栏,L3 是通行证,L4 是最后一签。四层缺一不可,但权重按任务调。

  • 早期开发:L1 + L2 保证”模型学到了东西”。
  • 中期验收:L3 保证”能上下游任务”。
  • 最终交付:L4 保证”业内人认可 + 硬约束过关”。

一个类比:造车检测 = 台架测试(L1)→ 整车震动试验(L2)→ 上路油耗测试(L3)→ 老司机试驾评分(L4)。

3.2 L1 分布层:模型的”入门及格线”

Section titled “3.2 L1 分布层:模型的”入门及格线””

要回答的问题:生成样本单个看,统计属性是否像真的?

指标通俗意思生物场景对应方向
FID用预训练网络抽特征,看真/假两堆特征的均值方差差多少病理图 / 荧光图必备越低越好
KID类似 FID,小样本更稳样本量不够大时优先越低越好
IS生成样本”清晰 + 多样”的自评图像专用,生物领域别单独用越高越好
Precision / Recall分开衡量”像不像” vs “全不全”图像 + 分子双高最好
Validity / Uniqueness / Novelty语法/化学合法 + 不重复 + 训练集没见过分子专用”三驾马车”越高越好
Marginal 分布对齐(KS / 均值方差)每个特征维度的直方图重叠scRNA、表格数据必备越接近越好

只保留讲解用公式(FID,不要求会手算,看懂在比什么就行):

FID=μrμg2+Tr(Σr+Σg2(ΣrΣg)1/2)\mathrm{FID} = \|\mu_r - \mu_g\|^2 + \mathrm{Tr}\big(\Sigma_r + \Sigma_g - 2(\Sigma_r \Sigma_g)^{1/2}\big)

其中 μr,Σr\mu_r, \Sigma_r真实数据在特征空间的均值和协方差,μg,Σg\mu_g, \Sigma_g生成数据在同一空间的均值和协方差。一句话:把两堆数据的”多元高斯轮廓”拿去比——均值差 + 协方差差。

为什么 FID 有意义又有局限:它同时考虑保真度(均值)和多样性(协方差),比 IS 靠谱;但经典 FID 依赖 ImageNet 上训的 Inception,用它评 H&E 病理图、蛋白结构,特征空间本身就不对。所以生物领域要换特征抽取器:

领域建议的 FID 替代
病理图path-FID(CTransPath / PLIP / UNI 特征)
分子FCD(Fréchet ChemNet Distance)/ NSPDK MMD
蛋白结构结构特征 FID(ESM / Foldseek 嵌入)
scRNA-seqlatent 空间 MMD + 基因均值/方差 Pearson r

关键参数与调法

  • FID 样本量:小于 10K 时极不稳定,建议 ≥ 50K(至少 10K)。
  • Validity 判定器:分子必须用 RDKit + 化学价约束,不能只看”SMILES 能不能 parse”。
  • 别跨论文比 FID 绝对值,只在同一评测脚本里做相对比较。

调坏会怎样:FID 反常地低(< 2)往往意味着评估集约等于训练集、抽样太少或用错特征抽取器;Validity 100% 但 Novelty 20% 说明模型只会复读训练集;Marginal 均值对齐但方差全塌是 mode collapse。

一个真实会踩的坑(跨脚本比 FID):你读到 A 论文报 FID 8.2、B 论文报 FID 15.6,很容易得出”A 更好”的结论。但这两个数字几乎不可比——它们可能用了不同的 Inception 权重版本、不同的图像预处理(resize 到 299 还是 256、双线性还是最近邻插值)、不同的样本量。FID 对这些实现细节极其敏感,同一个模型换个评测脚本能差好几分。正确姿势:把你要比的所有模型(含 baseline)放进同一套评测代码、同一评估集、同一样本量,重新算一遍,只信这一套里的相对排序。跨论文的绝对值当参考都嫌勉强。

Validity 这个指标也有隐藏陷阱。分子领域常见的”Validity 98%“往往指”SMILES 能被 RDKit 解析”,但这远不等于”化学上合理”——一个能解析的 SMILES 可能有荒谬的价键、扭曲的环张力、根本合不出来的结构。真正的 L1 合法性检查要叠加化学价约束、可选的力场松弛能量筛查,否则你会把一堆”语法正确的废物”当成成功。

3.3 L2 结构层:是否学到了联合关系

Section titled “3.3 L2 结构层:是否学到了联合关系”

要回答的问题:样本内部各维度之间的关系是否合理?

L1 只看每个维度独立分布;L2 看维度之间的联合结构——这才是生物任务真正关心的。

任务结构层指标意思
蛋白TM-score / lDDT / RMSD生成结构与参考的几何相似度
蛋白clash 数、Ramachandran 合法率物理合理性(原子互穿?二面角合法?)
分子键长键角 RMSE、力场松弛稳定性几何是否偏离统计正常范围
病理图mask IoU / 细胞核检测 F1形态学是否自洽
scRNAUMAP 重叠 + gene-gene 相关性 + marker 保留联合表达关系是否保住
空间转录Moran’s I / Geary’s C空间自相关是否保留

一个特别值得讲的杀手锏——self-consistency(蛋白结构)

蛋白 self-consistency 闭环

生成结构 → 反推序列 → 再折回结构 → 比较。scTM ≥ 0.5 过关,≥ 0.8 优秀(社区对 binder design 常卡 0.8)。没有 self-consistency 的蛋白生成论文,社区默认打折。

给非蛋白任务的类比:任何生成任务都要问”能不能自己撑住自己”。分子是”生成 → 对接 → 验合成”;单细胞是”生成 → 另一个 encoder 编码 → 分布是否重合”。

L1 说”每个基因表达量像”,L2 才说”A 高时 B 也高,协同关系保住了”。生物学的精髓在联合分布,只看边缘会漏掉一切有意义的结构。

3.4 L3 下游任务层:能不能创造真实价值

Section titled “3.4 L3 下游任务层:能不能创造真实价值”

要回答的问题:把生成物拿去做下游任务,性能有没有提升?

L3 是最硬的证据——分布指标可能被技巧性 overfit,下游提升是独立评分员。三种通用范式:

范式做法何时用
Data augmentation生成样本混入训练集,看下游性能是否提升图像 / scRNA / 蛋白
Zero-shot generation直接用生成结构 / 分子做对接、折叠、活性预测分子 / 蛋白设计
TSTR(Train-Synthetic-Test-Real)用生成样本训分类器,在真实样本上测scRNA、稀有类扩增

黄金标准(AB 测试)

组 A(baseline):只用真实数据训下游 → 指标 M_A
组 B(treatment):真实 + 生成数据训下游 → 指标 M_B
M_B > M_A → 生成有价值
M_B ≈ M_A → 无功无过
M_B < M_A → 引入噪声,重评

硬规则:测试集必须是真实数据,绝不能污染生成数据;组 A / B 除数据外其他条件(模型、超参、种子、轮数)必须一致;多种子重复 3–5 次取均值;合成/真实比例通常 0.5:1 到 2:1(超过 3:1 常反而降)。

常见失败:组 B 训练 loss 降更快、测试反而差,说明生成引入了”看似真实但偏移”的分布;只用生成数据训下游性能必崩(别把 TSTR 当主赛道);不设真实-only baseline 就无法说明生成贡献了多少。

合成/真实比例怎么扫:这是 augmentation 里最实操、也最容易被忽略的旋钮。不要一上来就 5:1 猛灌生成数据。正确做法是把比例当超参扫一条曲线——0.25:1、0.5:1、1:1、2:1,各跑 3 个种子,画出下游指标随比例变化的曲线。你几乎总会看到一个倒 U 形:比例太低生成数据没起作用,比例太高生成分布的偏移开始压过真实信号,下游反而掉。曲线的峰值就是你该用的比例。如果整条曲线都在 baseline 之下,说明这批生成数据质量不够,别硬凑,回去查 L1/L2。

为什么 L3 是”独立评分员”:L1 的 FID、L2 的 gene-gene 相关,都可能被模型在训练时间接优化到——你训练目标是拟合分布,分布指标当然会好看。但下游任务用的是一个完全独立训练的模型(分割器、分类器、对接程序),它不知道你的生成模型是怎么训的,也没有动机去配合你刷分。所以当一个技巧性 overfit 的模型 FID 很低、L3 却纹丝不动甚至下降时,L3 就当场戳穿了它。这也是为什么论文/汇报的主表里必须有 L3,只有 L1 的结果在审稿人眼里近乎没有说服力。

3.5 L4 领域专家层:骗过内行 + 硬约束

Section titled “3.5 L4 领域专家层:骗过内行 + 硬约束”

要回答的问题:领域专家能否分出真假?结果是否满足硬性物理/化学/合成约束?分两块看。

(a) 主观盲评——关键是不告诉专家哪张真哪张假

生物任务盲评者及格线
病理图3+ 位病理医生分辨准确率接近 50%(分不出)= 优秀
蛋白结构2+ 位蛋白工程师骨架合理 / 侧链堆积可接受
分子2+ 位药化学家合成可及 / 骨架新颖度可接受

(b) 客观硬约束

任务硬约束及格线
蛋白原子 clash rate< 5%
蛋白Ramachandran 违规率< 3%
分子SA score(合成可及性 1–10,1 最易)< 5(多数分子)
分子Lipinski Ro5 违规数≤ 1
分子PAINS / Brenk 过滤通过率高
病理图染色 / 动态范围一致性与真实同量级

主观盲评和客观硬约束不可互相替代:专家说”像”但 clash 超标是废结构;clash 全过但专家一眼看出假也没用。

任务L1L2L3L4
病理图(图像)★★★★★★★★
蛋白结构★★★★★★★★
分子生成★★★★★★★★
scRNA 生成★★★★★★★★★
通用图像 demo★★★★★

读表:蛋白 / 分子的 L1 权重低,合法性 + 下游 + 物理约束才是重点;scRNA 的 L2 权重最高,gene-gene 联合关系是命根子;通用图像 demo 看 FID 就够了,别拿去当真生物任务。


把你的任务对号入座,直接复制改造。每个场景都标了红线指标——不测就等于没评估。

在展开四份菜单前,先记住这张红线速记表。它把每类任务”不测就等于没做评估”的那一两个指标单独拎出来,是你汇报前的最后一道自检:

任务最硬指标(红线)隐藏杀手(最容易翻的车)
蛋白结构self-consistency 的 scTM > 0.5 比例原子 clash 超标、长链 scTM 崩但只报短链
小分子对接分相对排序 + SA scoreValidity 高但不可合成、力场漏洞刷高对接
单细胞gene-gene 相关重叠 + TSTR稀有细胞类型被平均掉(隐蔽 mode collapse)
病理图下游分割提升 + 医生盲评染色一致性、患者隐私泄露

一个通用心法贯穿四份菜单:每类任务的红线都落在 L3/L4,而不是 L1。 换句话说,越靠近”真实用途”的指标越硬,越靠近”分布好看”的指标越只是入场券。下面逐类展开。

4.1 蛋白结构生成(RFdiffusion / Chroma / FrameDiff 系)

Section titled “4.1 蛋白结构生成(RFdiffusion / Chroma / FrameDiff 系)”
指标工具及格线
L1Ramachandran 违规率PyRosetta / MDAnalysis< 3%
L1键长键角分布numpy均值/方差在真实 ±5% 内
L2TM-score 分布 vs PDBTM-align视任务;报长度分层
L2fold 覆盖率Foldseek越广越好
L3scTM > 0.5 的比例ProteinMPNN → ESMFold/AF2 → TMalign> 50%(优秀 > 80%)
L4原子 clash rateMDTraj< 5%
L4二级结构比例合理DSSP与目标类似

红线:没有 self-consistency = 没有评估。长蛋白(> 200 aa)scTM 会掉,必须按长度分层报。这条流水线的完整拆解见第 8 章的 RFdiffusion 案例。

怎么读这份菜单:从下往上看权重最有效。L4 的 clash 是一票否决项——原子互穿的结构再”像”也不能用,先过这关。L3 的 scTM 比例是主结论,汇报时它就是那个”能不能折叠”的核心数字,且必须按长度分层:把 50 aa 的短肽和 300 aa 的长链混在一起报均值,是最常见的自欺,因为短链天然容易自洽,会把长链的失败稀释掉。L1/L2 的 Ramachandran、TM-score 是过程监控指标——训练中盯它们判断”模型有没有学到东西”,但绝不作为最终验收的主证据。一个实际的汇报节奏是:先亮 clash 通过率证明结构物理合理,再亮分长度段的 scTM 分布证明可折叠性,最后才补 L1 的几何统计作为佐证。反过来先堆一屏 Ramachandran 图、把 scTM 藏在附录,评审一眼就知道你在回避硬指标。

4.2 小分子生成(EDM / GeoLDM / MolDiff 系)

Section titled “4.2 小分子生成(EDM / GeoLDM / MolDiff 系)”
指标工具及格线
L1ValidityRDKit> 95%
L1Uniqueness / NoveltyRDKit> 90% / > 80%
L1FCD + MW/logP/QED 分布ChemNet / RDKit与真实接近
L2Bemis-Murcko 骨架多样性RDKit越丰富越好
L3对接分(相对排序)Vina / Gnina相对已知 ligand 提升
L4SA score < 5RDKit> 70% 分子达标
L4Lipinski ≤ 1 违规;PAINS/Brenk 通过RDKit> 90% / 高通过率

红线:只报 Validity 不报对接 + SA,等于”会生成合法字符串,可能全是废物”。对接绝对值不可信,只看相对排序。“相对排序”的正确做法是:把生成分子和一批已知活性配体放进同一套对接流程、同一个受体构象里跑,看生成分子的分数分布是否能挤进已知强结合物那一档——而不是拿你的 -9.5 kcal/mol 去和别人论文里的 -11 kcal/mol 硬比,两者的受体准备、打分函数、搜索精度都不一样,绝对值没有可比性。同理,SA score 是”能不能合成”的粗筛而非判决:SA < 5 只是把明显不可及的怪结构挡在门外,真正的合成路线还得化学家看。把对接当排序器、把 SA 当过滤器,才是这两个指标的正确用法。

4.3 单细胞 RNA-seq 生成(scDiffusion 系)

Section titled “4.3 单细胞 RNA-seq 生成(scDiffusion 系)”
指标工具及格线
L1Per-gene 均值/方差scanpyR² > 0.95
L1Dropout 率分布numpy与真实 ±10% 内
L2UMAP 真假重叠scanpy重叠但不完全重合
L2top-100 gene-gene 相关重叠scipy> 60%
L2Marker 在对应 type 的特异性scanpy保留 > 80%
L3TSTR 分类 AUCsklearn> 真实 AUC 的 90%
L3稀有类型扩增后 recall 提升sklearn稀有类 recall +5%
L4DE 通路合理性;批次是否被抹平领域专家 + GSEA主观 + 通路一致

红线:scRNA 的 L2 是命根子。L1 完美、gene-gene 相关塌了 = 生物学上一钱不值。务必查”是不是把稀有类型平均掉了”(隐蔽 mode collapse)。scRNA 生成唯一真正的刚需应用往往是稀有细胞类型扩增,否则直接用真实数据就够了。

TSTR 这条 L3 指标要读对:它的意义不是”合成数据能不能单独训出好分类器”(那几乎必然打不过真实数据),而是”合成数据补进真实训练集后,稀有类的 recall 能不能抬起来”。所以报告 TSTR 时一定要连着报真实-only 基线和”真实+合成”两条线,只给一个孤立的 AUC 数字说明不了任何问题。

4.4 医学 / 病理图像生成(Latent Diffusion 系)

Section titled “4.4 医学 / 病理图像生成(Latent Diffusion 系)”
指标工具及格线
L1path-FID(领域 encoder)CTransPath / PLIP / UNI同评估集上相对比较
L1Precision / Recall官方实现P > 0.7, R > 0.5 作参考
L2细胞核检测 F1;mask IoUHoverNet 等IoU > 0.8(条件生成)
L3augment 后分割 mIoU / F1 提升monai / mmseg+2~5%
L4医生盲评分辨准确率人工接近 50% = 优秀
L4染色一致性;membership inferencenumpy + 攻击脚本与真实同量级;低泄露

隐私红线:医学图像必须做 membership inference——生成物是否泄露训练集患者可辨识特征。染色不一致是最容易翻的车(模型学到了某台扫描仪的色调)。

4.5 怎么用这四张菜单:一次走查

Section titled “4.5 怎么用这四张菜单:一次走查”

菜单不是让你”全测一遍”,而是帮你按任务把有限精力花在红线上。拿到一个新课题,建议这样走:

  1. 对号入座:先判断你的任务落在四类里的哪一类(蛋白 / 分子 / scRNA / 医学图像)。如果都不像,回到 §6 先确认扩散是不是对的工具。
  2. 锁定红线:每张菜单加粗的那一两行就是红线——蛋白是 scTM、分子是对接 + SA、scRNA 是 gene-gene 相关 + TSTR、图像是下游提升 + 医生盲评。红线没测,其余分数一律不采信。
  3. 先低层后高层:L1 快而便宜,先跑(几分钟出 Validity / FID),不过关直接止损;L1 过了再排 L2 结构、L3 下游,最后才动用最贵的 L4(专家时间、湿实验)。
  4. 按权重分配算力:回看 §3.6 权重表。scRNA 花大力气盯 L2,蛋白 / 分子把预算压在 L3/L4,别在低权重层过度投入。

举个走查例子:你做”口袋条件下的小分子生成”。第 1 步归入分子类;第 2 步锁定红线是对接相对排序 + SA < 5;第 3 步先用 RDKit 半分钟算 Validity(若 < 95% 直接回去查训练),过了再跑对接和 SA;第 4 步因为分子任务 L1 权重低,不必纠结 FCD 的绝对值,把时间留给对接流水线和药化学家过目。这套走查能让你在半天内判断一个模型”值不值得继续投入”,而不是训练两周才发现方向错了。


5. 评估陷阱(比模型本身更危险)

Section titled “5. 评估陷阱(比模型本身更危险)”

评估做错,比模型训坏更危险——因为你会自信地发布错误结论

现象:摘要只写 “FID = 8.2, SOTA”,正文没有下游、没有专家、没有多样性拆解。

为什么危险:FID 依赖特征网络(ImageNet 上的 Inception 和病理、分子的特征空间根本不是一回事),样本量不足时数值抖动极大,还能被”过拟合评估集分布”刷低,同时下游全崩。你以为在比较”生成质量”,实际比的是”谁更会讨好 Inception”。

怎么防:图像生物任务优先 path-FID / 领域 encoder;永远附带 Precision-Recall(拆开”像”和”全”);同脚本同评估集做相对比较,禁止跨论文比绝对值;FID 只能当 L1 入场券,主表必须有 L3。一个可操作的红线是:任何以 FID 为唯一主结论的汇报,都要求补一张 L3 下游表再下结论——这条纪律能挡掉绝大多数”好看但没用”的自欺。

5.2 陷阱二:过拟合指标(Metric Overfitting)

Section titled “5.2 陷阱二:过拟合指标(Metric Overfitting)”

现象:团队每周只盯一个数字(FID 或 Validity),模型把这个数字做到极致,其他维度悄悄烂掉。

被刷爆的指标常见副作用
FID 极低Novelty 塌、mode collapse
Validity 100%全是训练集邻近合法分子,对接废
UMAP “完美重叠”记忆训练集,稀有类消失
对接分极高力场漏洞 / 不可合成骨架

心法:单一指标被优化太狠,就立刻怀疑其他维度。评估菜单要成组看,不要单点冲刺。

5.3 陷阱三:Cherry-picking(掐尖展示)

Section titled “5.3 陷阱三:Cherry-picking(掐尖展示)”

现象:只展示最好看的 8 张生成图;只报告最好的随机种子;测试集偷偷混进了和训练同分布的”简单子集”;蛋白只报短链 scTM,藏起长链失败。

怎么防:固定随机种子协议,主结果 = 多种子均值 ± 标准差;分层报告(按长度 / 细胞类型频率 / 疾病亚型);设失败案例专节,至少展示 3 个失败模式(比全是美图更有说服力)。

5.4 陷阱四:数据泄漏与”假下游提升”

Section titled “5.4 陷阱四:数据泄漏与”假下游提升””

现象:生成模型的训练集和下游测试集有重叠 / 近重复;条件标签在训练时见过测试条件的”答案形态”;增强数据里混入了测试分布的风格(扫描仪、批次)。

怎么防:生成训练集、评估集、下游测试集三分离;分子/蛋白做 scaffold / sequence identity 去泄漏;医学图像按患者 ID / 中心划分,绝不按 patch 随机切。

5.5 陷阱五:把 RL 的评估习惯原样搬过来

Section titled “5.5 陷阱五:把 RL 的评估习惯原样搬过来”

学过强化学习的同学特别容易犯:

错误搬迁正确做法
只看一条”reward 曲线式”的 loss 下降扩散 loss 下降 ≠ 生成变好,要看分布 + 下游
用”在线策略回报”思维要求唯一最优样本扩散默认产出候选分布,应用价值常在多样候选池
用 KL 惩罚思维强行对齐一个标量目标那是 RL / DPO 的活;扩散若硬优化单标量,先问是否该换 RL

扩散评估 = 分布质量 + 可用性;RL 评估 = 回报与约束。别用同一张成绩单。


扩散很强,但不是万金油。硬上扩散的典型结局:训练两周,不如一个梯度提升树 / 一个 AlphaFold2 调用。

该不该用扩散的决策树

这棵树的顺序不是随意排的,它按排除成本从低到高组织:越靠前的问题越便宜、越能一票否决。第一问”要不要多样候选池”几乎不花成本就能想清楚,却能挡掉一大半误用——很多人一看到”生成”两个字就想上扩散,其实手里的任务是”给我那个最好的答案”,那是判别或优化问题,不是生成问题。第二问”数据够不够”是第二道闸:扩散是数据饥饿的分布学习者,几十条序列、几百个细胞喂不出一个像样的分布,这时候再华丽的架构也只是过拟合。第三问把扩散和强化学习分开:如果你的目标能写成”最大化某个标量奖励”,那更像 RL / 贝叶斯优化的活;扩散拟合的是”数据长什么样”,不是”怎么拿到更高分”。只有前三问都指向”要候选、有数据、拟合分布”,才轮到第四问——样本是不是高维、结构化、难用简单密度描述。如果你的数据用一个高斯或一个 VAE 就能刻画,那也没必要请扩散这尊大佛。

怎么用这棵树:从上往下走,任何一问掉到”否”的分支,就停下来认真看看那条替代路线,而不是硬把问题掰成扩散的形状。掰问题去迁就工具,是新手最常见、也最贵的错误。

6.2 不该用 / 慎用清单(生物向)

Section titled “6.2 不该用 / 慎用清单(生物向)”
场景为什么扩散不合适更合适的替代
只要一个最优序列/结构扩散给的是分布采样,优化效率常不如专用优化器直接优化、RL、进化算法
标签预测(亲和分类、细胞类型分类)这是判别任务监督学习、预训练 + 探针
数据极少(几十条序列 / 几百细胞)分布学习饥饿few-shot、模板匹配、力场、迁移学习
已有极强专用工具重复造轮子结构预测直接用 AF/ESMFold;对接用 Vina
需要严格物理守恒纯数据生成不保证物理物理信息网络、分子动力学、力场 + 小修正
可解释性 / 监管硬要求黑盒生成难过审可解释特征模型、规则专家系统 + 人审
目标为最大化奖励且可在线试与 RL 更同构RL / 离线 RL / 贝叶斯优化

6.3 三个对照故事(建立肌肉记忆)

Section titled “6.3 三个对照故事(建立肌肉记忆)”
  1. “生成能结合靶点的分子”:只要 Top-1 分数,虚拟筛选 + 对接 + 化学过滤可能更直接;要新颖骨架的候选池再送湿实验,扩散 / FM 才有价值。
  2. “补全稀有细胞表达”:若只是分类器缺样本,SMOTE / 简单插值有时够用;若要保留高维联合分布与 marker 结构,再上单细胞扩散,并死守 L2。
  3. “设计 binder 骨架”:这是扩散(RFdiffusion 系)的主场之一,但最终序列与湿实验仍要 MPNN + 折叠自洽 + 实验,扩散不是终点。
  4. “预测某突变的 ΔΔG”:这是彻头彻尾的回归任务,输出是一个标量。硬套扩散既没有”多样候选”的需求,也没有”高维结构化样本”可生成,是典型的南辕北辙。用监督回归 / 预训练蛋白语言模型 + 探针,几个小时就能拿到比训两周扩散更好的结果。

这四个故事的共同规律是:先看你要的是”一个数 / 一个最优解”还是”一池合理候选”。前者几乎永远不该从扩散起步;后者且样本高维结构化时,扩散才真正进入候选。


7. Go / No-Go 决策表(开题与选型用)

Section titled “7. Go / No-Go 决策表(开题与选型用)”

把下面当作一页纸模板。开题、换模型、审稿自查都可以直接填。

#检查项Go 信号No-Go 信号
1任务类型需要多样高维样本纯预测 / 只要 Top-1 标量
2数据量与质量足够支撑分布;标签/条件可靠n 极小;批次混乱不可校正
3成功定义写得清 L1–L4 指标与及格线只有”看起来像”
4基线已有简单基线(检索/AF/对接/监督)无基线就直接上扩散
5算力与延迟预算可承受,或可接受 LDM/LCM预算只够训一个小 MLP
6评估可行性能做下游 + 至少一种硬约束/专家完全无法评 L3/L4
7风险隐私/毒性/双用途已有对策医学可识别风险无方案
8替代路线已用四维度表比较 FM/CM/DiT/LDM盲追开源明星名字

经验规则:2 个以上 No-Go,先别训扩散,回去补问题定义或基线;全 Go 但仍犹豫,先用默认采样栈做最小可行实验,用 L3 说话。

你的瓶颈优先尝试别先做什么
分辨率/显存LDM像素空间巨型 U-Net
采样太慢DPM++ / FM / LCM一上来改全部数据与骨干
要 scale 大数据DiT + 强预训练小数据从零训 DiT
条件不听指挥查 CFG、条件 dropout、数据对齐先换 FM 碰运气
L1 好 L3 差查分布偏移、增强比例、泄漏继续只刷 FID
像但不可合成/不可折叠加 L4 硬过滤进训练或后处理加大模型装瞎

7.3 最小可行实验(1–2 周)协议

Section titled “7.3 最小可行实验(1–2 周)协议”
  1. 冻结评估脚本(L1 子集 + 一个 L3 主指标)。
  2. 一个强非扩散基线
  3. 一个最简扩散 / LDM 基线(用第 6 章默认采样栈)。
  4. 多种子 × 分层报告
  5. 只有 L3 有正向信号,才进入 FM / LCM / DiT 等替换实验。

  • 能画出 L1 → L4 四层框架图,说清每层回答什么问题
  • 能说出每层各 2–3 个指标 + 及格线
  • 知道 L2 = 联合关系 = 生物学精髓,只看 L1 会翻车
  • 理解 L3 必须和真实-only baseline 比
  • 明白 L4 = 主观盲评 + 客观硬约束,二者不可互相替代
  • 能说出四类任务的最硬指标:蛋白 = scTM、分子 = 对接 + SA、scRNA = gene-gene + TSTR、图像 = 下游 + 医生盲评
  • 能点名至少 4 种评估陷阱及防御法
  • 能独立填完整张 Go/No-Go 表,并有”先基线后扩散”的纪律

Q1. 有一篇论文只报了 FID = 8.2,声称击败所有基线。作为审稿人,你会追问哪三件事?

参考要点

至少追问:(1) 有没有下游任务(L3)证据,能不能提升真实测试集性能;(2) 有没有 Precision-Recall 拆解”像”和”全”,会不会是 mode collapse 刷低了 FID;(3) 用的什么特征抽取器,生物图像用 ImageNet Inception 是否合适,样本量够不够(≥ 10K)。

Q2. 蛋白结构生成的 self-consistency 属于 L2 还是 L3?

参考要点

它跨 L2/L3。几何自洽本身偏 L2(结构层);而 scTM 作为”这个序列能否折回该结构”的硬证据更偏 L3。社区常把它当必报金标准,不必死抠归层——关键是没有它就等于没评估。

Q3. 你的 scRNA 生成模型验证集 loss 单调下降到很低。能不能因此说”模型收敛了、可以交付”?

参考要点

不能。val loss 下降只说明更贴合训练分布(等于用训练目标当验收),不说明能用。scRNA 必须查 L2:UMAP 真假重叠、top-100 gene-gene 相关是否 > 60%、稀有类型有没有被平均掉。gene-gene 相关塌了,loss 再低也一钱不值。

Q4. 课题是”提出 100 个可合成的新颖主骨架供化学家挑选”。扩散是好起点吗?

参考要点

是。这正是”要多样候选池而非唯一答案”的典型场景,符合 Go 信号。但要配齐 L4 硬约束(SA < 5、PAINS/Brenk 过滤)保证”可合成”,配齐 Novelty 指标保证”新颖”,否则容易生成一堆合法但不可合成、或只是训练集近邻的废物。


  • 第 1 章 生成直觉:本章把第 1 章的 Go/No-Go 雏形升级为四层评估框架 + 完整决策表。
  • 第 5 章 五大机制族:本章 §7.2 选型速查里提到的 FM / LCM / DiT / LDM,机制细节在第 5 章。
  • 第 6 章 训练与采样旋钮:本章”最小可行实验”用的默认采样栈来自第 6 章;L1 好 L3 差时的排查也要回到第 6 章的旋钮。
  • 第 8 章 生物读者轨道:本章各任务评估菜单的完整案例(尤其 RFdiffusion 三段式)在第 8 章展开。

文献 / 资源为什么看阅读深度建议
Heusel et al., FID, 2017理解分布距离指标的原始定义看懂在比什么即可
Watson et al., RFdiffusion, 2023蛋白生成 + self-consistency 评估的范本重点看评估与验证部分
Preuer et al., FCD, 2018分子生成的领域专用分布指标了解为何要换特征网络
生成模型 Precision-Recall 相关工作拆解”保真”与”覆盖”两个维度概念理解

说明:本章聚焦评估方法论与选型逻辑;具体指标的完整推导与工具用法,按需查阅原始文献与工具文档。