五种视网膜疾病,会"各司其职"的专家:稀疏专家混合模型在眼底照片上揭示了什么

Nagur Shareef Shaik 及其同事提出了一种不对所有眼底图像都执行相同计算的架构:一个"稀疏"路由机制会根据存在的病变,把每张照片送往一个专门的子网络——一个"专家",其前端还有一个由病灶引导的注意力模块。在一个五分类数据集(健康眼、糖尿病视网膜病变、AMD、视网膜前膜、青光眼)上,采用按患者不重叠的交叉验证进行评估,模型取得了 0.912 的宏平均 AUC 和 0.653 的宏平均 F1;更重要的是,它的各个专家确实按疾病实现了专门化(p < 0.001)。这在可解释性上是一项优雅的贡献,但亮眼的 AUC 与平平的 F1 之间的落差,以及缺乏外部验证,都提醒我们:一个精巧的机制还算不上一个筛查工具。

背景

眼底照相是一项常见且低成本的检查:几秒钟内即可拍下视网膜、视神经和血管的彩色图像。它是人体少数能够直接观察血管和神经组织的部位之一,因此成为自动化筛查的沃土——糖尿病视网膜病变便是最成熟的例子。

问题在于:在现实中,同一只眼睛往往同时患有多种病变。一位年长的糖尿病患者可能同时表现出糖尿病视网膜病变、年龄相关性黄斑变性(AMD)以及早期青光眼。然而,大多数深度学习分类器对每一张图像都执行完全相同的计算,无论其内容如何:一个被期望"包办一切"的单一"整体式"网络。这种一刀切与现实格格不入——AMD 的体征(黄斑中央的沉积物)与青光眼(视神经的凹陷)或视网膜前膜(视网膜表面一层薄薄的纤维膜)的体征毫无相似之处。

专家混合模型(Mixture-of-Experts,MoE)的思路正是针对这一点:不再使用单一网络,而是训练多个"专家",再由一个路由模块为每张图像决定激活哪些专家。当路由是稀疏(sparse)的时候,对某张给定图像只有一小部分专家参与工作:既提升了容量和专门化,又无需每次都付出运行整个网络的计算代价。这套机制在大语言模型中已很流行,本文将其引入视网膜筛查——并与该团队此前的工作 Guided Context Gating(一个学会聚焦图像显著病灶的注意力模块)相结合。

方法

该架构串联两个模块。在输入端是 Guided Context Gating(GCG):一种空间注意力机制,按相关性对图像各区域加权——它在某种意义上学会了"该往哪里看",突出病变区域而非视网膜均匀的背景。经此过滤的表示被切分为 token(特征令牌,相当于被编码的小图像块),再送入 Mixture-of-Experts 模块。

在那里,一个路由网络(gating network)把每个 token 分配给一小部分专家——这就是稀疏条件计算:在网络中所走的路径取决于图像内容。作者的假设是,如果训练顺利,不同专家最终应当专门化于不同病变,从而为模型"看到了什么"提供一种可解释的读法。

评估涵盖五个类别:健康眼、糖尿病视网膜病变、AMD、视网膜前膜和青光眼。采用按患者不重叠的五折交叉验证(5-fold):把数据分成五份,用其中四份训练、第五份测试,如此轮换——而且关键在于,同一位患者的图像绝不会同时出现在训练集和测试集中。这个细节很重要:把同一患者的双眼混入训练与测试,是一种典型的数据泄漏(data leakage),会人为抬高分数。本文对此做了防范。

报告了两项指标。AUC(ROC 曲线下面积)衡量模型把一个阳性样本排在阴性样本之上的能力;0.5 为随机,1.0 为完美。F1 综合了精确率(在被标记的样本中有多少是正确的)与召回率(在真正的病例中有多少被找出)。前缀宏(macro)意味着对五个类别等权平均:一种罕见病与一种常见病同等重要,这比被多数类主导的整体平均更为严格——也更为诚实。

结果

模型取得了 0.912(± 0.008)的宏平均 AUC0.653(± 0.014)的宏平均 F1。各折之间较小的标准差表明,在不同划分下性能稳定。

然而,核心结果并非这一原始分数,而是专家的专门化:专家分配显著依赖于疾病(p < 0.001,即这种关联在纯粹偶然下极不可能出现)。健康眼以及形态上界限分明的病变——视网膜前膜、AMD——都被分配到了专属的专家。借助 Grad-CAM++(一张显示哪些区域左右了决策的热力图)和 t-SNE(内部表示的二维投影)的可视化证实:路由与局部病灶相吻合,而多种病变并存的病例则位于其各构成成分的簇之间——这正是一个"理解"共病、而非把它强行塞进单一类别的模型所应有的表现。

