Evidential Reasoning Advances Interpretable Real-World Disease Screening¶
会议: ICML 2026
arXiv: 2605.15171
代码: https://github.com/DopamineLcy/EviScreen (有)
领域: 医学图像 / 可解释 AI / 异常检测
关键词: 双知识库、循证推理、coreset 记忆库、对比检索、临床导向评测
一句话总结¶
EviScreen 用「正常 + 病理」双知识库做区域级证据检索,再以 cross-attention + self-attention 在当前病例和证据间做循证推理,既给出回溯式可解释性(哪几个历史病例支持当前判断)又给出定位可解释性(对比检索得到的异常图),在 4 个真实外部测试集上把高召回处的特异性提升到 SOTA。
研究背景与动机¶
领域现状:医学影像疾病筛查目前有两条主流:(a) 偏离式预测(unsupervised anomaly detection,PatchCore、SimpleNet…)只用正常样本建模,遇到偏离即报警;(b) 直接预测(二分类全监督),用 Grad-CAM 做事后定位。
现有痛点:(a) 完全没利用病理样本中丰富的信息,对复杂模态(胸片、皮肤镜)能力有限;(b) Grad-CAM 类事后图被多项研究证明定位质量差,且没法解释「为什么这块区域看起来像病灶」 — 缺少循证推理。原型方法 (ProtoPNet 等) 用固定数量原型代表预设类,扩展性差、覆盖不了真实临床多样形态。
核心矛盾:临床医生看片是「拿出过往相似病例对照」做决策;现有模型要么不看历史病例,要么看的是「学到的几十个抽象原型」 — 与真实诊断流程脱节。
本文目标:(1) 设计一个能像医生一样「从可扩展病例库里找相似区域级证据」的筛查框架;(2) 建立面向临床的真实评测(外部测试 + 高召回处的特异性)。
切入角度:把异常筛查重塑为「检索 + 推理」两段式 — 用 foundation model 提区域特征,构建正常与病理两个 coreset 知识库;查询图像的每个 patch 在两库内做 \(k\)-NN 检索,再让模型基于这些证据 token 做 attention 推理。
核心 idea:用「正常 vs 病理」两个知识库做对比检索就能既给定位(异常图 \(\mathbf M = \text{ReLU}(\mathbf M_N - \mathbf M_P)\))又给推理(cross-attention 把证据融进 query feature),把「事后 Grad-CAM」变成「内置证据流」。
方法详解¶
整体框架¶
两阶段。阶段 1 双知识库构建:把训练集切成「建库子集」\(\mathcal X^B_{N/P}\) 与「训练子集」\(\mathcal X^R_{N/P}\);用冻结的 foundation model \(F_\theta\) 抽中间层 patch 特征,再经局部聚合 \(\mathcal G_{agg}\) 形成区域特征集合 \(\mathcal S_{N/P}\);用 greedy coreset subsampling(最小化 \(\max_m\min_n\|m-n\|_2\) 的 NP-hard 近似)压成紧凑知识库 \(\mathcal K_N,\mathcal K_P\)。
阶段 2 推理:给查询图 \(\mathbf x\),先抽特征图 \(\mathbf Z=\mathcal G_{agg}(F_\theta(\mathbf x))\in\mathbb R^{h\times w\times d}\);每个 patch query \(\mathbf Z(i,j)\) 在 \(\mathcal K_N,\mathcal K_P\) 各做 \(k\)-NN 得到证据 \(\mathbf E_N,\mathbf E_P\in\mathbb R^{h\times w\times k\times d}\);进入「证据感知推理」模块逐层 cross-attention(query ↔ 证据)+ self-attention(patch 间精化);最后两支的 [CLS] 拼接送 MLP 得预测 \(\hat y\)。同时提供 training-free 变体:用对比检索 \(\mathbf M = \text{ReLU}(\mathbf M_N - \mathbf M_P)\) 直接 pool 出分数。
关键设计¶
-
双 coreset 知识库 (Dual Knowledge Bank):
- 功能:用紧凑、可扩展的方式同时表征「正常区域」与「病理区域」的多样形态。
- 核心思路:在 \(\mathcal X^B_N,\mathcal X^B_P\) 上抽 patch 特征→局部聚合→greedy coreset 子采样,得到 \(\mathcal K_N,\mathcal K_P\)。优化目标 \(\mathcal K^*=\arg\min_{\mathcal K\subset\mathcal S}\max_{m\in\mathcal S}\min_{n\in\mathcal K}\|m-n\|_2\) 是经典 NP-hard 问题,迭代贪心近似得到覆盖良好的子集。
- 设计动机:相比 ProtoPNet 类「固定 \(K\) 个学习原型」,coreset 的容量可随数据自由扩展,能覆盖现实临床里千变万化的病灶形态;且病理图本身「正常 + 病灶混合」的脏数据用 coreset 而非分类预设 prototype 才能容纳。
-
证据感知推理 (Evidence-Aware Reasoning):
- 功能:把每个 patch 检索到的 \(k\) 个证据向量真正融进 query 的特征,输出考虑了「与历史相似病例对比」的新表示。
- 核心思路:每层先做 cross-attention:\(\mathbf T^\ell_N(i,j)=\operatorname{softmax}\big(\mathbf Z^\ell_N(i,j)\mathbf E_N(i,j)^\top/\sqrt d\big)\mathbf E_N(i,j)\);再 reshape 并做 patch 间 self-attention 实现 inter-patch refinement;正常分支 \(\mathbf Z_N\) 与病理分支 \(\mathbf Z_P\) 并行,最后 \(\hat y=\text{MLP}([\mathbf Z_N^{\text{CLS}};\mathbf Z_P^{\text{CLS}}])\)。
- 设计动机:cross-attention 把「外部证据」明确写进特征图,使每个预测都有可追溯的 NN 证据(回溯式可解释性);分两支保留「与正常相似 vs 与病理相似」的二维信号,比单一相似度更接近临床「鉴别诊断」直觉。
-
对比检索异常图 (Training-Free Variant):
- 功能:在不训练任何参数的情况下给出像素级异常定位,作为强 baseline 与方法的可解释性基础。
- 核心思路:每 patch 算到两库 \(k\)-NN 的平均距离 \(\mathbf M_N,\mathbf M_P\in\mathbb R^{h\times w}\),异常图为 \(\mathbf M(i,j)=\text{ReLU}(\mathbf M_N(i,j)-\mathbf M_P(i,j))\) — 即「离正常远但离病理近」的区域才高亮。最终 score 由 \(\mathbf M\) pool 得到。
- 设计动机:纯 PatchCore 类只用 \(\mathbf M_N\),会把所有罕见正常变异都误标;用「正常—病理」差分能滤掉非病理的偏离,定位更聚焦;也直接给出与 Grad-CAM 在机制上完全不同的、内生的定位图。
损失函数 / 训练策略¶
训练侧:仅训练「证据感知推理模块」(cross/self-attention + MLP),foundation model 冻结,loss 为二分类 BCE。training-free 变体则完全无可学习参数。\(k\)、知识库大小、cross-attention 层数 \(L\) 是主要超参。
实验关键数据¶
主实验¶
10 个公开数据集,三大模态(眼底、胸片、皮肤镜),关键看 4 个外部测试集:JSIEC、RIADD、CheXpert、Derm12345。临床导向指标:AUROC、AP、Spe@95%R(95% 召回处的特异性)、Spe@99%R(99% 召回处)。结果(百分比):
| 指标 | EviScreen | EviScreen-TF (训练免) | FM | PatchCore* | PatchCore | NFM-DRA | DRA | SCRD4AD | EDC | SimpleNet | CIPL |
|---|---|---|---|---|---|---|---|---|---|---|---|
| AUROC | 98.06 | 96.76 | 95.84 | 94.96 | 92.12 | 95.53 | 92.53 | 94.88 | 79.12 | 73.73 | 94.83 |
| AP | 96.10 | 94.20 | 94.24 | 89.61 | 86.62 | 93.23 | 89.53 | 89.85 | 71.44 | 57.66 | 91.36 |
| Spe@95%R | 94.74 | 91.48 | 87.95 | 87.26 | 81.09 | 90.37 | 80.12 | 88.50 | 51.45 | 53.81 | 87.33 |
| Spe@99%R | 91.62 | 87.74 | 79.29 | 83.31 | — | — | — | — | — | — | — |
消融实验¶
| 配置 | 关键效果 | 说明 |
|---|---|---|
| Full EviScreen | 全指标最佳 | 双库 + 推理模块 |
| 去掉病理库(只用 \(\mathcal K_N\)) | Spe@95%R 下降 | 验证 dual bank 的不可替代 |
| 用固定原型 (ProtoPNet 风) | 性能下降 | coreset 比固定原型容量大 |
| 仅 cross-attention(去 self) | 略降 | inter-patch refinement 提供上下文一致性 |
| training-free 变体 | 已超 PatchCore | 单靠对比检索就是强 baseline |
关键发现¶
- 临床指标差距更大:相比常用 AUROC,本文方法在 Spe@95%R、Spe@99%R 上对 baseline 的领先幅度更显著(如 Spe@99%R 高 PatchCore* 8.3 个点),说明在临床真正关心的高召回区间,循证推理优势凸显。
- training-free 变体即超 PatchCore:仅对比检索就比传统 anomaly detection baseline 强,验证「双库 + 对比」这一思路本身的有效性。
- 可扩展性:coreset 大小可线性扩张,便于将来不断加新病例 — 这是 prototype 方法做不到的。
亮点与洞察¶
- 可解释性双轨:同时给出回溯(retrospection)+ 定位(localization)两类解释 — 远比 Grad-CAM 一张热图更接近放射科医生的实际诊断流程。
- 临床导向评测框架:以 10 数据集 + 外部测试 + Spe@high-Recall 为核心,是少数真正面向临床部署的医学影像评测设计,可作为社区参考。
- 可迁移的「对比检索 + 注意力融合」:这一范式可直接搬到其它领域(工业缺陷检测、卫星变化检测)中所有需要「正常 vs 异常」鉴别的任务。
局限与展望¶
- 双库构建需要足够多且代表性强的病理样本;在罕见病或新发疾病上「病理库稀疏」会让对比检索失效。
- foundation model 全程冻结,效果天花板被它绑死;针对医学 domain 的 foundation model 持续替换可带来增益。
- 推理时每个 patch 都做 \(k\)-NN,库大时延迟显著;coreset 增长策略与近似 NN 加速结合是显然的扩展点。
- 当前 reward / loss 不显式监督「证据—预测一致性」,未来可加 contrastive 项使检索到的证据真正主导预测。
相关工作与启发¶
- vs PatchCore / SimpleNet:同样用 coreset 记忆库,但只用正常库;EviScreen 把病理库作为对照引入,对比检索定位更精准。
- vs ProtoPNet / 原型方法:固定原型数受限于预设类别;coreset 容量自由、覆盖更广。
- vs Grad-CAM 类事后解释:本文解释是「内生」的(来自检索 + cross-attention),不依赖梯度可视化技巧,解释质量更高更稳。
评分¶
- 新颖性: ⭐⭐⭐⭐ dual coreset + 对比检索 + 双轨可解释的组合在医学筛查任务中是新颖完整方案
- 实验充分度: ⭐⭐⭐⭐⭐ 10 数据集、3 模态、外部测试 + 临床指标 + training-free 消融非常全面
- 写作质量: ⭐⭐⭐⭐ 三大局限清单 + 三大贡献清单结构清晰,图 1 三种范式对比简洁有力
- 价值: ⭐⭐⭐⭐⭐ 给出可部署的临床导向 pipeline 与评测协议,对医学影像社区有方法 + benchmark 双重贡献