知识梳理
阶段一|问题翻译:对象、观测与输出
说清楚模型究竟要解决什么问题
-
研究对象:现实是什么(样本、特征、节点、观测对象)
- 细胞和spot
- 聚类或空间识别的观测单位
- 基因
- 组学聚类中的特征(例:空间转录组 spot x 基因)
- 关联预测中的实体(例:基因与疾病的关联)
- 药物、靶点和疾病
- 关联预测中的实体或样本
- 细胞和spot
-
观测:仪器测量结果或者数据库记录
- 单位:对谁记录
- 保留与遗漏:不同的数据观测层,其蕴含的信息不同,能够得到的结论也不同
- 数据模态:序列、空间关系、网络关系。这三种不同的观测方式决定了其不同的隐藏信息,也注定了它能够得到什么样的输出,
-
输出:预测单位最终对应的簇编号、类别、连续数值或排序分数
| 研究对象 | 采用的观测 | 模型因此获得的信息 | 基于该观测可得到的典型结果 | 仍然遗漏或不能直接证明的内容 |
|---|---|---|---|---|
| 细胞 | 单细胞基因表达计数 | 每个细胞中被检测到的转录活动 | 细胞簇、候选细胞状态、候选细胞类型 | 蛋白水平、完整调控机制;表达为0不一定代表生物学上不存在 |
| 空间spot | 基因表达+空间坐标 | 局部表达状态、组织位置和邻域关系 | 空间域、组织边界候选、空间表达模式 | spot内部的细胞混合、精确细胞身份、直接功能机制 |
| 蛋白质 | 氨基酸序列 | 残基种类、排列顺序和序列模式 | 蛋白家族或功能候选、结构或相互作用预测 | 实际三维构象、细胞环境和直接实验相互作用 |
| 药物 | SMILES或分子图 | 原子、化学键和二维拓扑结构 | 分子性质预测、药物—靶点作用分数、候选药物排序 | 实际三维构象、剂量、药代、毒性和真实疗效 |
| 蛋白质 | PPI网络中的节点及邻居 | 已记录的蛋白关系和网络位置 | 功能模块、候选互作蛋白、网络角色 | 网络边不一定代表直接物理结合,也不能单独证明作用机制 |
| 药物、靶点或疾病 | 关联矩阵或关系图 | 已记录关系、未记录关系和网络结构 | 候选关联分数、链接预测结果、候选优先级排序 | 数据库空白不等于真负例;高分不等于因果、疗效或机制成立 |
-
任务接口
- 聚类
- 输出:给每个输出单位分配一个簇
- 例子:给每个细胞分配一个簇
- 分类
- 输出:类别或类别概率
- 例子:判断疾病-基因是否有关系
- 回归
- 输出:连续数值
- 例子:预测蛋白质与药物的亲和度
- 排序
- 输出:候选对象优先级排序
- 例子:针对某种疾病,为候选药物排序
- 链接预测
- 输出:两个实体之间是否可能存在未知关系
- 例子:预测药物—疾病网络中缺失的候选边
- 聚类
-
任务合同
- 研究问题: 想回答什么问题
- 预测单位: 对谁作出一次判断
- 输入: 模型能够看到什么
- 目标: 模型应当学会什么
- 输出: 最终交付什么形式的结果
- 泛化对象与切分: 希望模型适用于哪种新数据
- 损失函数: 训练时怎样判断模型错了多少
- 评价指标: 实验时用什么量尺判断结果好坏
- baseline: 最简单的比较对象
- 不能声称(证据边界): 当前结果不能直接支持什么结论
阶段二|模态选择:模型究竟看见什么
判断一种数据表示让模型看见了什么
1. 数据模态:现实对象被观测到的某个侧面
数据模态是大分类。每一种模态下面再看具体观测,并回答:模型看到了什么、通常能得到什么结果、这些结果不能证明什么。
1.1 表达模态
| 具体观测 | 模型实际看到什么 | 基于该观测可得到的典型结果 | 仍然遗漏或不能直接证明什么 |
|---|---|---|---|
| 单细胞基因表达矩阵 | 每一行代表一个细胞,每一列代表一个基因;数值表示该细胞中被检测到的基因表达计数 | 根据表达相似性给细胞分簇;把细胞投影到二维空间观察群体结构;寻找不同细胞群之间的差异表达基因;结合marker为细胞簇提出候选类型或状态 | 表达为0不一定代表该基因没有表达,也可能是低灵敏度造成的漏检;一个计算簇不天然等于一种真实细胞类型;RNA表达差异不能直接证明蛋白活性或调控机制 |
| 空间spot表达矩阵 | 每一行代表组织切片上的一个spot,每一列代表一个基因;数值表示该位置测得的混合表达 | 按表达相似性对spot分组;寻找在组织中呈空间变化的基因;与坐标联合后识别候选空间域和组织边界 | 一个spot可能同时包含多种细胞;表达相似不等于组织功能相同;空间域是计算划分,不是仪器直接给出的真实标签 |
1.2 序列模态
| 具体观测 | 模型实际看到什么 | 基于该观测可得到的典型结果 | 仍然遗漏或不能直接证明什么 |
|---|---|---|---|
| 蛋白质氨基酸序列 | 一个由氨基酸字符组成的有序序列;模型可以学习某个氨基酸与其前后氨基酸的上下文关系 | 得到每个残基或整个蛋白质的序列表示;根据序列模式提出蛋白质家族、功能或结构方面的候选判断;把序列表示交给后续分类、结构或相互作用预测任务 | 序列表示不是实验测得的三维结构;模型注意到的序列位置不一定是物理接触位点;功能或结构候选仍需独立数据或实验验证;序列本身没有完整记录特定细胞环境和动态构象 |
1.3 结构模态
| 具体观测 | 模型实际看到什么 | 基于该观测可得到的典型结果 | 仍然遗漏或不能直接证明什么 |
|---|---|---|---|
| 小分子二维化学结构 | 分子包含哪些原子、原子之间通过什么化学键连接;之后可转换成SMILES、分子指纹或原子—键图 | 预测分子的分类标签或连续性质;比较候选分子的局部子结构;把分子表示用于药物—靶点任务;筛选值得继续研究的候选分子 | 二维连接关系没有完整记录真实三维构象;不同表示会压缩或遗漏不同信息;性质分数或作用分数不能直接说明分子在体内安全、有效或具有临床疗效 |
| 小分子或蛋白—配体的三维特征 | 原子的三维坐标、原子间距离,或蛋白质与配体在空间中的相对位置 | 表示分子的空间几何;比较可能的空间互补关系;预测分子性质或蛋白—配体作用分数;为候选结合方式提供计算线索 | 单个三维构象不能代表分子的全部动态状态;输入构象可能来自计算而非实验;空间匹配或高分不能直接证明真实结合,更不能直接证明治疗效果 |
| 蛋白质三维结构 | 残基或原子的三维坐标,以及序列中相距较远的残基在折叠后是否空间接近 | 给出候选蛋白质折叠结构;分析残基之间的空间关系;辅助寻找可能的结构区域、结合位置或突变影响区域 | 预测结构不等于实验测定结构;静态结构不能完整表示构象变化、动力学和细胞环境;两个位置空间接近不自动证明其功能关系或作用机制 |
1.4 空间模态
| 具体观测 | 模型实际看到什么 | 基于该观测可得到的典型结果 | 仍然遗漏或不能直接证明什么 |
|---|---|---|---|
| spot空间坐标 | 每个spot在组织切片中的位置,以及spot之间的距离 | 根据物理距离建立空间邻域;结合表达识别候选空间域;发现可能的组织边界;比较相邻区域的表达模式 | 坐标本身不是空间域标签;两个spot接近不代表它们具有相同功能或发生直接作用;二维切片也没有完整记录三维组织结构 |
| 由坐标构建的空间邻域图 | 哪些spot被建图规则定义为邻居,以及邻居之间的距离或权重 | 让图模型在相邻spot之间整合表达信息;进行空间聚类或节点分类;利用局部上下文减少部分噪声 | 图中的边是根据距离和参数构造出来的,不是直接测得的生物关系;建边范围过大可能跨越真实边界;过度平滑可能抹去小区域或稀有模式 |
1.5 关系模态
| 具体观测 | 模型实际看到什么 | 基于该观测可得到的典型结果 | 仍然遗漏或不能直接证明什么 |
|---|---|---|---|
| 蛋白质—蛋白质相互作用网络 | 蛋白质是节点,数据库中已经记录的蛋白质关系是边;模型还能看到每个蛋白质的网络邻居 | 学习蛋白质的网络表示;发现连接模式相近的蛋白质或候选模块;辅助预测蛋白质功能;为尚未记录的蛋白质关系给出候选分数 | 数据库中的边可能来自不同实验条件;有边不一定代表直接物理结合或因果调控;没有边也不代表真实关系一定不存在 |
| 药物—蛋白质—药物异构关系图 | 药物和蛋白质是不同类型的节点;蛋白质互作、药物靶向和药物—药物副作用是不同类型的边 | 学习多类实体的网络表示;预测两个药物之间某类副作用边出现的可能性;为候选关系排序 | 这一任务的结果首先是候选关系分数;不能直接推广为所有药物—疾病任务;预测副作用或关系不等于已经得到临床验证 |
| 药物—靶点记录及亲和力数值 | 模型看到药物表示、靶点表示,以及已测得的连续结合亲和力 | 预测一个药物—靶点组合的亲和力数值;根据预测值对候选组合排序;为后续实验筛选组合 | 亲和力预测高不等于体内一定有效;数据库中未记录的组合不等于确定不结合;现有课程材料不足以支持某种模型或编码方式普遍更好 |
| 疾病差异表达与PPI网络的组合 | 疾病相关的表达变化,以及基因或蛋白质在PPI网络中的位置 | 对可能与疾病有关的治疗靶点进行优先级排序;得到一组值得进一步验证的候选基因或蛋白质 | 排名靠前不等于该靶点导致疾病;不能直接证明作用机制;也不能说明针对它的药物一定安全或有效 |
1.6 图像模态
| 具体观测 | 模型实际看到什么 | 基于该观测可得到的典型结果 | 仍然遗漏或不能直接证明什么 |
|---|---|---|---|
| 与空间转录组坐标对齐的组织学图像 | 每个spot附近的组织颜色、纹理和形态信息,并可与该位置的表达和坐标联合 | 辅助识别候选空间域;寻找空间变异基因;比较形态区域与表达区域是否一致 | 并非所有空间数据集都有可用图像;图像边界不等于分子表达边界;配准误差会让图像位置和表达位置错配;加入图像后得到更好结果也不等于发现了生物机制 |
1.7 多组学组合
多组学不是单独的一种测量技术,而是把同一组样本或细胞的多个分子层作为不同视角共同分析。
| 具体观测 | 模型实际看到什么 | 基于该观测可得到的典型结果 | 仍然遗漏或不能直接证明什么 |
|---|---|---|---|
| 同一批样本或细胞的多个组学视图 | 同一对象对应的RNA表达、DNA甲基化、染色质可及性等多张数据表,以及样本、特征、模态和批次身份 | 学习多个模态共享或各自特有的潜在因子;发现哪些变化主要来自哪个模态;比较不同样本或细胞的多层分子差异 | 模态更多不代表结论必然更可靠;特征数量、噪声和样本不平衡可能让某一模态占主导;某些样本缺少模态时不能简单把缺失值当成0 |
2. 模型表示:把观测信息转换成模型可处理的形式
| 模型表示 | 基本形式 | 主要保留的信息 | 主要风险 |
|---|---|---|---|
| 特征向量 | 每个对象对应一组数值 | 对象自身属性 | 对象间关系可能丢失 |
| 表达矩阵 | 样本 × 基因 | 样本之间的表达差异 | 高维、稀疏、批次效应 |
| 序列 | 有顺序的符号 | 元素排列和局部模式 | 不直接包含三维结构 |
| 分子图 | 原子作为节点、化学键作为边 | 分子局部结构和拓扑 | 建图规则不等于真实动态构象 |
| 邻域图 | 样本作为节点、相似或相邻关系作为边 | 对象间局部关系 | 构图错误会限制后续模型 |
| 关联矩阵 | 两类实体组成行列 | 已知与未记录关系的分布 | 空白格含义不确定 |
| 异构图 | 多种节点和多种边 | 多类型实体与关系 | 复杂度、泄漏和关系来源问题 |
3. 数据容器:保存表示的工程结构
| 数据容器 | 保存内容 | 主要用途或边界 |
|---|---|---|
| 稀疏矩阵 | 非零元素及其位置 | 适合大量零值的组学矩阵;只是存储方式 |
| AnnData | 表达矩阵、细胞信息、基因信息、降维结果和邻域图 | 组织单细胞或空间数据;本身不增加生物信息 |
| 邻接矩阵 | 节点之间是否连接及边权重 | 适合矩阵运算;大型稀疏图可能占用较多空间 |
| 边列表 | 起点、终点、边类型或边权重 | 便于保存和构建图;需另外保存节点特征 |
阶段三|输入审计:处理改变了什么
控制组学数据中的噪声与技术偏差
- 原始计数保护
- 质量控制:删除明显缺乏可靠测量基础的行或列
- 细胞QC
- 删除疑似空液滴、低质量细胞、濒死细胞或可能的双细胞
- 阈值过严会删除稀有细胞或真实低RNA细胞;线粒体比例高也可能具有生物学原因
- spot QC
- 删除组织外spot或测量质量明显异常的spot
- spot通常包含多个细胞,不能完全照搬单细胞QC标准
- 基因QC
- 删除几乎没有观测信息的基因,减少噪声和计算量
- 低频基因可能是稀有细胞群的重要marker,不能只因表达少就认定无意义
- 细胞QC
- 归一化:按每个细胞或spot的总计数进行缩放,使不同观测单位处于较可比的数值尺度
- 对数变换
log(1+x):压缩表达值的动态范围,防止少数极大值主导分析 - 高变基因:挑出对样本差异贡献较大的基因
- dropout与稀疏性:不否认「技术性零」
- 批次效应:避免模型学到数据批次的差异,而非生物性差异
- 批次整合:使得同类细胞跨批次相互接近
- 过度校正:使得不同细胞类型也无法区分
守住训练集与测试集的数据边界
- split-first:划分训练集、验证集和测试集
- 在训练集拟合处理规则 → 用固定规则处理验证集和测试集
- fit与transform
- fit负责从训练数据中学习规则
- transform负责把固定规则应用到新数据。
- 训练集拟合
- 测试集隔离
- 数据谱系:记录每个模型输入从哪里来、经历了什么,以及处理规则是从哪些数据中学出来的
- 原始数据版本
- 中间状态
- 参数记录
- checkpoint
| 记录内容 | 应该填写什么 | 作用 |
|---|---|---|
| 原始数据版本 | 数据来源、文件版本、样本 ID、下载或生成时间 | 确认最初使用的是哪批数据 |
| 中间状态 | QC 后、归一化后、HVG 后、PCA 后等处理产物 | 定位问题从哪一步开始出现 |
| 参数记录 | QC 阈值、归一化规则、HVG 数量、PCA 维数、随机种子 | 复现同一次处理 |
| fit 范围 | 哪些样本参与了均值、HVG、PCA 或整合模型的拟合 | 检查测试集是否泄漏 |
| checkpoint | 在关键处理步骤保存的数据文件和模型状态 | 出错后可以从中间恢复和比较 |
| 输出说明 | 输出矩阵的行列、数值语义和对应对象 | 防止把原始计数、归一化表达和嵌入混为一谈 |
控制关联预测数据中的虚假捷径
- 分子标准化
- scaffold控制
- 序列同源控制
- 已知关联与未知关联
- 负样本构造
- 目标边遮蔽
阶段四|结构表达:相似、邻域与信息流
把“像不像”和“谁与谁有关”变成可计算结构
- 样本与特征:样本是比较或预测的对象,特征是模型用来描述该对象的信息。
- 距离与相似度
- 距离衡量的是两个对象在当前表示中是否接近,不是它们在所有生物学意义上是否相似
- 距离和相似度把“像不像”转成一个数值,但这个数值的含义取决于使用了什么特征和什么计算方法
- PCA
- 较少的新坐标概括原始特征中的主要变化
- 降维、可视化、计算距离、建立邻域图
- 邻域图:把“哪些样本彼此接近”写成一张图
- k近邻
- 表达邻域
- 连接的是基因表达或PCA相似的对象,即使它们在组织中的实际位置相距很远
- 空间邻域
- 表达邻域描述状态相似性,空间邻域描述物理邻近性
- 邻接矩阵
- 图构建
- 节点定义:图中的一个点代表谁
- 边定义:什么条件下,两个节点可以直接交换信息
- 边权重:两个已连接节点之间的关系有多强
| 研究场景 | 节点代表什么 | 什么情况下连边 | 边来自哪里 | 边权可以表示什么 | 主要边界或风险 |
|---|---|---|---|---|---|
| 单细胞表达邻域图 | 一个细胞 | 两个细胞的表达或 PCA 表示足够接近 | k 近邻或距离阈值构图 | 表达相似度、距离转换值或统一权重 | 边只表示表达相似,不表示空间相邻或细胞间发生作用;k 值会改变邻域结构 |
| 空间转录组邻域图 | 一个 spot 或空间细胞 | 两个节点在组织坐标中足够接近 | 空间坐标、距离阈值或空间 k 近邻 | 物理距离、距离转换值或统一权重 | 空间邻近不等于表达相似或发生细胞通讯;建边范围过大可能跨越真实组织边界 |
| 蛋白质相互作用图 | 一个蛋白质 | 数据库或实验记录了两个蛋白质之间的关系 | PPI 数据库、实验或文献记录 | 实验置信度、数据库证据分数或统一权重 | 有边不一定代表直接物理结合或因果调控;无边也不代表关系不存在 |
| 药物—靶点图 | 一个药物或一个靶点 | 已记录某个药物作用于某个靶点 | 实验测量或关联数据库 | 结合亲和力、证据分数或统一权重 | 数据库空白不等于真负例;关联强度不等于药物在体内安全有效 |
| 药物—蛋白质异构图 | 药物、蛋白质等不同类型实体 | 实体之间存在靶向、互作、副作用等关系 | 多个实验或生物医学数据库 | 关系置信度、实验值或关系类型对应的权重 | 不同关系不能当作同一种边;数据来源和关系语义不一致可能误导模型 |
| 小分子图 | 一个原子 | 两个原子之间存在化学键 | 已知二维化学结构 | 化学键类型,如单键、双键、芳香键 | 二维化学键图不天然包含可靠的三维构象和分子动力学 |
| 基因调控图 | 一个基因或调控因子 | 已记录或预测存在调控关系 | 实验、数据库或计算推断 | 调控强度、置信度、激活或抑制类型 | 预测边不是实验事实;不同细胞和条件下,调控关系可能不同 |
- 消息传递:让每个节点根据图中已有的邻居更新自己的表示
- GCN与GAT
- GCN:邻居按照较固定的规则共同参与
- GAT:模型尝试判断哪些邻居对当前节点更重要
- 过度平滑
- 节点反复混合邻居信息后变得过于相似,导致真实群体和边界被抹去
为关联预测表示不同类型的实体
药物、蛋白质和疾病分别可以用什么信息表示?
- 实体表示:模型用哪些信息描述一个药物、蛋白质或疾病? (强调如何形成关系预测所需的实体表示)
| 物 | SMILES、分子图、三维结构、已知关系 | 序列编码器、分子图编码器或关系 embedding | 形成药物向量,与蛋白质或疾病表示配对 | 有自身结构的新药可以编码;只有 ID 表示的新药缺少历史坐标 |
| 蛋白质或靶点 | 氨基酸序列、三维结构、PPI 邻居 | 序列编码器、结构编码器或图消息传递 | 形成蛋白质向量,与药物表示配对 | 有序列的新蛋白可以编码,但不代表对低同源蛋白预测可靠 |
| 疾病 | 差异表达、相关基因、已知药物或靶点关系 | 特征编码器、关系 embedding 或异构图传播 | 形成疾病上下文,用于候选药物或靶点排序 | 新疾病若缺少分子特征和关系记录,表示可能不稳定 |
| miRNA | 序列、靶基因和已知疾病关系 | 序列编码器或关系 embedding | 与疾病表示配对,预测关联或关系类型 | 未记录关联不等于负例,数据库覆盖度会影响表示 |
- 关系解码:编码器负责形成实体表示,解码器负责把两个实体表示转换成当前任务需要的关系分数?
| 解码方式 | 具体动作 | 能表达什么 | 主要边界 |
|---|---|---|---|
| 内积 | 两个向量逐维相乘后求和 | 两个表示在相同维度上是否相配 | 交互形式较简单;分数不天然是概率 |
| 双线性解码 | 在两个向量之间加入可学习矩阵W |
药物的不同维度可以与蛋白质的不同维度发生组合 | 参数更多,也更可能过拟合 |
| 拼接+MLP | 将两个向量连接后交给全连接网络 | 学习较灵活的非线性配对模式 | 必须与简单内积比较,确认复杂解码器是否真有增量 |
| 片段交互图 | 让每个药物片段与每个蛋白片段分别计算匹配 | 保留更细粒度的片段—片段交互线索 | 高分位置不是实验结合位点或真实接触图 |
- 异构图表示
- 多模态表示
阶段五|聚类主线:从分组假设到候选结构
根据结构假设选择聚类方法
- 无监督聚类
- 划分聚类:寻找若干中心,再按到中心的距离切分。
- K-means
- 层次聚类
- 密度聚类
- 谱聚类:谱聚类先依据图生成一套新坐标,再在新坐标上分组
- 图社区发现:不先重排坐标,直接调整每个点的社区标签
- Leiden
- resolution
- 空间聚类
- 表达—空间融合
- 空间域识别
| 聚类家族 | 它假设簇具有怎样的结构 | 主要输入 | 直接得到什么 | 比较适合什么情况 | 典型失败或风险 |
|---|---|---|---|---|---|
| 划分聚类 | 样本可以围绕若干中心形成相对紧凑的群体 | 样本特征或低维坐标 | 每个样本所属的簇及各簇中心 | 簇较紧凑、规模相近、可用距离表示的数据 | 需要预先指定簇数;不规则形状和离群点可能被错误分配 |
| 层次聚类 | 样本之间存在由近到远、由小群到大群的嵌套关系 | 距离或相似度矩阵 | 一棵表示合并或拆分过程的树状图 | 希望观察多个分组尺度,或样本数量不是特别大 | 距离和连接规则会显著改变树;早期错误合并通常难以撤销 |
| 密度聚类 | 一个簇是样本分布较密集的区域,簇之间由低密度区域隔开 | 特征空间中的距离或邻域 | 密集区域形成的簇,以及可能的噪声点 | 簇形状不规则、存在离群点、不想强迫所有样本归类 | 不同群体密度差异较大时难以统一设定参数;高维距离可能不可靠 |
| 谱聚类 | 重要结构存在于样本相似图中,而不一定能由原始空间中的中心描述 | 相似度矩阵或图 | 在谱表示中得到的样本分组 | 弯曲、环形或其他非凸结构;图结构比中心结构更重要 | 相似图构建错误会直接影响结果;计算成本可能较高 |
| 图社区发现 | 一个簇是图中内部连接较密、与外部连接较少的节点社区 | 邻域图 | 每个节点的社区编号 | 单细胞邻域图、空间图、生物网络 | 结果依赖图的边、邻居数和resolution;错误建边会产生错误社区 |
| 空间聚类 | 空间域通常同时具有表达相似性和位置连续性 | 表达数据、空间坐标及其邻域图 | spot或细胞的候选空间域 | 空间转录组的区域识别和组织结构探索 | 空间约束过强会抹掉真实表达差异;邻近不等于同一组织域 |
把聚类结果从“编号”校准为候选结构
- 聚类尺度:当前分组是否依赖某个特定的聚类粗细
- 过度分群:一个原本相近的群体是否被切成多个小簇
- 欠分群:一个簇中是否混入了多个不同群体
- 聚类稳定性
- 随机种子:结果是否依赖算法的随机起点
- 参数扰动:参数稍微变化后,候选结构是否仍然存在
- 重采样:输入样本发生小幅变化时,分组是否仍然出现
- 成员共聚:原来同组的对象在多次分析中是否仍然共同出现
- 离散簇与连续状态:数据中是否真的存在清晰边界,还是从状态 A 到状态 B 平滑过渡
- marker基因:当前簇相对其他簇有哪些突出表达特征
- 候选细胞身份:当前分组最接近哪一种已知细胞群或状态
- 空间上下文:候选群位于什么组织区域,与哪些对象相邻,是否形成连续空间区域
- 独立数据复现:相似结构是否能在未参与聚类和参数选择的数据中再次观察到
阶段六|关联主线:从关系任务到候选排序
区分不同的关联预测任务
- DTI分类:给定药物 D 和靶点 T,它们是否满足预先定义的相互作用标准?
- 结合亲和力回归:给定药物 D 和靶点 T,它们的结合强度是多少?
- 药物候选排序:面对某个靶点、疾病或实验目标,哪些候选药物应该优先验证?
- 链接预测:在已有生物网络中,哪些尚未记录的候选边值得补全或优先验证?
建立关联预测的完整模型阶梯
- 关联任务
- 药物—靶点
- 药物—疾病
- miRNA—疾病
- 关系角色
- 目标关系:模型当前需要预测的答案
- 背景关系:允许模型用来描述实体的辅助信息
- 候选关系:尚未确定、需要模型打分的对象对
- 样本构造
- 已知关联:已验证正例/负例
- 未知关联
- 负样本:从未标注项中抽取并暂时赋值为
0。其构造不能把“未知”改写成“确认不存在”。如果可靠阴性很少,可以考虑:- 从未标注项中随机采样;
- 根据生物或结构规则筛选相对可信的负样本;
- 使用正例—未标注学习;
- 对多种负样本规则进行敏感性分析。 建立由简到繁的模型阶梯
| 模型层级 | 读取的信息 | 怎样产生关系分数 | 相比前一级增加了什么 | 主要边界 |
|---|---|---|---|---|
| 全局先验 | 整个训练集中关系的总体比例 | 所有候选使用相同基础分 | 数据中的总体正例比例 | 不能区分任何具体实体 |
| 频率与偏置 baseline | 药物、靶点或疾病各自的历史出现次数 | 全局分+左实体偏置+右实体偏置 |
哪些实体在数据库中更热门 | 高分可能只来自数据库收录频率 |
| 低秩模型 | 已知关联矩阵中的历史搭配模式 | 为两侧实体学习低维向量,再进行内积或双线性打分 | 哪些实体经常与相似的一组对象发生关系 | 纯 ID 表示依赖已有关系记录,难以处理完全未见实体 |
| 经典机器学习 baseline | 预先提取的实体特征和配对特征 | 逻辑回归、线性回归、随机森林或浅层 MLP | 对象自身的结构、序列或人工特征 | 依赖人工特征质量,通常不能直接利用完整关系网络 |
| 双塔模型 | 两侧实体各自的原始资料或特征 | 两个编码器分别生成表示,再由解码器打分 | 能从对象自身资料生成表示,不只记住对象 ID | 两侧独立编码时,细粒度交互通常发生得较晚 |
| 片段交互模型 | 药物片段与蛋白片段等局部表示 | 在压缩成整体向量前比较局部片段 | 更细粒度的药物片段—蛋白片段匹配线索 | 高分片段不等于已经实验确认的结合位点 |
| GNN+解码器 | 实体自身特征和允许使用的背景关系图 | 先通过消息传递更新节点表示,再由解码器打分 | 实体周围的关系上下文 | 图中的错误边、缺失边和泄漏边会直接影响表示 |
| 多源融合模型 | 对象自身资料、局部交互和关系网络 | 融合多种表示后产生关系分数 | 可以联合利用多类互补信息 | 信息更多也意味着更多噪声、缺失模态和不公平比较风险 |
理解低秩、双塔与 GNN 的区别
- 低秩表示:低秩表示根据已知关系模式给每个实体学习一个低维坐标,再根据两个坐标是否匹配产生关系分数
- 双塔表示:双塔分别根据两个实体自身的资料生成表示(编码器),再配对并通过解码器得到关系分数
- GNN 模型
D3自身特征+D3的图邻居
→ GNN消息传递
→ 带关系上下文的z_D3
T2自身特征+T2的图邻居
→ GNN消息传递
→ 带关系上下文的z_T2
z_D3+z_T2
→ 解码器
→ score(D3,T2)
GNN 是图神经网络的模型家族,GCN 是其中一种具体消息传递方法。无论使用 GCN、GAT 还是其他 GNN,更新节点表示以后,通常仍然需要解码器产生关系分数。
用关系解码器产生配对分数
阶段四形成的实体表示,需要经过解码器才能变成关系预测结果。
药物表示z_D
+
靶点表示z_T
↓
关系解码器
↓
score(D,T)
| 解码方式 | 具体动作 | 能表达什么 | 主要边界 |
|---|---|---|---|
| 内积 | 两个向量逐维相乘后求和 | 两个表示在相同维度上是否匹配 | 交互形式简单,分数不天然是概率 |
| 双线性解码 | 在两个向量之间加入可学习矩阵 W |
左侧实体的不同维度可以与右侧实体的不同维度组合 | 参数更多,更容易过拟合 |
| 拼接+MLP | 拼接两个整体向量后输入神经网络 | 较灵活的非线性配对关系 | 需要与内积等简单解码器比较,确认复杂结构是否有增量 |
| 距离函数 | 计算两个表示之间的距离 | 两个实体在表示空间中是否接近 | 接近不一定等于具有目标生物关系 |
| 片段交互 | 分别比较药物片段和蛋白片段 | 保留局部片段间的匹配模式 | 计算成本较高,交互权重不能直接视为真实接触图 |
| 关系类型解码 | 为不同关系类型分别打分 | 区分“治疗”“调控”“促进”等预定义关系 | 只能预测标签体系中已有的关系类型,不能自动发现新机制名称 |
典型公式包括:
内积:
score(D,T) = z_D · z_T
双线性:
score(D,T) = z_Dᵀ W z_T
拼接:
score(D,T) = MLP([z_D ; z_T])
这些公式得到的首先是模型分数。模型分数可能用于:
- 判断关系类别;
- 预测连续亲和力;
- 对候选对象排序;
- 预测预先定义的关系类型。
区分不同的泛化场景
“模型能够预测未知关系”这句话过于宽泛。需要说明测试时到底有什么是新的。
| 泛化场景 | 测试时什么是新的 | 模型必须依靠什么产生表示 | 典型受限模型 | 当前结果最多支持什么 |
|---|---|---|---|---|
| 已见实体的新组合 | 药物和靶点都见过,只有当前配对未见 | 已学到的实体表示和配对规则 | 一般模型都可能处理 | 能为已见实体重新配对 |
| 新药物 | 药物没有任何训练关系记录,靶点见过 | 药物自身的结构、SMILES 或分子图 | 只使用药物 ID 的低秩模型 | 能否为没有关系历史的新药生成候选 |
| 新靶点 | 靶点没有任何训练关系记录,药物见过 | 蛋白质序列、结构或其他自身特征 | 只使用靶点 ID 的模型 | 能否为没有关系历史的新靶点寻找药物 |
| 双冷启动 | 药物和靶点都没有训练关系记录 | 两侧对象自身特征及可迁移的配对规则 | 纯关系矩阵和纯 ID 模型 | 能否组合两个完全未见实体 |
| 新化学骨架 | 药物 ID 和核心化学结构都不同 | 对结构规律的外推能力 | 主要依赖相似药物记忆的模型 | 能否推广到新的化学结构区域 |
| 新蛋白家族 | 靶点与训练蛋白的序列和家族均有明显差异 | 对蛋白序列或结构规律的外推能力 | 主要依赖近邻同源蛋白的模型 | 能否推广到新的蛋白家族 |
这里只定义模型需要面对的泛化问题。具体如何用 random split、cold split、scaffold split 和 homology split 检验这些能力,放在阶段七展开。
阶段七|可信评价:高分代表哪一种泛化
评价聚类是否稳定、是否具有参考意义
- 参考标签
- 列联表与配对计数
- Purity
- ARI
- NMI
- 内部评价
- 稳定性评价
- 生物评价
评价关联预测能否泛化到真正的新对象
- 分类评价
- ROC-AUC
- PR-AUC
- 排序评价
- Top-K评价
- 回归评价
- MAE
- RMSE
- 数据切分
- random split
- cold split
- scaffold split
- homology split
- 泄漏审计
- 重复样本泄漏
- 相似实体泄漏
- 预处理泄漏
- 目标边泄漏
- 预训练污染
- 统计可靠性
- 重复实验
- 方差
阶段八|研究闭环:增量、复现、消融与可证伪pilot
判断细胞基础模型是否真正提供增量
- 自监督预训练与表示
- 从表达矩阵本身构造训练目标,不需要预先提供细胞类型标签
- 模型通过预测或恢复部分输入,学习基因表示或细胞表示
- 预训练表示可能保存表达共现、细胞状态和条件差异等信息
- 预训练目标没有直接要求模型理解细胞类型、空间结构或因果机制
- 预训练输入
- 基因身份
- 表达值或表达排序
- assay、物种、模态等条件信息
- 坐标和邻接图是否实际进入模型
- 模型名称不能代替输入审计
- 预训练目标
- 遮蔽表达值恢复
- 遮蔽 token 预测
- 表示重建或对齐
- 预训练目标决定模型被直接奖励保存什么信息
- 能恢复表达或 token,不等于已经理解基因调控和细胞功能
| 检查内容 | 需要查什么 | 当前可以说明什么 | 不能直接说明什么 |
|---|---|---|---|
| 预训练输入 | gene、value、condition、metadata、坐标或邻接图是否进入模型 | 模型有机会从哪些信息中学习规律 | 模型一定理解这些信息背后的生物机制 |
| 预训练目标 | 模型被要求恢复或预测什么 | 损失函数直接奖励模型完成什么任务 | 下游细胞类型、空间结构或因果机制已经被学会 |
| 输出表示 | 输出是 gene embedding 还是 cell embedding | 后续任务实际读取哪一种表示 | 表示中的每个维度都有明确生物含义 |
| 下游任务 | 表示被用于分类、回归、聚类还是空间任务 | 预训练表示在哪类任务中接受检验 | 一个任务表现好便代表所有任务都有效 |
- 下游使用方式
- zero-shot
- 不使用当前任务标签
- 不更新任务头和预训练主体
- 直接使用已有表示完成预先定义的任务
- linear probe
- 使用当前任务标签
- 冻结预训练主体
- 只训练一个简单线性任务头
- 检查冻结表示中是否已经存在可线性读取的任务信号
- fine-tune
- 使用当前任务标签
- 同时更新任务头和预训练主体
- 表示会根据当前下游任务重新调整
- 从头训练
- 使用与基础模型相同或相近的架构
- 从随机初始化开始训练
- 用于检查增量是否来自预训练起点
- zero-shot
只有 fine-tune 提高时,不能把结果写成 zero-shot 能力,因为增量可能同时来自下游标签和主体模型的重新调整。
-
预训练污染
- 预训练数据来源
- 预训练数据版本
- 预训练语料时间截点
- 数据集和患者 ID 重叠
- 完全重复细胞
- 高度相似的细胞表达指纹
- overlap flag
- post-cutoff 数据
- flagged 与 unflagged 分层比较
-
空间上下文
- 空间来源语料:表达数据来自空间组学平台
- 空间模态 token:输入中标记数据来自空间测量
- 坐标输入:
x、y坐标直接进入模型 - 邻接图输入:模型直接读取由坐标构造的空间图
- 空间预训练目标:预训练损失要求恢复位置、邻域或空间结构
- 下游空间标签:坐标只在下游用于构造预测答案
| 空间信息出现的位置 | 实际含义 | 能否说明预训练模型直接读取空间结构 |
|---|---|---|
| 空间来源表达数据 | 预训练语料来自空间测量平台 | 不能 |
| assay 或 modality token | 模型知道数据属于某种测量模态 | 不能 |
| 坐标进入预训练输入 | 模型直接读取细胞位置 | 可以 |
| 邻接图进入预训练输入 | 模型可以沿空间邻域聚合信息 | 可以 |
| 空间结构进入预训练目标 | 预训练损失直接奖励空间结构预测 | 可以 |
| 坐标只用于构造下游标签 | 预训练表示被拿来预测空间派生结果 | 不能说明预训练时读过坐标 |
以 Nicheformer 课程案例为例:
预训练输入:
表达排序后的基因token
+assay、organism、modality token
没有直接进入预训练Transformer:
x、y坐标
空间邻接矩阵
邻居细胞token
因此,空间下游任务表现好可以说明表达表示中存在可用于预测空间标签的信号,但不能直接说明预训练模型沿空间边进行了消息传递。
-
简单 baseline
- 多数类或简单先验
- HVG/PCA 表达表示
- HVG/PCA+线性任务头
- 用于检查基础模型是否超过普通表达表示
-
任务专用 baseline
- 针对当前分类、空间或预测任务设计的成熟方法
- 使用相同标签量、数据切分和评价指标
- 用于检查通用预训练是否超过专门方法
-
同架构对照
- 相同架构随机初始化
- 相同架构使用不同预训练语料
- 相同架构使用不同预训练数据规模
- 用于区分增量来自架构、预训练起点、数据类型还是数据规模
| 比较方式 | 主要检查什么 | 结果最多支持什么 |
|---|---|---|
| PCA/HVG+线性头 vs 冻结基础模型+线性头 | 预训练表示是否超过简单表达表示 | 冻结表示中包含额外的可读任务信号 |
| 任务专用模型 vs 冻结基础模型+相同任务头 | 通用表示是否超过当前任务的专用方法 | 预训练表示相对专用方法是否有增量 |
| 随机初始化 vs 预训练初始化,二者都 fine-tune | 预训练起点是否有贡献 | 相同架构下预训练初始化带来的增量 |
| linear probe vs fine-tune | 信号预训练时已经存在,还是需要下游标签重新塑造 | 增量来自冻结表示还是有标签适配 |
| 空间语料预训练 vs 解离语料预训练 | 空间来源语料是否提供额外信号 | 当前任务与预算下空间语料带来的情境化增量 |
- 情境化增量
- 增量不是脱离条件的固定模型属性
- 应说明增量出现在哪种任务、数据和使用方式中
- 应检查总体提升是否只集中在某些容易样本或高重叠数据中
基础模型的增量应写成:
在什么数据、什么任务、什么标签量、什么切分、什么下游方式和什么 baseline 下,基础模型提高了什么结果。
- 结果校准
- 冻结 linear probe 超过简单 baseline
- 支持预训练表示中存在额外的可读任务信号
- 冻结 linear probe 超过任务专用 baseline
- 支持通用预训练表示在当前任务下具有更强增量
- 只有 fine-tune 超过 baseline
- 增量同时包含预训练起点和下游标签适配
- 高分数据与预训练语料存在较多重叠
- zero-shot 或未见数据泛化主张需要降级
- 空间任务表现好但预训练没有读取坐标
- 支持表达表示能够预测空间派生标签,不支持模型直接学习过空间邻接
- 冻结 linear probe 超过简单 baseline
| 观察到的结果 | 当前允许的结论 | 仍然过强的结论 |
|---|---|---|
| 冻结表示超过 PCA 线性基线 | 预训练表示包含额外可读信号 | 模型已经理解细胞机制 |
| 冻结表示没有超过任务专用模型 | 预训练优于简单表示,但未证明优于专用方法 | 基础模型全面优于传统方法 |
| 只有 fine-tune 后提高 | 有标签适配后的整体模型表现提高 | 模型具有纯 zero-shot 能力 |
| benchmark 存在较多 overlap flags | 测试独立性需要进一步复核 | 相同比例的性能确定来自污染 |
| 空间来源预训练在同条件下更好 | 空间来源语料在当前任务中提供额外信号 | 空间预训练在所有任务中都更好 |
| 空间任务高分但坐标只用于下游标签 | 表达表示中存在空间标签的可预测信号 | 预训练模型直接读取坐标并完成空间消息传递 |
证明模型增益可靠且来源明确
- 公平比较
- 重复实验
- 消融实验
- 参数敏感性
- 数据敏感性
- 资源审计
- 负结果
- 适用边界
- 研究dossier
- 研究问题
- 任务合同
- 数据卡
- 模型卡
- 评价合同
- 外部验证计划
- 失败条件
- 可证伪研究问题
证明模型增益可靠且来源明确
-
模型增益
- 新模型相对于公平 baseline 产生的性能变化
- 增益必须绑定具体数据、切分、指标和候选集合
- 单次最高分不能代表稳定增益
- 模型增益不自动等于生物学发现
-
公平比较
- 新模型与 baseline 必须解决同一个任务
- 两组实验只改变当前准备检验的因素
- 如果数据、输入、切分或调参预算同时改变,就无法把分数差归因于模型结构
-
重复实验
- 使用多个随机种子重复训练
- 保存每次运行的完整结果,不只保留最好一次
- 使用同一组 seed 成对比较新模型与 baseline
- 报告均值、波动、增量和失败 seed
| 观察结果 | 可以说明什么 | 不能直接说明什么 |
|---|---|---|
| 单个 seed 提高 | 当前一次运行得到更高分 | 模型具有稳定增益 |
| 平均分提高,但部分 seed 为负 | 模型平均可能有收益,但增益不稳定 | 每次运行都会优于 baseline |
| 多数或全部 seed 均提高 | 增益对随机初始化相对稳定 | 模型一定能推广到其他数据 |
| 均值相近但方差更小 | 模型运行结果更加稳定 | 模型预测性能一定更高 |
| 最好一次明显提高、平均值不提高 | 出现过一次高分运行 | 模型总体优于 baseline |
- 消融实验
- 移除或替换模型中的某个组件
- 其他数据、输入、训练和评价条件尽量保持不变
- 检查完整模型的增益是否依赖所声称的组件
- 一个组件被删除后性能下降,首先说明模型依赖该组件,不等于该组件对应真实生物机制
| 消融方式 | 具体操作 | 主要回答什么 |
|---|---|---|
| 删除组件 | 关闭注意力、交互图、空间边或预训练表示 | 完整模型是否依赖该组件 |
| 替换组件 | 用内积替换 MLP,用固定 KNN 替换自适应图 | 复杂组件是否优于简单实现 |
| 输入消融 | 去掉空间、序列、结构或关系信息 | 增益主要来自哪类输入 |
| 打乱实验 | 打乱局部对应、边连接或特征与标签关系 | 模型是否真正利用声称的结构 |
| 冻结实验 | 冻结编码器,只训练任务头 | 增益是否已经存在于当前表示中 |
| 随机初始化 | 相同架构不加载预训练参数 | 增益是否来自预训练起点 |
| 2×2 消融 | 分别开启或关闭两个组件 | 两个组件是否各自有效,以及是否存在协同作用 |
如果模型包含两个新组件:
A:上下文化编码
B:片段交互图
可以设计:
| 组别 | 组件 A | 组件 B | 主要作用 |
|---|---|---|---|
| A 0 B 0 | 关闭 | 关闭 | 最简 baseline |
| A 1 B 0 | 开启 | 关闭 | 检查 A 的单独贡献 |
| A 0 B 1 | 关闭 | 开启 | 检查 B 的单独贡献 |
| A 1 B 1 | 开启 | 开启 | 检查完整模型及二者组合 |
只比较 A0B0 和 A1B1,即使分数提高,也无法判断增益来自 A、B 还是二者共同作用。
- 参数敏感性
- 改变关键参数,观察结论是否只在某个特殊取值下成立
- 聚类任务包括邻居数、空间权重、PCA 维数和 resolution
- 关联预测包括学习率、隐藏维度、负样本比例和模型层数
- 重点寻找一段相对稳定的参数区域,而不是只报告最好参数点
- 数据敏感性
- 更换样本、数据版本、切分或候选集合
- 检查增益是否只来自某个容易的数据子集
- 分别观察不同患者、组织、平台、细胞类型或靶点类别
- 检查数据量减少、标签噪声增加或图边缺失时模型是否失效
| 敏感性检查 | 具体改变什么 | 希望回答什么 |
|---|---|---|
| 参数敏感性 | 邻居数、resolution、学习率、层数等 | 结论是否依赖狭窄参数设置 |
| 样本敏感性 | 患者、切片或随机抽样 | 结论是否由少数样本驱动 |
| 切分敏感性 | random、cold 或其他符合任务的切分 | 增益是否只存在于容易的泛化场景 |
| 标签敏感性 | 负样本规则、标签噪声、标签数量 | 增益是否依赖某种标签构造 |
| 构图敏感性 | 边类型、邻居数、边权和删边规则 | GNN 增益是否依赖某张特殊关系图 |
| 子群敏感性 | 常见与稀有细胞、已知与新靶点 | 总体增益主要来自哪些对象 |
| 数据规模敏感性 | 训练数据量和预训练语料规模 | 模型在小数据和大数据下是否具有相同优势 |
- 资源审计
- 参数量
- 训练时间
- 推理时间
- CPU、GPU 和显存使用
- 调参次数
- 预训练成本
- 中间表示和图的存储成本
| 资源项目 | 为什么需要记录 | 可能出现的误判 |
|---|---|---|
| 参数量 | 判断增益是否伴随大幅模型扩张 | 把更大容量产生的收益全部归因于新机制 |
| 训练时间 | 衡量实际实验成本 | 只报告性能,不报告数倍计算代价 |
| 推理时间 | 判断模型能否用于大规模候选筛选 | 测试规模较小时掩盖部署成本 |
| 显存与内存 | 判断模型是否可在目标环境运行 | 方法只能在特殊硬件上复现 |
| 调参次数 | 衡量两个模型获得的搜索机会 | 新模型调参 80 次,baseline 只运行一次 |
| 预训练成本 | 区分已有预训练资源与当前实验成本 | 把大规模外部资源带来的优势全部归因于架构 |
| 失败运行 | 计算总投入和模型稳定性 | 只统计成功运行,低估真实成本 |
资源更多不意味着性能增益无效,但结论应同时写出:
模型提高了多少,以及为此增加了多少参数、时间、显存和调参成本。
- 负结果
- 新模型没有超过 baseline
- 平均分提高但波动过大
- 只有少数 seed 提高
- 只有容易切分下提高
- 消融后性能没有下降
- 增益来自额外输入或更大预算
- 某些患者、切片或靶点类别明显失效
- 模型成本明显增加但收益很小
| 负结果 | 合理解释 | 不合理处理 |
|---|---|---|
| 新模型未超过强 baseline | 当前新增结构没有观察到明确增量 | 删除 baseline 或只比较随机猜测 |
| 消融后结果几乎不变 | 模型可能没有利用所声称的组件 | 仍宣称该组件是性能来源 |
| 不同 seed 结果方向相反 | 增益不稳定,需要检查优化和数据依赖 | 只报告最好的一次 |
| 只在 random split 中提高 | 模型可能擅长已见实体重配 | 声称能够处理新药或新靶点 |
| 只有某个参数点提高 | 结果可能对参数高度敏感 | 把最佳点描述为稳定规律 |
| 增加大量资源只获得微小提升 | 需要评估性能—成本权衡 | 只报告分数,不报告成本 |
| 外部数据上不再提高 | 增益可能局限于当前 benchmark | 继续声称具有普遍泛化能力 |
负结果不是实验失败记录的废料,而是判断模型适用范围和研究假设是否成立的证据。
- 可证伪研究问题
- 机制假说:现有方法为什么会失败
- 模型改动:新方法具体保留或利用什么信息
- 可观测预测:如果假说成立,结果表中应该出现什么
- 最强 baseline:候选方法必须超过谁
- 关键消融:删除什么以后,优势应该消失
- falsifier:出现什么结果会推翻当前解释
- 停止条件:什么情况下不再继续投入
可证伪研究问题的基本结构是:
在什么具体场景中
→ 现有方法因为什么原因失败
→ 新设计保留了什么信息
→ 哪一类样本应该最明显受益
→ 删除该信息后优势是否消失
→ 什么结果会推翻这个解释
| 研究方向 | 机制假说 | 如果假说成立,希望看到什么 | 什么结果会推翻假说 |
|---|---|---|---|
| cold-target DTI | 全局池化会稀释少量局部药物片段—蛋白 motif 匹配 | 局部交互模型在低全局同源但保留局部 motif 的靶点上增益更大 | 困难子组没有额外收益,或打乱局部对应后优势不下降 |
| 空间聚类边界 | 固定空间 KNN 在组织边界产生跨层错误连边 | 调整边界连接后,边界指标提高且簇内 marker 和稳定性不明显下降 | 边界不改善、内部结构明显变差,或只有使用测试标签调参时才提高 |
- 研究 dossier
- 将研究问题、实验条件、结果标准和停止条件放在同一份可检查记录中
| 字段 | 需要填写的内容 |
|---|---|
| 研究问题 | 准备回答哪一个具体问题 |
| 机制假说 | 现有方法在哪里丢失或误用了信息 |
| 可观测预测 | 如果假说成立,结果表应该出现什么变化 |
| 任务合同 | 预测单位、输入、目标、输出和指标 |
| 数据卡 | 数据来源、样本、标签和处理规则 |
| 模型卡 | 模型输入、组件、参数量和输出 |
| 最强 baseline | 简单 baseline、任务专用 baseline 和最近工作 |
| 公平比较合同 | 必须固定的数据、输入、切分、指标和预算 |
| 关键消融 | 移除或打乱哪个组件 |
| 重复实验 | 使用哪些 seed,怎样报告均值和波动 |
| 敏感性分析 | 检查哪些参数、数据和子群 |
| 资源预算 | 时间、显存、调参次数和停止资源线 |
| 外部验证计划 | 使用什么独立数据或生物证据 |
| 失败条件 | 什么结果会否定模型增益或机制解释 |
| 停止条件 | 什么情况下修改或放弃当前方向 |
| 当前裁决 | proceed、modify、abandon 或 uncertain |
最终要形成的不是一句“新模型比 baseline 高”,而是:
增益是否真实
+增益是否稳定
+增益来自哪个组件
+增益在哪些情境下成立
+它付出了什么资源代价
+什么结果会推翻当前解释