新闻详情

新闻详情

首页 / 资讯中心 / 详情

斯坦福团队在Cancer Cell 发表医学AI集成学习框架,不从零训练基础模型,效果反而更好

发布时间:2026/9/28 4:41:07来源:尧图网络
斯坦福团队在Cancer Cell 发表医学AI集成学习框架,不从零训练基础模型,效果反而更好
小罗碎碎念文献来源Xiangde Luo、Xiyue Wang等Ensemble learning of pathology foundation models for precision oncologyCancer Cell2026。Xiangde Luo与Xiyue Wang为共同第一作者Ruijiang Li为通讯作者参与机构包括斯坦福大学医学院和纪念斯隆凯特琳癌症中心。近几年病理学基础模型pathology foundation model层出不穷UNI、CONCH、GigaPath、Virchow2、H-optimus-0……每一个都声称在自家数据集上 SOTA。轮到你做课题了问题来了——到底用哪个尴尬的是答案往往是看情况。不同模型在不同癌种、不同任务上的表现排名一直在变A 模型在肺癌上强B 模型在乳腺上强C 模型做分子标志物行换个队列又不行了。这背后很好理解各家训练数据不同、训练策略不同每家模型都带着自己的偏见在看待切片。斯坦福大学与纪念斯隆凯特琳癌症中心等机构的研究者由此提出了 ELF——Ensemble Learning of Foundation models即基础模型集成学习框架。它没有从零训练另一个图块级大模型而是让五个已经训练好的病理模型共同提供信息再学习如何形成统一的整张切片表征。研究随后把这套方法带到肿瘤分型、分子标志物识别和治疗反应预测中检验。它尝试解决的不是让所有模型给出一样的答案而是让不同模型的观察变得可以协同使用。ELF核心架构研究采用GigaPath、CONCHV1.5、Virchow2、H-Optimus-0和UNI提取局部图块特征再通过共享的切片编码器汇总。预训练时利用对比学习对齐不同模型、不同空间视图产生的表征以指数移动平均EMA稳定训练并加入癌组织识别和器官分类两个辅助任务使模型既能理解不同特征之间的对应关系又保留与组织类型相关的信息。整个预训练数据集包含来自11个公开数据集、覆盖20个解剖部位的53,699张切片。研究将ELF用于疾病分型、分子标志物检测、化疗与靶向治疗反应预测以及免疫治疗反应预测共开展125项评估体现了同一套切片表征服务多种肿瘤学任务的能力。雷达图中代表ELF的红色曲线总体更靠外表明它在本研究的测试任务中优于Prov-GigaPath、CHIEF和TITAN这三种对照模型。需要注意疾病分型使用平衡准确率BA标志物检测与治疗反应预测使用ROC曲线下面积AUC因此图中数值反映的是不同类型的预测表现不能全部理解为“诊断准确率”。通过外部队列检验研究评估了BRAF、KRAS突变及微卫星不稳定性MSI状态预测、乳腺癌治疗后的病理完全缓解预测以及免疫治疗持续反应预测。这些能力未来可能用于分子检测分流、安排检测优先级以及辅助识别更可能从治疗中获益的患者从而减少不必要的检测和无效治疗负担。但这些属于潜在应用价值并不意味着已经证明部署ELF能够降低医疗成本或改善患者生存。许多结果仍来自回顾性队列单凭病理图像预测也可能不足以指导治疗决策临床转化仍需要前瞻性验证。一、深度拆解ELF并本地复现ELF架构详解从作者展示的结果来看ELF 在疾病分型、分子标志物检测、化疗/靶向/免疫治疗响应预测上一致性地超过每一个单独模型也超过已有的切片级模型TITAN、CHIEF、Prov-GigaPath。先上一张全景图后续所有内容将围绕这张图展开一张病理全切片WSI动辄 10 万 × 10 万像素任何视觉模型都吞不下所以业界的标准做法是先做组织分割把背景载玻片的白色区域丢掉把组织区域切成一张张小补丁patch比如 256×256用一个 tile 级基础模型给每个补丁算一个特征向量再把成百上千个补丁特征聚合成一条切片级向量——毕竟下游任务分型、用药的标签是切片级的。第 4 步就是所谓的多实例学习MIL问题ELF 的核心创新就在这一层。这里要提一下ELF 并不是第一个想集合多个模型的。之前的思路大概两种简单拼接把五个模型的特征 concat 起来再聚类问题是五个模型的特征空间互不相认UNI 的 1024 维和 CONCH 的 768 维根本不在一个语义坐标系里直接拼几乎是暴力堆料。知识蒸馏比如 港科大陈浩组发的GPFM训一个大模型去模仿五个老师最后得到一个平均值学生但平均值恰恰把多样性抹掉了。ELF 的预训练有点复杂MoCo v3 式对比学习 EMA 动量编码器 癌症/器官弱监督但如果你只想用 ELF、不打算自己训其实只需要记住推理时的结构也就是图里这个重点看两个地方1D 线性插值不管输入是 UNI 的 1024 维还是 GigaPath 的 1536 维都插值到统一的 768 维8 头 ABMIL把 768 维切成 8 份每一份由一个独立的注意力头打分最后把 8 个头的分数取平均、过 softmax 得到每个补丁的权重 α切片嵌入 Σ αᵢ × 补丁特征ᵢ。这里有个容易被忽略的细节输出的时候每个模型的原生维度会被单独保留。也就是说你给 UNI 分支喂 1024 维它返回的features_dim还是 1024 维注意力加权后的而不是被压扁的 768 维。评测时五个模型各自过一遍这个编码器把五条features_dim拼接起来就是论文说的 ELF 切片嵌入。为什么这样能行因为让五个模型看同一张切片它们各自盯着看的区域几乎不重叠注意力图的相关性极低。也就是说五个模型真的在看五种不同的形态学线索。上面展示的这个动图就是根据我们实际复现的结果制作的大家看完这篇推送也能实现同样的效果。复现准备一键复现整个项目已经打包成了一个仓库评测数据随包附带你只需要把整个文件夹直接丢进 Codex / Zcode / WorkBuddy 等 AI 编程工具说一句按照 AUTORUN.md 复现这个项目——环境自检、数据下载、跑分验证每步都有内置验收标准AI 会自己走完并汇报。所有的内容都已经上传到MedX里欢迎感兴趣的小伙伴前往订阅学生可以免费领取会员代码分析作者开源的仓库分三个模块pretrain/MoCo v3 训练代码本复现跳过inference/ELF 切片编码器定义 嵌入提取脚本evaluation/三个下游任务的评测脚本 官方数据划分 CSV。作者在 Google Drive 发布了提取好的 EBRAINS 切片特征和全套对比方法的切片嵌入这意味着最经典的评测任务EBRAINS 脑肿瘤分型可以不用去下载原始 WSI了大大节省了工作量。复现设备复现的设备仍旧是老朋友——RTX 4060 Laptop8GB 显存外加一个现成的 conda 环境ghistPython 3.10.21 PyTorch 2.1.1 CUDA。检查了一圈依赖只缺openslide、xgboost和几个小包补充即可不建议重建新环境。评估数据这里遇到了第一个坑作者 README 里那个 EBRAINS 补丁特征的 Google Drive 链接下载时返回 Quota exceeded配额用尽这是 Drive 分享大文件的经典问题通常 24 小时滚动恢复我试了几次都过不去。但幸运的是另一个 Drive 文件夹评测用切片嵌入里的三个压缩包EBRAINS / BRACS / TCGA配额是独立的都能正常下载。配额超限的特征文件咋办总不能等着恢复吧为了不耽误进度所以我直接从 GDC 拉少量 TCGA 原始切片从图像开始把补丁 → 特征 → ELF 嵌入 → 预测整条链路完整走了一遍所以时间会大幅拉长你们可以不用这样看个人喜好。顺带一提作者发布的嵌入包里附带了他们自己跑的评测结果 CSVchief 在 EBRAINS 上的预测和 bootstrap 结果所以我们可以用这个CSV文件来校验我们的复现是否正确。冒烟测试这次冒烟测试总共写了 21 项检查scripts/00_smoke_test.py包括环境与依赖版本ELF 权重能否加载、前向输出维度对不对五种输入维度各测一遍注意力权重是否沿补丁维求和为 1softmax 归一化的数学性质h5 输出格式能否正常读写真实数据的目录结构和维度是否符合预期。通过这个测试我们可以把环境问题和逻辑问题提前切割干净。后面如果数字对不上我可以确定问题出在数据和评测逻辑上而不是某个包没装好。二、推理复现作者的评测脚本逻辑不复杂每条切片嵌入做 z-score → 训练集上拟合 StandardScaler → 逻辑回归class_weightbalanced在验证集上扫正则强度 → 测试集报 balanced accuracy。我的02_eval_classification.py就是按照这个流程走的连正则网格都照搬了作者那个相当粗犷的1/logspace(-100, 100, 50)——跨越 200 个数量级的网格 effectively 就是在几乎不正则到几乎全零之间二分搜索。第一次跑 EBRAINS 30 类ELF 得到 0.7184和论文的 0.757 差了快 4 个点。这种量级的差距在评测复现里显然不对劲——评测代码是确定性的不可能凭空丢 4 个点。为了找到问题我跑去翻日志一行不起眼的 warning 引起了我的注意invalid value encountered in cast——有标签映射成了 NaN。翻作者仓库里的标签字典才发现30 类脑肿瘤分型的标签字典和数据集 CSV 里的诊断名称对不上。测试集 573 张切片里有 119 张的诊断比如 “Meningothelial meningioma”、“Diffuse astrocytoma, IDH-mutant”根本不在这个字典里。为了解决这个问题我跑去翻作者随数据发布的结果 CSV ——prediction_results_chief.csv的列头是prob_0_Glioblastoma...到prob_29_Medulloblastoma...30 个类名按顺序排开用它替换仓库脚本里的旧字典之后问题解决。顺带发现仓库字典里第 20~29 类和实际评测用的完全不同猜测是作者迭代实验时的历史遗留。论文图 2C 的核心论点是ELF 集成高于任何单一基础模型。恰好作者发布了每个模型单独过 ELF 编码器的嵌入这让我们可以亲手验证五个单模型分支的 BA 在 0.703–0.722 之间最好的是 Virchow20.722论文里也是它最强0.702而五模型集成的 ELF 拉到 0.7563——超出最好的单模型 3.4 个点。论文还对比了简单拼接的 COBRA-II0.706和 ABMIL 聚合0.699我们虽然没有完全复刻这些 baseline但从五个单模型各自都卡在 0.71 附近一拼接就跳到 0.756这个现象本身你就能感觉到模型间的互补信息是真的存在的而 ELF 的编码方式把它榨出来了。BRACS 7 类任务的结果也一致ELF 0.417 为四个模型中最高论文值 0.457在这个只有 87 张测试切片的任务上置信区间本来就宽到 ±0.1我们的值稳稳落在里面。此外作者发布了每个模型的注意力权重这得以让我们能亲手做论文里的两个机制分析。第一嵌入空间长什么样为了回答这个问题我对 EBRAINS 12 个粗分类做了 t-SNE每类抽样 ≤30 例左图是 ELF 集成嵌入右图是对比方法 CHIEF。左图里 12 种脑肿瘤各自抱团边界清晰右图基本糊成一团。这对应论文图 2B 的观察——好的切片嵌入不需要微调就应该能把疾病类别分开。第二五个模型真的在看不同的地方吗取同一张切片把五个模型分支的注意力权重画出来并算两两相关注意力图的 Pearson 相关大多在 0.0–0.2 之间只有 H-optimus-0 和 Virchow2 之间到 0.48——这两家本来就是远亲都是 DINOv2 系的 ViT-H/14。这个结果复现了论文图 S2A 的结论每个模型盯着的区域确实不同互补性是真实的不是统计巧合。三、小规模完整复现上面那个结果估计给不少人看嗨了但是有的人会质疑嵌入是作者给的万一作者的嵌入提取就有问题呢所以从原始图像开始我也小范围的带着大家跑一遍。论文的 TCGA 非整倍体任务图 3D很适合做这个预测目标是非整倍体分数Aneuploidy Score衡量染色体不稳定程度的连续值仓库里自带官方 train/val/test 划分。但全量是 10,854 张切片我们只取分数两端的少量切片一半是分数最低基因组最稳定的病例一半是分数最高最不稳定的病例。如果 ELF 的嵌入真的编码了染色体不稳定相关的形态学信息那么在嵌入空间里这两端应该可分。五步流水线① 挑切片、下载GDC 的接口是公开的03_gdc_download.py做的事情读官方 test CSV → 选分数两端的小体积切片 → 用 GDC files API 查 file_id → 下载 SVS。有个小技巧TCGA 切片小的几十 MB、大的上 GB而 API 会返回文件大小优先挑小的能把下载量砍掉一个数量级。计划 36 张实际下载完成 27 张——GDC 里约六分之一的切片文件缺失不同批次归档问题或超出体积上限。② 补丁提取04_extract_patches.py是个 CLAM 风格的轻量实现低分辨率层级上做 Otsu 阈值分割 形态学清理把背景剔掉再按 0.5 µm/px 的物理分辨率约等于 20 倍物镜布网格、裁补丁。每个补丁会生成一张位置预览图方便人工检查有没有把背景误当成组织绿色框就是被选中的补丁位置——组织区域全覆盖载玻片背景被正确剔除。中间白色的孔洞福尔马林固定造成的组织空腔虽然没有被分割掉但补丁级别的特征提取会自己消化这些局部空白影响不大。如果一张切片的预览图上几乎没有绿框多半是扫描质量问题直接看下一张。③ 基础模型提取补丁特征模型的加载方式各不相同全在05_pfm_features.py里UNI 要显式加init_values1.0它的权重带 LayerScale 参数不加会报 unexpected keysGigaPath 和 H-optimus-0 是 timm 一键加载CONCH v1.5 官方仓库只发布了 vision tower 权重得自己按 openclip 的结构搭主干再灌权重。全过程约 4 小时22 张切片 × 4 模型4060 上 fp16 推理UNI 约 20 分钟两个 ViT-H/14 各约 1 小时。④ ELF 切片嵌入这一步直接调用作者的ELF/inference/代码零修改python scripts/06_elf_embed.py --feature-models uni conch_v1_5 gigapath h0命令行进去每张切片五条这里四条切片嵌入出来。⑤ 小规模非整倍体回归论文用 XGBoost 做回归我们照搬07_mini_aneuploidy.py一半训练一半测试报 Pearson 相关。结果与讨论实际GDC 下载完成 27 张非整倍体分数一端是 16 张 AS≥27 的高分切片另一端是 11 张 AS0 的切片——官方 test 集的分数低端几乎全压在 0这本身也是个有意思的数据分布现象其中 22 张顺利走完全部五步。回归结果XGBoost一半训练一半测试n_test11同一批 UNI 补丁特征朴素平均池化只有 r0.354、AUC 0.643而 ELF 的注意力聚合拉到 r0.862、AUC 1.000。这组对照直接印证了注意力聚合显著优于均值池化论文 Table S1 的结论在我们的小样本上方向完全一致。四模型集成 AUC 0.929两个分支甚至完美分开高/低非整倍体——分数两端的切片在 ELF 嵌入空间里几乎是两团分开的点云。对应论文图 3D 的观点不用测序光看 HE 染色的形态学就能读出基因组层面的信息。细心的朋友可能已经发现了单模型效果好像比集成模型还好这里要注意论文说集成优于单模型这个结论建立在 84 个生物标志物任务、6510 名患者的证据上我们这里 n_test11而且分数分布极端双峰0 和 27单个 UNI/CONCH 分支在这种二分类化的小测试上性能优越是完全有可能的我没有去核对了但是我觉得这个数据应该是UNI和CONCH的训练集所以有这个结果很正常。如果大家想在这个方向上深挖可以把数据都下载下来然后换更好的设备去验证一下。四、交付物清单与使用方法整个复现工程已经打包成一个可直接投喂 AI 编程助手Codex / Zcode / WorkBuddy 等的仓库ELF-reproduction/ ├── AUTORUN.md # 丢给 AI 助手按步骤自动执行 每步验收标准 ├── README.md # 人类读者手册环境、命令、FAQ、与论文差异清单 ├── scripts/ # 00-09 编号即执行顺序含一键 run_all.py ├── checkpoints/ # 官方 ELF 权重0.6MB ├── results/ # 本次复现的全部实验输出 与论文对照表 ├── figures/ # 本文全部配图可复现 └── blog/ # 本篇博客所有的内容都已经上传到了MedX里感兴趣的朋友可以订阅MedX获取
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

