病理AI里的监督信息到底在干嘛?从标签到Nature复现与Onekey流程
所谓“监督学习”,关键在于用标签来牵引模型进行学习。在病理图像的场景里,标签通常可以涵盖:
组织来源:例如正常肺组织、肺腺癌(LUAD)、肺鳞癌(LUSC)
基因改变情况:如EGFR突变型与野生型、TP53突变型与野生型等
临床结局:复发/不复发、风险高/风险低
因此,所谓监督信息,本质上就是这些标签。放到病理AI的训练链路中,它并不是让模型随意去“看”,而是把明确指令告诉它:这个 patch(病理切片小块)来自某个带有已知标签的病例。
病理的输入通常是全视野数字切片(WSI),规模极大(常见达到10,000×10,000像素以上),无法直接送入网络。行业常用的标准做法是:
切块:将整张WSI切成成千上万个512×512像素的子图块(patch)。
提特征:借助预训练网络(如ResNet、Inception v3、ViT等)为每个patch提取特征向量。
聚合:把同一病例下的所有patch特征汇总成一个全局向量(例如平均、最大池化,或引入注意力机制)。
这样得到的结果是:每个病例形成一条高维特征向量,而且这条向量天生就关联到相应的标签。
由于特征维度可能达到上千维,往往存在大量与标签无关甚至彼此重复的信息。于是第一步通常先算每个特征与标签之间的相关程度(可用皮尔逊或斯皮尔曼等系数)。
保留与标签相关性更强的特征
移除相关性较弱或几乎没有相关性的特征
这一步常被称为“单变量筛选”:每次只考察一个特征与标签的关联关系。
这里的“单因素”对应的就是单因素逻辑回归。对每个筛选后留下的特征,都单独训练一个逻辑回归分类器,验证它在(二分类或多分类)任务上能否预测标签。
一般还会给出P值、OR值(比值比)、置信区间等统计量,用于进一步剔除单变量层面不显著的变量。
“cos”在这里是logistic的简写或口头近似。多因素逻辑回归则是把单变量分析中筛到的若干显著特征放进同一个逻辑回归框架里,同时评估它们对结局的独立作用。
这一步的作用包括:
控制潜在混杂因素
找出真正独立的预后或诊断相关因子
输出最终可用于预测的建模结果
回到最初的问题——病理AI中“监督信息”到底指什么?答案很明确:就是每个病例对应的结局标签。无论是切块、聚合、筛选还是回归,后续所有环节都围绕如何利用这些标签来训练模型或挑选出有用的病理特征。
Coudray等人在2018年发表于《Nature Medicine》的论文“Classification and mutation prediction from non–small cell lung cancer histopathology images using deep learning”,正是以TCGA数据库的H&E全切片为基础:使用由病理医生与分子检测共同确认的诊断标签、突变标签作为监督信号,训练深度学习模型完成癌症亚型识别与基因突变预测。
📘对应论文图片:
展示了完整实验策略:从TCGA获取数据 → 划分训练/验证/测试集 → 将WSI切成tile → 训练Inception v3 → 再把tile层面的预测进行聚合得到全切片分类。
由于全切片图像体量巨大,模型不能直接完整输入。常见流程是:
切块(512×512像素)
用Inception v3提取特征
聚合(例如概率均值或阳性占比)
每个小图块、每个病例都携带对应标签——这就是监督信息注入的方式。
三、分类任务:正常 vs 腺癌 vs 鳞癌,性能接近病理专家
论文构建了三类分类模型:
正常 vs 肿瘤 → AUC 0.99
LUAD vs LUSC → AUC 0.95
正常 vs LUAD vs LUSC →AUC 0.97
结果与三位资深病理医生的表现相当。更值得关注的是:
在模型发生误判的切片里,有50%的样本也被至少一位病理医生判错;
针对“至少一位病理医生误判”的54张切片,其中有45张最终被模型正确分类。
AI可以在病理分析中充当“第二双眼睛”,尤其适合识别形态学不典型、分化程度较低的肿瘤。
📘对应论文图片:
(ROC曲线对比)
论文最亮眼的部分之一,是仅依赖H&E染色切片图像就能预测肺腺癌中若干常见基因的突变情况。作者训练了一个多任务分类网络,同步预测10个最常见突变基因的状态,发现其中6个基因的突变能够被图像特征显著预测:
这类突变往往会改变细胞形态、极性以及排列方式,网络因此能够捕捉到人眼不易察觉的细微模式。
📘对应论文图片:
关键热图展示:4a呈现不同突变在LUAD tile上的预测概率分布;4b至4e展示TP53与STK11突变的空间异质性热图(蓝色到红色表示突变概率从低到高)。
尽管该研究主要聚焦端到端的分类与预测,但如果我们希望进一步解释哪些视觉信息真正与标签相关,或构建更偏传统、可解释的预后模型,就要回到经典统计分析的“流水线”:
相关性筛选:计算每个深度特征与标签之间的相关系数
单因素逻辑回归:对每个入选特征分别建模
多因素逻辑回归:将多个显著特征共同纳入同一模型,评估其独立贡献
这种流程在病理组学(pathomics)研究里非常常见:先用预训练模型生成特征,再借助传统统计方法完成筛选与建模,从而兼顾预测效果与可解释性。
监督信息=标签,这是所有监督学习的起点。
深度学习也能做端到端预测:直接从切片图像输出诊断或突变结论。
传统统计建模同样重要:还能输出OR值、P值等更贴近临床习惯的统计指标。
独立验证必不可少:TCGA用于训练,NYU用于外部验证,是提升论文可信度的关键。
第三部分:手把手教你做病理组学深度学习——Onekey实战
WSI裁剪成patch(从全切片到小图块)
Patch预处理(去背景、颜色标准化)
训练patch级深度学习模型(得到每个patch的概率或深度特征)
聚合到WSI/患者层面(多实例学习 MIL)
病理组学特征建模(使用机器学习分类器)
融合临床数据并开展单/多因素分析
自动生成论文(Onekey Paper)
Onekey提供相应的解决方案(Solution 6 / 11 / 18),全程无需编写代码,只需调整配置文件即可启动运行。
弱监督思路:无需人工逐块圈定肿瘤区域,整张切片对应的患者标签会作为监督来源,覆盖该患者所有patch。很多论文之所以能够快速落地,正是因为直接采用了弱监督。
在Onekey中,这一步叫 01_WSI_to_patch ,裁剪完成后你会获得几十到上百万数量不等的patch。
📌重要:同一位患者的patch必须始终放到同一个集合(训练/验证/测试)里,严禁数据泄漏。
纯白背景、纯黑阴影以及纯色杂质通常不含细胞信息,必须提前过滤。Onekey提供了:
老工具 patch_to_predict :只能去除白色区域
新工具 CNN_patch_to_predict :基于神经网络,能同时处理白色、黑色与各类纯色杂质,AUC可达0.98,推荐直接使用
配置 data_pattern 指向patch目录后即可一键跑。若有GPU,通常每位患者一分钟内就能完成;没有GPU则不建议做病理相关任务。
不同实验室的染色流程差异巨大,这会直接影响模型的泛化能力。Onekey支持三种颜色标准化策略:
method = "macenko" :速度最快,效果一般
method = "reinhard" :居中方案
method = "vahadane" :最慢,但通常效果最好
同时需要指定 reference 图像:把所有patch的颜色尽量对齐到参考图像。建议挑选一张最常见、最典型的patch做参照。
时间预估:100万个patch,在i9‑14900K、3个进程条件下大约7天。好消息是颜色预处理只需要做一次!后续换研究课题(例如复发→转移)也不用重复跑。
💡小技巧:保留一份原始patch和标准化后的patch,做对比实验以评估标准化带来的增益。
model_name :骨干网络选择
resnet18 :最快(4090约1200 images/s)
resnet50 :相对更慢(约600 images/s),但往往效果更稳
还可选择 inception_v3 、 mobileNet 、 twins_svt (ViT)等
epochs :建议30~50轮(演示时可设1;正式训练一定要调整)
batch_size :依据显存大小调整,4090通常可到128以上
num_workers :控制数据加载并行度;若CPU不足可设为0或1,否则可能出现 DataLoader worker died unexpectedly 的报错
审稿人常追问:“你为什么只用ResNet50?”更规范的回答是:先跑3到5个模型(ResNet18、ResNet50、InceptionV3、ViT),最后再说明“对比后ResNet50表现最佳”。Onekey支持一次配置多个模型并自动循环训练;把任务丢到后台运行,出去玩几天回来就能看到完整结果。
每个patch会输出预测概率(例如其为LUAD的概率)
中间层的深度特征(用于后续的传统统计建模)
虽然训练的是patch模型,但最终预测要落到切片或患者层面。多实例学习(MIL)就是常用的标准答案。
Onekey会自动完成四种聚合方式,并输出对应特征:
概率均值
阳性patch占比
直方图特征
词袋模型(BOW)特征
把这些特征拼接起来,就形成病理组学签名(pathomics signature)。它在形式上与影像组学特征非常类似,但来源是病理图像。
拿到病理组学特征(维度通常在几百到几千),下一步使用传统机器学习方法:
分类器:逻辑回归、随机森林、SVM、XGBoost、LightGBM……Onekey支持全选,最后自动挑选AUC最高的一套。
处理样本不均衡:可设置 use_smote = true(但SMOTE未必总能提升,样本偏差不大时更适合谨慎使用)
特征筛选:内部会自动做相关性分析与单因素筛选(对应前面讲到的“相关系数→单因素→多因素”路径)
这一步最终会输出患者级别的预测评估:ROC曲线、AUC、混淆矩阵等。
如果你还有临床数据(如年龄、性别、分期、吸烟史等),就可以构建融合模型。Onekey会自动完成:
临床变量的单因素分析(保留P < 0.05 的变量)
多因素逻辑回归(临床特征 + 病理组学签名)
生成列线图(nomogram)、校准曲线与DCA决策曲线
⚠️ 注意:临床文件不要含中文字段名,不要包含label列或group列;第一列是ID,其余列均为特征。
最后你会得到单因素与多因素的OR值、P值汇总表。
最强的功能来了。运行 Onekey Paper 后,它会自动汇总并分析你本次实验产生的所有结果,直接生成一篇结构完整的论文草稿,包括:
摘要(背景、方法、结果、结论)
入组标准流程图
模型性能表格(AUC、灵敏度、特异度)
ROC曲线图、校准曲线、DCA、列线图
单因素与多因素分析结果表
方法学描述(每一步用到的工具、参数)
并且每次生成的内容都会不同:Onekey内置上千种模板句子,随机组合以显著降低重复率。
你只需要做三件事:
把你的研究故事(临床意义)填到Introduction与Discussion中
使用基于GPT的集成润色工具打磨表述
简单整理排版与图表
一篇论文就这样完成了。甚至不需要你会写代码。
⚠️郑重声明:演示数据中的label是随机生成的,并不代表任何真实临床结论。要发表论文,必须替换为真实数据。
再回到那个问题:“病理部分加的监督信息是什么?” 结论始终不变——就是结局标签(label)。
裁剪patch时,标签会随患者一起确定下来。
训练patch模型时,这些标签就是patch层面的监督来源。
聚合建模时,标签用于衡量患者层级的预测表现。
没有标签,就谈不上监督学习。而今天这一整套流程,本质上就是用弱监督的方式:把一名患者的WSI图像,逐步转化为可解释的病理组学特征,再完成建模与论文产出。
Onekey的愿景是让科研更高效:你负责讲清临床故事,技术细节交给工具。
走自己的路,让没有Onekey的同学无路可走。
试用Onekey联系李老师