用于肺结节分类的常规 EHR 的纵向多模态Transformer集成成像和潜在临床特征

本文主要是介绍用于肺结节分类的常规 EHR 的纵向多模态Transformer集成成像和潜在临床特征,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Longitudinal Multimodal Transformer Integrating Imaging and Latent Clinical Signatures from Routine EHRs for Pulmonary Nodule Classification

摘要

该研究提出了一种基于Transformer 的多模态策略,用于将重复成像与常规电子健康记录(EHRs)中的纵向临床特征整合,以进行孤立性肺结节(SPN)的分类。通过对潜在临床特征进行无监督解缠,并利用时间-距离缩放的自注意力机制,共同学习临床特征的表达和胸部计算机断层扫描(CT)。该分类器在一个公共数据集的2,668个扫描和1,149名具有纵向胸部CT、账单代码、药物和实验室检查的患者的EHRs上进行了预训练。对227名具有具有挑战性的SPN的患者进行评估,结果显示与纵向多模态基线相比,AUC显著提高(0.824 vs 0.752 AUC),并且在单个横截面多模态情景(0.809 AUC)和纵向仅成像情景(0.741 AUC)上也有所改善。这项研究证明了一种新颖方法,在利用Transformer 共同学习纵向成像和非成像表型方面具有显著优势。
代码地址

本文方法

在这里插入图片描述
图1。左侧:非成像变量的事件流被转换为纵向曲线。ICA在一个大型的非成像队列上以无监督方式学习独立的潜在标志物S。
右侧:主体k对标志物的表达,Ek,在扫描日期进行采样。输入嵌入是由以下三部分组成的:
1)从标志物或成像中导出的标记嵌入,2)指示标记在序列中位置的固定位置嵌入,以及3)指示成像或非成像模态的可学习片段嵌入。扫描之间的时间间隔用于计算时间距离缩放的自注意力。这是一种灵活的方法,能够处理异步模态、不同序列长度上的不完整性和不规则的时间间隔。

通过概率独立性实现潜在临床特征

从电子健康记录队列中获取了医疗账单编码、药物和实验室检查的事件数据(长达22年)。删除了少于1000次事件的变量,并将医疗账单编码映射到SNOMED-CT本体后,得到了9195个唯一的变量。将每个变量转换为每天的纵向曲线,估算了每天的变量瞬时值。对连续变量使用了平滑插值,对事件数据使用了每个时间段的事件密度的连续估算。以前的研究使用了高斯过程推理来计算这两种类型的曲线。对于这项工作,我们为了提高计算效率而牺牲了近似值。为了将有限的记忆编码到曲线值中,每个曲线都使用了过去365天的滚动均匀平均值进行平滑处理。我们使用ICA模型来估算从EHR-肺部队列中观察到的曲线到独立的潜在源,即临床签名的线性分解。形式上,我们有数据集DEHR-肺部={Lk | k=1,…,n},其中纵向曲线表示为Lk={li | i=1,…,9195}。我们以三年的分辨率随机采样li ∀i∈[1,9195],并将所有主体的样本连接为xi ∈ Rm。对于DEHR-肺部,经验性地发现m为630037。我们做出了一个简化的假设,即xi是c个潜在来源s的线性混合,具有纵向表达水平e∈Rm。
在这里插入图片描述

Longitudinal Multimodal Transformer (TDSig)

将多模态数据集DImage-EHR和DImage-EHR-SPN表示为临床表达Ek = {ek,1,…,ek,T}和图像Gk = {gk,1,…,gk,T}的序列,其中T是最大的序列长度。设定T = 3,并添加了一个固定的填充嵌入来表示序列中的缺失项目。对于序列中的每个项目,计算包含位置和段信息的嵌入。图像的标记嵌入是由一个预训练的SPN检测模型提出的五个连接的3D块的卷积嵌入。我们使用一个16层的ResNet来计算这个嵌入。同样,临床特征表达的标记嵌入是对与图像标记嵌入相同维度的线性变换。然后将嵌入序列通过一个多头变压器进行传递。除了结节检测模型外,所有的嵌入都与变压器一起进行联合优化。我们将这种方法称为TDSig。

时间-距离 自注意力

使用时间重点模型(TEM)来强调最近观察结果的重要性,而不是旧的观察结果。此外,对于填充的嵌入,自注意力被屏蔽,能够适应不同主体之间的序列长度变化。形式上,如果主体k在相对获取的日期t1 …tT有一个长度为T的序列图像,我们构建一个相对时间矩阵R,其中条目Ri,j = |tT − ti|,其中ti是令牌ˆek,i和ˆgk,i的获取日期,或者如果它们是填充的嵌入,则为0。我们使用形式为的TEM将R中的相对时间映射到Rˆ中的[0,1]值:
在这里插入图片描述

这是一个翻转的sigmoid函数,它随着相对时间从最近观察到现在单调递减。它的下降斜率和下降偏移由可学习的非负参数b和c控制。为每个注意力头实例化了一个单独的TEM,理由是单独的注意力头可以学习以不同的方式对时间进行条件判断。变压器编码器将查询、键和值矩阵计算为输入嵌入H = {Eˆ,Gˆ}的线性变换,其中p为注意力头索引。

在这里插入图片描述
在这里插入图片描述
其中 M 是填充掩码,d 是查询和键矩阵的维度。查询键产品的 ReLU 门控允许 TEM 在无符号方向上调整注意力权重

实验结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这篇关于用于肺结节分类的常规 EHR 的纵向多模态Transformer集成成像和潜在临床特征的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/937644

相关文章

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

SpringBoot使用注解集成Redis缓存的示例代码

《SpringBoot使用注解集成Redis缓存的示例代码》:本文主要介绍在SpringBoot中使用注解集成Redis缓存的步骤,包括添加依赖、创建相关配置类、需要缓存数据的类(Tes... 目录一、创建 Caching 配置类二、创建需要缓存数据的类三、测试方法Spring Boot 熟悉后,集成一个外

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

SpringBoot集成SOL链的详细过程

《SpringBoot集成SOL链的详细过程》Solanaj是一个用于与Solana区块链交互的Java库,它为Java开发者提供了一套功能丰富的API,使得在Java环境中可以轻松构建与Solana... 目录一、什么是solanaj?二、Pom依赖三、主要类3.1 RpcClient3.2 Public

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

SpringBoot如何集成Kaptcha验证码

《SpringBoot如何集成Kaptcha验证码》本文介绍了如何在Java开发中使用Kaptcha生成验证码的功能,包括在pom.xml中配置依赖、在系统公共配置类中添加配置、在控制器中添加生成验证... 目录SpringBoot集成Kaptcha验证码简介实现步骤1. 在 pom.XML 配置文件中2.

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

【Shiro】Shiro 的学习教程(三)之 SpringBoot 集成 Shiro

目录 1、环境准备2、引入 Shiro3、实现认证、退出3.1、使用死数据实现3.2、引入数据库,添加注册功能后端代码前端代码 3.3、MD5、Salt 的认证流程 4.、实现授权4.1、基于角色授权4.2、基于资源授权 5、引入缓存5.1、EhCache 实现缓存5.2、集成 Redis 实现 Shiro 缓存 1、环境准备 新建一个 SpringBoot 工程,引入依赖: