医学影像人工智能与生存分析的交叉研究正变得越来越深入。
一、UMedPT:一个用1%数据达到95%性能的多任务基础模型
论文《Overcoming data scarcity in biomedical imaging with a foundational multi-task model》提出了一个名为 UMedPT 的基础多任务模型,其核心亮点是:在极少量数据(1%)下仍能取得接近全数据(95%)的优异结果,在绝大多数任务上都超越了基于ImageNet-1K初始化的模型。
创新思想:梯度积累训练策略
UMedPT 采用了一种梯度积累的训练方式:
- 累积梯度:模型在连续多个小批量数据上执行前向/反向传播,计算梯度但不立即更新权重,而是将梯度累加。
- 统一更新:累积预定次数(如4次)后,使用总梯度一次性更新模型权重,清空梯度并开始下一轮。
这样做的优势在于:多任务模型参数量大,同时计算多个任务的损失和梯度对显存要求极高,直接大批量训练不现实。梯度积累允许以等效的大批量方式更新权重,既减少了更新噪声,也支持使用更大的学习率,训练更稳定、收敛更好。
模型架构
UMedPT 通过共享编码器从图像中提取特征,具体包含:
a. 共享编码器:提取通用特征;
b. 分类头:对线性张量进行 dropout、ReLU 激活、线性层分类,输出概率;
c. 分割头:利用编码器的跳跃连接进行特征拼接融合,通过 1×1 卷积和 softmax 为每个像素生成类别概率;
d. 检测头:输入多尺度特征,使用 FCOS 无锚框检测头,3×3 卷积分别处理框回归和框分类,并通过后处理模块输出结果。
FCOS 将检测任务重新定义为逐像素预测,避免锚框的复杂设计,类似语义分割的思路,每个空间位置直接预测类别和边界框。
二、生存回归的建模方法:从生存叠加到常见陷阱
生存分析在医学预后研究中至关重要。论文 A review of survival stacking: a method to cast survival regression analysis as a classification problem 提出了生存叠加(Survival Stacking) 方法,将生存回归重构为二分类问题,从而复用成熟分类工具。
生存叠加的核心思想
将原始数据按事件时间拆分成多个风险集子任务,每个子任务中个体被标记为“在此时刻是否发生事件”。例如对于三个观测个体(两个协变量,t1、t3为事件时间,t2为删失),构造如下二分类数据集:
在 t1 时刻,所有仍处于风险的个体构成风险集1,个体1的事件状态为1,其余为0;
在 t3 时刻,个体2已删失、个体1已经发病,因此风险集3仅包含个体3,以此类推;
将所有子数据集纵向堆叠,得到一个新的“扩展数据集”,即可用任意分类模型建模。
优势:支持线性和非线性模型,天然处理时变协变量和截断,并能建模时变效应。
其他生存回归模型回顾
Cox比例风险模型:非参数基准风险,通过部分似然估计协变量效应,基准风险由Breslow估计得到;
加速失效时间模型(AFT):参数化基准,协变量线性地影响时间尺度;
Aalen可加风险模型:半参数,对累积风险函数进行最小二乘估计;
灵活参数/样条模型:用样条基函数逼近未知风险函数,平衡灵活性与可解释性。
注册数据生存分析的常见陷阱
另一篇教程《Pitfalls in time-to-event analysis of registry data》总结了四种典型错误:
右删失处理不当:例如将死亡视为独立删失,会显著高估复发概率——正确考虑竞争风险后,5年复发概率从0.515降至0.316;
竞争风险:将竞争事件当作删失处理会导致事件分布被高估;
左截断:忽略左截断会高估生存函数,需要修改风险集;
重复事件:忽略正确删失会低估复发事件平均数量,而错误处理竞争风险则会导致高估。
在生存分析可视化中,常使用 Kaplan-Meier生存曲线、累积风险函数图、累积发生率函数曲线、Schoenfeld残差图等来评价模型与假设。