十年前的卷积网络赢过两个前沿大模型:200 例活检皮肤病变的对照实验

200 例经组织病理确诊的皮肤病变,三套模型看同样的照片,做同一道六选一的选择题。一台十年前发布、在一块 H100 上微调了约二十分钟的卷积网络认对 125 例,GPT-6 Astra 认对 84 例,Claude Fable 5.1 认对 85 例。允许答第二选择时,三个数字变成 173、134、138。

做这个对照的是伦敦国王学院圣约翰皮肤科研究所 Lynch Lab 的皮肤科医生。测试材料来自 ISIC 档案 2025 年公开的 MILK10k 数据集:10,480 张图像,对应 5,240 处病变,每一处都配有临床近景和皮肤镜两张照片,95.7% 经过活检或切除,组织病理是诊断金标准。数据集在 ISIC 档案的编号是 10.34970/648456,详细描述发表在《Journal of Investigative Dermatology》(10.1016/j.jid.2025.06.1594)。

临床近景:耳部浸润性黑色素瘤,厚度不足 0.8 毫米

同一处病变的皮肤镜照片,卷积网络据此判对,两个大模型都判成脂溢性角化

测试怎么搭的

从 MILK10k 里随机抽 200 处病变,全部经活检确认,分成两组:

  • 不该放走的 100 例:30 例黑色素瘤、25 例基底细胞癌、25 例鳞状细胞癌(含 Bowen 病)、20 例光化性角化病。
  • 可以安全放走的 100 例:50 例良性痣、50 例脂溢性角化。

良性病变也全部做了活检,这一点决定了难度。一个人决定把自己身上一颗痣切下来,本身就说明它在临床上让人不放心,这类样本比档案里随手可见的照片难判得多。

两张大模型拿到的输入只有这两张图,任务是给出六个诊断里最可能的一个(或回答"不确定")、一个置信度、一个第二选择,以及这处病变能否不做处理、不活检、不随访直接放走。两个模型都用默认设置,同一个提示词,没有一例拒答。

卷积网络这边故意选了不算先进的一台:Inception v3,Google 在 2015 年发布,论文里写的是少于 2,500 万参数、单次推理 50 亿次乘加,ILSVRC 2012 验证集上单帧 top-1 错误率 21.2%、top-5 错误率 5.6%。它先在 ImageNet 的日常照片上预训练,再在 ISIC 档案的 68,011 张皮肤镜和临床照片上全层微调,单卡 H100,20 个 epoch,每个 epoch 约 50 秒。网络结构改了两处:原本输出 1,000 个 ImageNet 类别的层换成九个诊断分组,旁边再加一个输出判断这张图是皮肤镜还是临床近景,两个输出共用同一批特征一起训练,图像类型判断在留出集上的准确率是 99.5%,它决定后续用哪一套阈值。

数据划分按病人和病变隔离,同一个人的同一处病变不会跨集合出现。87,206 张标注图像分成训练 68,011 张、验证 8,523 张、内部测试 8,517 张;另有 1,286 张来自未参与训练的布宜诺斯艾利斯意大利医院作为外部测试;869 张留给大模型对照,包含页面上那 600 张样例。

在 8,517 张留出测试集上,这台网络区分恶性与良性的 ROC 曲线下面积是 0.944,只算 4,364 张组织病理确诊的样本是 0.875,外部医院那批是 0.934,临床近景单张判断降到 0.90。换到这批全部活检过的 200 例难例,曲线下面积掉到 0.86(皮肤镜)和 0.82(临床近景)。

成绩单

指标GPT-6 AstraClaude Fable 5.1CNN(Inception v3)
首选诊断正确(共 200)84(42%)85(42%)125(62%)
前两选正确134138173
黑色素瘤列为首选(共 30)81113
危险病变被留下(共 100)9796预设阈值下 77;阈值对齐后 98 或 99
良性病变被放走(共 100)3222预设阈值下 76
黑色素瘤被放走(共 30)34预设阈值下 18;阈值对齐后 2 或 1

官方结果表:200 例活检病变上的三组对照

42% 与 42.5%,对 62.5%。两个大模型各自落后约 20 个百分点。按二项分布给每个比例算 95% 置信区间:卷积网络 55.6% 至 68.9%,两个大模型分别是 35.4% 至 48.9% 和 35.9% 至 49.4%。两组区间不重叠,这个差距站得住。

黑色素瘤那一行站不住。13/30 的区间是 27.4% 至 60.8%,11/30 是 21.9% 至 54.5%,8/30 是 14.2% 至 44.4%,三个区间大面积重叠。30 例黑色素瘤排不出名次,作者自己在局限里也写了这一条。

良性病变的处理差距反倒最硬:76/100(区间 66.8% 至 83.3%)对 32/100(23.7% 至 41.7%)和 22/100(15.0% 至 31.1%)。把良性的东西判成需要处理,是这套系统在实际场景里最贵的错误类型之一,多一次不必要的活检就多一次创伤和病理成本。

三种失败方式

错误结构比总分更有信息量。

GPT-6 Astra 有一个压倒性的偏好答案:把 75 处病变判成基底细胞癌,而实际只有 25 处,其中包括 30 例黑色素瘤里的 14 例。Claude Fable 5.1 的偏好落在光化性角化病上,53 处判成它,实际 20 处。两个模型都在高频类别上塌缩,把不确定性推给了一个最常见的诊断标签。