大模型实操入门:用 TaoToken 统一 Key 跑通第一个对话 Demo 2026/9/28 6:36:29

大模型实操入门:用 TaoToken 统一 Key 跑通第一个对话 Demo

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
C++递归反转链表:递推回归与核心代码逐行拆解 2026/9/28 6:36:29

C++递归反转链表:递推回归与核心代码逐行拆解

链表反转这个题,我在面试候选人和带新人时反复讲过。很多教材和题解会直接给你一个递归函数,三五行代码就完事,看起来简洁漂亮,但初学者照着抄完往往一脸懵:递归的终止条件为什么是两个?head->next->…

阅读更多 →
MySQL连接控制插件实战:防暴力破解的延迟机制与参数调优 2026/9/28 6:36:28

MySQL连接控制插件实战:防暴力破解的延迟机制与参数调优

我接手过不少 MySQL 实例,第一件事永远不是看性能,而是先翻错误日志里 Access denied 出现的频率。有一次半夜两点,日志里每分钟刷几十条Access denied for user root... using password: YES,3306 端口又被人拿字典撞库了。这类攻…

阅读更多 →
深入理解MySQL InnoDB:架构、事务、锁机制、索引与性能调优实战 2026/9/28 6:36:27

深入理解MySQL InnoDB:架构、事务、锁机制、索引与性能调优实战

先声明一下:这篇文章不谈任何旁门左道,只聊 MySQL 默认存储引擎 InnoDB 这个正主。你在任何后端岗位面试、监控告警、慢日志分析里几乎都会碰到它,它是绝大多数线上业务真正在跑的引擎。很多同学对 InnoDB 的认知停留在“默认引擎、支持事务”…

阅读更多 →
.NET 开发 MCP 服务器完全指南:用 TaoToken 统一 Key 打造智能数据库查询助手 2026/9/28 6:36:21

.NET 开发 MCP 服务器完全指南:用 TaoToken 统一 Key 打造智能数据库查询助手

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Chrome DevTools MCP:让AI编程助手自己打开浏览器调试页面 2026/9/28 6:36:15

Chrome DevTools MCP:让AI编程助手自己打开浏览器调试页面

前阵子有朋友在群里吐槽,说用AI编程助手改一个前端页面,连续改了七八次都不对,AI每次改完都说“请手动打开浏览器确认一下”。我太懂这种感觉了——问题不在模型笨,而是AI编程助手手里没有“眼睛”。后来我给开发环境接上 Chrome …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