跳转至

MOOZY: A Patient-First Foundation Model for Computational Pathology

会议: ECCV2026
论文: ECCV 官方页面
代码: https://github.com/AtlasAnalyticsLab/MOOZY
领域: 医学图像
关键词: 计算病理学、全切片表示、患者级聚合、掩码自蒸馏、多任务学习

一句话总结

MOOZY 先通过掩码自蒸馏学习切片空间表示,再用病例 Transformer 和 333 项临床任务联合训练患者级表示,在 16 个留出任务上取得 0.769 的宏平均加权 F1 和 0.702 的宏平均平衡准确率,但宏平均 AUC 仍略低于 TITAN。

研究背景与动机

病理学基础模型往往先把全切片图像(whole-slide image,WSI)切成图块,再用图块编码器提取特征,最后为每个下游任务单独训练多实例学习(MIL)聚合器。这样可以利用局部细胞形态,却没有直接解决两个临床问题:一张切片内部相隔很远的区域如何共同提供证据,以及同一患者的多张切片如何共同决定病例级结论。更大的图块编码器并不会自动学会这两层关系。

近期的切片编码器开始预训练可复用的整张切片表示,但不少方法依赖私有数据、配对报告或分子数据。即便接受多张切片,常见做法仍是把所有图块合并成一个大集合,或者独立编码各张切片后取平均。前者弱化切片之间的层次,后者缺少可学习的跨切片交互;患者只是最终汇总结果时使用的标识,而不是训练时真正建模的单位。

MOOZY 因此把学习过程分成两步:先利用公开切片建立空间表示,再用公开数据中已有的分类和生存标签对齐临床语义。它不要求每位患者都有完整标签,也不要求新增配对报告。核心 idea:先学会理解单张切片,再让同一患者的切片在病例 Transformer 中交互,并用稀疏多任务监督训练可复用的病例表示。

方法详解

整体框架

输入是同一病例的一张或多张 WSI,输出是一个病例向量。第一阶段只训练切片表示,第二阶段联合更新切片编码器和病例 Transformer;迁移到新任务时冻结表示模型,另训练下游探针,而不是直接沿用预训练任务头。

整个流程依次包含空间特征网格、多视图掩码自蒸馏、病例 Transformer 和稀疏多任务语义对齐。后两者在第二阶段联合训练;多任务标签仅用于监督,提取病例向量时不需要它们。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    Input["患者的多张 WSI"] --> Grid["空间特征网格"]
    Grid -->|第一阶段| SSL["多视图掩码自蒸馏"]
    SSL -->|预训练切片编码器| Case["病例 Transformer"]
    Grid -->|第二阶段整张切片编码| Case
    Case --> Align["稀疏多任务语义对齐"]
    Labels["已有分类和生存标签"] -.->|仅训练监督| Align
    Case -->|提取表示时| Output["病例向量与下游探针"]

关键设计

1. 空间特征网格:保留组织位置,把容量用于切片上下文

预处理使用 AtlasPatch 和 SAM2 得到组织区域,将其切为不重叠的 224 × 224 图块,并分别提取 20×、40× 放大倍率下的特征。冻结的图块编码器是 21.67M 参数的 ViT-S;特征与坐标被放回二维网格,同时保留标明有效组织位置的二值掩码。相同切片的不同倍率网格在第一阶段作为独立训练样本,不是在这里做跨倍率融合。

切片编码器用线性层和 GELU 将图块特征投影到 768 维,加入一个 CLS token 和 4 个 register token,再经过 6 层、12 头 Transformer。二维 ALiBi 用坐标距离构造注意力偏置,CLS 和 register token 保持空间中立,背景位置通过注意力掩码排除。因此编码器处理的不是失去位置的特征袋,而是保留组织布局的网格。缓存中的 ALiBi 公式存在字符缺损,这里只按可读文字说明机制,不补写精确公式。

2. 多视图掩码自蒸馏:用跨区域一致性和缺失组织预测学习切片表示

第一阶段从整个有效组织网格独立采样 2 个 20 × 20 token 的全局视图和 4 个 12 × 12 token 的局部视图,而不是围绕同一个固定区域生成所有视图。采样还要求最低有效组织比例,避免得到几乎全是背景的输入。全局视图使用连续矩形块掩码,掩码比例从 0.1 到 0.5 均匀采样,局部视图不做这种掩码;连续组织被遮住后,模型需要依赖更广的形态上下文。

学生编码器处理各类视图,指数移动平均教师从全局视图提供软目标。CLS 自蒸馏让不同视图的整体原型分布保持一致,掩码图块预测让学生在被遮住的有效组织位置匹配教师分布。二者使用带归一化瓶颈和原型层的投影头,教师输出中心化用于防止坍塌。优化目标不是恢复原始像素,而是预测教师的特征分布;跨视图约束和局部缺失预测共同塑造整张切片的表示。

3. 病例 Transformer:在患者层面学习切片之间的关系

第二阶段不再采用第一阶段的裁剪视图,而是读取整张切片的特征网格。若有效 token 超过硬件允许的上限,就进行分层随机采样以保留全切片覆盖,再把有效 token 压紧输入切片编码器。每张切片最终输出一个 768 维向量,因此病例聚合器面对的是少量切片向量,而不是把所有切片的海量图块拼成一个序列。

模型在这些切片向量前加入可学习的 CASE token,经过 3 层、12 头、带 LayerScale 的 Transformer,用最终归一化后的 CASE 表示作为病例向量。这样每张切片可以通过注意力受其他切片影响,区别于固定均值池化。即使病例只有一张切片也仍走这个模块,以维持统一的表示空间。它建模的是切片级关系,并不意味着不同切片的对应组织区域已被配准。

4. 稀疏多任务语义对齐:让共享病例表示承接不完整临床标签

病例向量连接任务专属的线性或 MLP 预测头,共有 205 个分类任务和 128 个生存任务。分类使用逆频率类别权重和标签平滑;生存任务包括总生存期(OS)、疾病特异性生存期(DSS)、无病间期(DFI)和无进展间期(PFI),以离散时间风险模型处理事件及删失样本。时间区间边界依据训练事件时间的分位数构建,区间数随事件数量自适应,目标为 8,范围为 2 至 16。

公开队列的标注并不齐全,模型只对有有效监督的病例和任务计算损失,再对当前批次的有效任务取平均。其作用不是补造缺失标签,而是让不同临床目标共同更新共享表示。预训练结束后丢弃这些任务头,保留切片编码器与病例 Transformer;因此“无需配对报告”并不等于“全程无监督”,第二阶段明确依赖已有临床标签。

一个完整示例

设想一个病例含两张 WSI,只有一个分类标签,没有可用生存结局。这是说明数据流的示例,不是论文新增的实验病例。

两张切片分别经过组织分割、图块编码和空间网格构建,必要时各自限制 token 数量。共享切片编码器产生两个 768 维向量,病例 Transformer 接收 CASE token 与这两个向量,形成一个患者级表示。

训练时,这个病例只贡献其已知分类任务的监督,不贡献缺失的生存任务损失。迁移时仍使用相同病例聚合路径,但不再使用预训练分类头,而是在冻结病例向量上训练目标任务探针。若只有一张切片,聚合路径不变,只是切片向量数量减少。

损失函数 / 训练策略

第一阶段的两个目标直接相加,没有在正文中额外引入权重:

\[ \mathcal{L}_{\mathrm{stage1}} = \mathcal{L}_{\mathrm{cls}} + \mathcal{L}_{\mathrm{mim}}. \]

这里的 CLS 项是教师与学生视图分布之间的交叉熵,不是临床标签分类损失。教师动量从 0.996 按余弦调度升至 1.0;训练使用 AdamW,8 张 GPU、有效批量 1,024 张切片、200 个 epoch,论文报告约 436 GPU-hours。

第二阶段对当前批次有可用监督的任务平均其损失:

\[ \mathcal{L}_{\mathrm{stage2}} = \frac{1}{|\mathcal{T}_{\mathrm{active}}|}\sum_{t\in\mathcal{T}_{\mathrm{active}}}\mathcal{L}^{(t)}. \]

第二阶段使用 8 张 GPU、有效批量 1,024 个病例、20 个 epoch,约 512 GPU-hours;基础学习率为 \(5\times10^{-5}\),梯度裁剪阈值为 0.3,标签平滑为 0.03。逐任务分层留出 5% 验证集以监测过拟合。缓存中的生存风险汇总式存在缺损,离散风险负对数似然的完整定义又指向未包含的附录,因此不猜补该公式。

数据规模也需要分清口径:77,134 是第一阶段的特征网格数,其中 53,286 个来自 20×、23,848 个来自 40×,不是 77,134 位患者。第二阶段标注子集包含 41,089 个病例和 45,179 张独立 WSI,任务来自 56 个公开数据集;333 个任务中有 56 个切片级任务和 277 个病例级任务。

实验关键数据

主实验

论文在 16 个留出任务上比较冻结表示,其中 15 个是病例级任务,IDH Status 是切片级任务。MLP 探针采用五折评测,按病例分组划分折;基线切片编码器先对切片向量取平均,MOOZY 则使用原生病例向量。下表摘录原文表 1,均为跨折均值与标准差;F1 是类别加权 F1。

留出任务 指标 TITAN MOOZY
Residual Cancer Burden F1 \(0.43\pm0.07\) \(0.56\pm0.05\)
Residual Cancer Burden ROC-AUC \(0.58\pm0.07\) \(0.74\pm0.04\)
ACVR2A mutation F1 \(0.87\pm0.05\) \(0.91\pm0.05\)
IDH Status F1 \(0.94\pm0.02\) \(0.97\pm0.02\)
BRCA PAM50 subtype F1 \(0.72\pm0.04\) \(0.63\pm0.03\)
UCEC genomic subtype F1 \(0.66\pm0.04\) \(0.56\pm0.05\)

跨任务的宏平均结果为加权 F1 0.769、平衡准确率 0.702,均为所比较切片编码器中的最高值;加权 ROC-AUC 为 0.763,低于 TITAN 的 0.768。这里“宏平均”指再对各任务的指标取平均,不应与单任务的类别宏平均 F1 混淆。

原文表 2 还比较了五种图块编码器,每种搭配五种 MIL 架构并对架构取平均。最强的该类平均基线 CONCH v1.5 为 0.740 F1、0.720 AUC、0.661 平衡准确率;MOOZY 分别高 0.029、0.043、0.041。这是与 MIL 架构平均值的比较,不代表每一个独立 MIL 配置都被同样幅度超过。

消融实验

下表来自原文表 3,所有数字均为 16 个留出任务的宏平均;AUC 指加权 ROC-AUC。

配置 F1 AUC 平衡准确率
仅第一阶段 0.743 0.715 0.662
仅第二阶段,不使用病例聚合器 0.743 0.721 0.664
仅第二阶段,使用病例聚合器 0.731 0.697 0.659
MOOZY,推理时改用切片均值池化 0.749 0.737 0.682
完整 MOOZY 0.769 0.763 0.702

原文脚注 10 明确:完整 MOOZY 的“无病例聚合器”变体在训练时仍包含该模块,只在推理时丢弃并改为均值池化。因此后两行直接检验的是已训练模型如何读出病例表示,不能当作完全重新训练的去模块消融。

关键发现

  • 完整模型相对推理时均值池化提高 0.020 F1、0.026 AUC 和 0.020 平衡准确率,说明学习到的病例读出具有价值,但不能把差值全归因于训练时跨切片交互。
  • 没有自监督初始化时,加入病例聚合器反而使 F1 从 0.743 降到 0.731。病例模块并非独立有效的即插即用组件,良好的切片表示是重要前提。
  • 分子分型存在明确弱项:BRCA PAM50 和 UCEC 的 F1 都低于 TITAN,整体领先不等于各任务普遍领先。
  • 总参数为 85.77M,其中图块编码器 21.67M、切片与病例编码器合计 64.10M;约为 GigaPath 1.22B 的十四分之一,但 CHIEF 的绝对参数量仍更小。

亮点与洞察

  • 把可复用表示的单位从切片提升为患者,而不是只在最终预测时合并切片。对天然有多份标本的临床流程,这种建模单位比单纯增加图块编码器容量更贴近实际决策结构。
  • 先学习空间结构,再用多任务标签建立临床语义。消融中从头训练病例聚合器表现较差,说明这个先后顺序不是仅为方便工程实现。
  • 利用稀疏但已有的公开标签,而非要求每个病例同时具备报告和所有结局。迁移到其他多检查医疗场景时,可借鉴“共享表示加有效标签掩码”的监督组织方式,但仍需重新验证任务兼容性。

局限与展望

  • 作者承认当前输出面向全局病例预测,不支持密集预测或分割;注意力热图不等于经过验证的病灶分割结果。
  • 作者也指出,仍需在确实要求深层多切片推理的专门任务上量化收益。RC Burden 虽按病例评测,切片与病例比例为 1.0,IDH 又是切片级任务,这两项的提升不能直接证明跨切片整合能力。
  • 正文称 16 个评测任务排除在各训练阶段之外,但精确的患者排除、数据交叠和探针搜索协议指向附录 G。当前缓存没有附录,不能独立确认这些细节,也不能把任务留出自动解释为所有预训练患者或队列完全留出。
  • 病理医师热图审阅仅覆盖 20 张代表性 WSI,来自 8 个评测队列。这类小样本解释性分析不能代替外部临床验证或证明注意力与诊断因果一致。
  • 公共数据降低了私有数据门槛,但两阶段训练仍分别需要约 436 和 512 GPU-hours,另有图块提取成本;参数少不等于训练或部署成本已经充分验证。

相关工作与启发

  • vs 任务专属 MIL:MIL 通常在冻结图块特征上为每个目标重新训练聚合器;MOOZY 预训练切片和病例表示,再用轻量探针适配新目标。比较时需记住探针仍使用下游标签,并不是零样本预测。
  • vs PRISM / TITAN:这些工作利用切片与文本等信号学习表示;MOOZY 的两阶段流程不要求配对报告,但依赖大规模已有临床标签。TITAN 在宏平均 AUC 和部分分子分型任务上的优势说明两类监督可能互补。
  • vs DINO / iBOT 式自蒸馏:MOOZY 把全局分布匹配和掩码预测放到病理图块特征网格上,并使用空间坐标和连续块掩码。真正延伸到患者层面的部分,是后续病例聚合与临床多任务联合训练。

评分

  • 新颖性: 4/5。患者级可学习聚合与两阶段语义对齐的结合明确,底层自蒸馏和 Transformer 则沿用成熟组件。
  • 实验充分度: 4/5。涵盖 16 个任务、切片编码器和 MIL 对照,但跨切片推理的专项验证及完整去模块重训仍不足。
  • 写作质量: 4/5。主线和核心消融清晰;解释表 3 时必须同时阅读脚注,缓存中的部分公式也不可直接引用。
  • 价值: 4/5。提供公开数据上的患者级表示学习路线,尚不能据此认定达到临床部署要求。