卷积网络的错误方向相反。它答错的 17 例黑色素瘤里,8 例被判成良性痣,6 例被判成脂溢性角化,误判落在"可以放心"的那一侧。这是临床上最危险的错误方向,比答错一个罕见病严重得多。

良性那边它的优势集中在两类:50 例痣认对 37 例,50 例脂溢性角化认对 26 例;对应的两个大模型是 16 和 13,以及 33 和 6。基底细胞癌上它比 GPT-6 Astra 少对一例,光化性角化病上两个大模型都赢它。

阈值决定安全边界

总分那一栏有个容易被忽略的注脚。卷积网络用的是在验证集上定好的固定阈值,设定目标是让 90% 的恶性病变落在阈值之上。皮肤镜图片的恶性阈值是 17.0%,恶性或光化性角化是 21.7%;临床近景分别是 35.5% 和 53.2%。在这批更难的活检样本上,这套阈值放走了 30 例黑色素瘤里的 18 例,远高于两个大模型的 3 例和 4 例。

把阈值对齐到大模型的敏感度之后,同一个网络只放走 2 例或 1 例,仍然好于大模型。作者另有一句数字:在这批样本上,30 例黑色素瘤里 6 例的皮肤镜图片得分低于恶性阈值,临床近景则多达 14 例。

这意味着 62% 对 42% 这个比较里混着两件事:模型本身的判别能力,和人为选定的工作点。默认阈值换来的高特异度,代价是黑色素瘤漏检;把工作点挪到相同敏感度,卷积网络在两条轴上同时占优。临床上任何筛查系统的价值都写在具体工作点上,单看一个准确率数字无法判断它能不能用。

窄模型为什么还赢

ImageNet 预训练的卷积核学到的是边缘、纹理、颜色梯度这类底层特征,68,011 张皮肤镜照片的微调把这批特征重新加权到色素网络、血管形态、角化模式上。任务和架构对得上,训练数据全部来自同一分布,输出空间只有九个类别。这套组合在窄任务上很难被打败。

通用大模型的处境不同。它要在一套覆盖几十种模态和任务的参数里,把一张皮肤镜照片映射到皮肤病学术语,中间没有专门的纹理先验可用。它在编程和数学上表现好,是因为训练语料里这类内容密度极高;皮肤镜照片的密度低得多。

Hacker News 上这条讨论里有一句被反复引用的反驳:给大模型接一个计算器,计算器的优势立刻消失。放到这里同样成立——给大模型一个训练好的分类器当工具,两者的差距会变成调用开销的差距。真正的问题因此变成分工:判断该不该做这件事交给通用模型,具体的判别交给窄模型。这条路径的工程成本比微调一个视觉模型低,但需要先知道该调用什么。

患者视角

同一个实验换一种问法:只给临床照片,问"我需要去看医生吗"。两个大模型在几乎所有病例上都回答需要,包括良性的那些。同一问法下,面对活检确诊的黑色素瘤,两个模型的建议就医比例是 99/100 和 98/100。

这个结果把两类系统的定位区分开了。作为分诊闸门,两个大模型的敏感度极高,代价是把大量良性病变推给门诊;作为判别器,它们的六分类准确率不到一半。同一套权重,换个提示词就从过度保守滑到另一个极端。

边界

作者列了四条局限,每一条都影响结论的适用范围。

样本量小。200 例能显示趋势,不足以给接近的结果排名;30 例黑色素瘤让最关键的那个数字区间极宽。每个大模型病例只跑了一次,同一输入多次运行的答案会波动。

病例偏难。所有病变都做过活检,代表的是临床已经决定要切的样本。在档案里普通图像上,这台网络区分该不该放走的能力强得多(曲线下面积 0.96,这批是 0.86)。

数据污染方向对大模型有利。MILK10k 从 2025 年起公开,两个大模型的训练语料可能包含它;卷积网络那侧确定没有。

卷积网络不是最先进方案。Inception v3 是基线,当前皮肤癌诊断的先进方案用图像 Transformer 集成、训练数据更多,建立在其上的已获监管批准的产品表现显著更好。

另外,作者披露了工作方式:实验设计由他本人完成,临床判定也由他做;分析和初稿由 Claude Code 生成,测试的两个大模型之一是 Anthropic 的产品。评分脚本对组织病理结果运行。

自己跑

测试用例、提示词、两个大模型的每一条回复、评分代码打包在一个下载文件里。卷积网络做成了网页版,模型权重通过 ONNX Runtime Web 下载到本地,有 WebGPU 时走显卡(fp16,44 MB),没有时退回 CPU 的 WebAssembly(fp32,87 MB),图片的像素不离开设备。随机样例按钮抽的就是这 200 例。

页面上的模型卡写明了用途限制:不是医疗器械,不能用于诊断,会漏掉皮肤癌包括黑色素瘤,不能拿来决定要不要看医生。研究阈值的作用是让 90% 的恶性病变得分高于它,在更难的活检样本上抓到的比例更低。

原作者:Lynch Lab,圣约翰皮肤科研究所,伦敦国王学院。图像来自 MILK10k 数据集(MILK 研究团队,国际皮肤成像协作组织),CC BY-NC 许可。数据集 DOI:10.34970/648456。