临床解读须谨慎。0.912 的 AUC 看似出色,但 0.653 的宏平均 F1 讲述了另一个故事:在五个类别上平均后,精确率/召回率的平衡依然平庸,说明至少在某些类别上存在大量错误——很可能是较不常见或更细微的那些,例如早期青光眼。换句话说,在 1000 张被筛查的图像中,该模型能正确归类大多数健康眼和典型病例,却会漏掉或错分相当一部分不显眼的病变。摘要没有提供各类别的细分,因而无法准确说出究竟哪些类别受影响——这本身就是一处不足。

好的方面

可解释性根植于结构,而非事后拼接。许多工作在流程末端加上一张显著性图,来"解释"一个依旧不透明的网络。而这里,可解释性是构造性的:向专家的路由本身就是一种内部机制,且其对疾病的依赖已在统计上得到确立(p < 0.001)。这是一个可度量的解释,而非一幅插图。

认真对待共病。把视网膜病变视为互斥,是一种省事却错误的简化。通过 t-SNE 展示混合病例位于其构成成分之间,是对一只眼睛多病共存这一现实的具体刻画,而这恰是大多数分类器所抹平的。

规范的实验卫生。按患者不重叠的五折验证,避开了按患者的数据泄漏陷阱——这类陷阱在影像文献中制造出许多惊人却虚幻的 AUC。这算不上壮举,但这种严谨值得肯定,因为它太常被忽视。

不足之处

没有外部验证。一切都建立在内部交叉验证之上,只在单一的五分类数据集上进行。对于在其他拍摄设备、其他人群、其他国家上的表现,我们一无所知。这正是典型的人群偏倚:一个在单一分布上标定的模型,往往一旦更换相机或人群构成便会崩塌。没有外部队列,0.912 的 AUC 对泛化能力什么也说明不了。

AUC 与 F1 之间的巨大落差,以及会掩盖问题的聚合数字。看到 0.912 的 AUC 便欢欣,就会落入误导性指标的陷阱。在类别不平衡的多分类任务上,AUC 可以居高不下,而更贴近实际使用的 F1 却停留在中游。而且只报告聚合的宏分数,会掩盖模型究竟漏掉了哪些病变。对筛查而言,知道早期青光眼会被漏掉绝非小事:这才是决定性的信息,而它恰恰缺席了。

可解释不等于正确。一个会专门化的路由和几张漂亮的 Grad-CAM++ 图,并不能证明模型依赖的是真正的病理信号。显著性图以脆弱著称,而一个"专司 AMD"的专家,完全可能捕捉到的是与 AMD 相关的数据集伪影——这就是捷径学习(shortcut learning),模型学到的是一条寄生的捷径,而非疾病本身。路由与病灶之间表面上的一致令人鼓舞,但它并不能替代针对这一失效模式的核查。此外,可复现性上还有一片阴影:数据集的规模与来源、以及代码是否公开,在现阶段都尚未明确。

它改变了什么

研究界而言,本文展示了一个有趣的方向:让专家混合模型不仅是扩展规模的工具,更成为多病筛查中可解释性的手段。把路由分析当作"模型究竟学到了什么"的诊断工具,是一个可以超越视网膜、被复用的想法。这是一项方法学上的贡献,而非临床突破。

临床医生而言,眼下的影响为零。这是一个仅经内部验证的原型,没有外部队列,没有真实条件下的前瞻性评估,也没有监管身份。视网膜筛查工具在实践中早已存在——尤其是针对糖尿病视网膜病变——但这项工作位于更上游,处于架构概念验证的阶段。正如我们此前解读过的其他视网膜影像方法(见我们关于 OCT 中视网膜内层分割的分析),从一个漂亮的分数到临床应用之间,距离依然相当遥远。

患者和公众而言,其意义在于理念:我们正从"一个模型、一种疾病"的逻辑,走向能够认识到一只眼睛可以同时患有多种问题的系统——这更接近一次就诊的真实情况。但一个基准测试上的结果并不是一台已部署的设备,而人群偏倚的问题——模型在所有人群和所有设备上都能同样有效吗?——依旧完全悬而未决,这在许多影像 AI 中皆是如此(见我们关于 乳腺 X 线摄影中数据集来源特征的解读)。

延伸阅读

预印本:Nagur Shareef Shaik 等,Disentangling Co-Occurring Retinal Pathologies with Saliency-Guided Sparse Expert RoutingarXiv:2608.09752(2026)。此处复用的注意力模块,见该团队此前的工作 Guided Context Gating(arXiv:2406.13126)。关于医学影像中隐藏偏倚的背景,见我们的解读 关于在没有元数据的情况下识别弱势亚组