nature machine intelligence | Foundation model for cancer imaging biomarkers

基础模型因其在语言、视觉以及其他几个领域的前所未有的表现而近期变得流行,它们是在大量未标注数据上训练的大型深度学习模型,作为广泛下游任务的基础。例如,在自然语言处理领域,基础模型推动了如ChatGPT、BERT和CLIP等应用的成功。同样地,像SimCLR和DINO这样的基础模型,在计算机视觉应用中也报告了相当大的成功。

在医学领域,基础模型展现出巨大的潜力,因为标记数据稀缺,而多模态数据,如医学图像、生物学和临床笔记,在常规临床护理中经常被收集。实际上,已经报道了基础模型的不同应用,如增强手术程序、床旁决策支持、交互式放射学报告和笔记记录。

尽管许多研究探索基于影像的生物标记将监督深度学习算法整合到它们的模型中,但这些研究通常在大型数据集可用于训练和测试的情境下进行。 这些方法通常应用于大型数据集可用于训练和测试的场景中。标注数据的数量和质量与深度学习模型的稳健性紧密相关。然而,获得专业应用中大量的标注数据通常具有挑战性,需要专业知识、时间和劳动力。在这些情况下,许多研究者往往回归于基于定义良好的数学和统计算法的传统手工制作或工程方法,这些方法分析图像中对象的形状和纹理等属性,从而限制了发现的范围。这一警告在许多情景中很常见,其中基于影像的生物标记的洞察力在临床护理中有巨大的潜力。

基础模型通常使用自监督学习(SSL)进行预训练,这是一套利用数据内在信息的方法,通过大量未标注样本学习泛化的、与任务无关的表征。现有文献提出了几种策略,如图像重建,来预训练网络以学习这些表征。经过预训练,基础模型可以应用于特定任务问题,特别是在数据集较小的任务中,提高泛化能力。在医学影像的SSL领域的扩展文献主要关注二维(2D)图像(如X光、整个幻灯片图像、皮肤学图像、眼底图像等)的诊断应用。目前还缺乏证据来调查SSL是否能帮助训练基础模型,这些模型学习通用的、健壮的和可传递的表征,这些表征可以作为影像生物标记,特别是对临床相关任务的预后性标记。

在这项研究中,我们调查了基础模型是否可以改进基于深度学习的影像生物标记的发展,特别是在数据集大小有限的情景中。基础模型,一个卷积编码器,使用自监督预训练了11,467个不同且已标注的由2,312个独特病人确定的计算机断层扫描(CT)影像病变(图1a)。该模型首先通过分类病变解剖部位(用例1)进行了技术验证。随后,它被应用于两个临床相关的应用:发展一个诊断生物标记,预测肺结节的恶性(用例2)和非小细胞肺癌(NSCLC)肿瘤的预后生物标记(用例3;图1b)。我们评估了将预训练的基础模型整合到下游任务训练流程中的两种不同实现方法:一种是使用基础模型作为特征提取器,随后是线性分类器;另一种是通过转移学习对基础模型进行微调。基础模型方法的表现与使用监督方法开发的几个现有基准和公开可用的预训练模型进行了比较。我们的分析检查了有效的预训练技术、有限数据情景下的表现、测试-重测和读者间评估的一致性,以及通过深度学习归因方法和与基因表达数据的生物相关性来解释发现。我们的结果展示了基础模型在发现新的影像生物标记以及在数据集大小有优势。

我们比较了简单的自编码器预训练和几种最先进的自监督预训练方法,具体包括SimCLR、SwAV和NNCLR (这三种方法),与我们研究中开发的SimCLR的修改版本进行了比较。我们通过比较在每种选择的策略提取的特征之上训练的线性分类器,在病变解剖部位分类的技术验证用例上评估预训练策略。我们观察到,我们修改的SimCLR预训练在平衡准确率和平均平均精度(mAP)方面超越了所有其他方法(P < 0.001),达到了0.779的平衡准确率(95%置信区间(CI)0.750--0.810)和0.847的mAP(95% CI 0.750--0.810)。如预期,表现第二好的方法是SimCLR(平衡准确率0.696(95% CI 0.663--0.728);mAP = 0.779(95% CI 0.749--0.811))。与最新的对比自监督学习(SSL)方法相比,之前流行于预训练的自编码器方法表现最差。

当使用有限的数据(50%,20%和10%)进行下游任务训练时,我们的方法表现出持续改进的性能。更重要的是,当训练数据从100%减少到10%时,通过平衡准确率和mAP下降最小(分别为9%和12%),证明了它的鲁棒性。

相关推荐
Eric.Lee202116 分钟前
数据集-目标检测系列- 螃蟹 检测数据集 crab >> DataBall
python·深度学习·算法·目标检测·计算机视觉·数据集·螃蟹检测
林辞忧26 分钟前
算法修炼之路之滑动窗口
算法
￴ㅤ￴￴ㅤ9527超级帅36 分钟前
LeetCode hot100---二叉树专题(C++语言)
c++·算法·leetcode
liuyang-neu37 分钟前
力扣 简单 110.平衡二叉树
java·算法·leetcode·深度优先
penguin_bark1 小时前
LCR 068. 搜索插入位置
算法·leetcode·职场和发展
_GR1 小时前
每日OJ题_牛客_牛牛冲钻五_模拟_C++_Java
java·数据结构·c++·算法·动态规划
ROBIN__dyc1 小时前
表达式
算法
无限大.1 小时前
c语言实例
c语言·数据结构·算法
六点半8881 小时前
【C++】速通涉及 “vector” 的经典OJ编程题
开发语言·c++·算法·青少年编程·推荐算法
@haihi2 小时前
冒泡排序,插入排序,快速排序,选择排序
数据结构·算法·排序算法