AI在医学领域:FEDMEKI平台实现在隐私约束下将医学知识整合到基础模型

news2024/11/28 13:37:11

      基础模型已在众多领域掀起了一场革命性的变革,它们在处理多样化模态和复杂任务方面展现出了卓越的能力。以GPT-3和LLaMA为例,这些模型在众多应用场景中均表现出色。其成功的核心在于接触并学习海量的训练数据,从而深入洞察不同领域。借助这些丰富的数据资源,基础模型能够有效地进行泛化,并在各种任务中展现出色的性能,使其在众多领域变得极具价值。

     在医学领域,研究人员正积极探索开发医学基础模型,以期复制在其他领域取得的成功。然而,公共医学数据的稀缺性限制了从头开始训练医学基础模型的可能性。为克服这一挑战,研究者们提出了一种方法:利用医学数据对通用基础模型进行微调,以定制医学基础模型。例如,PMC-LLaMA通过对LLaMA进行微调,使用了480万篇生物医学学术论文和30,000本医学书籍;而LLaVA-Med则利用从PMC-15M中提取的生物医学图像-文本对对LLaVA进行微调。尽管现有的医学基础模型在特定领域的任务上已取得了显著的成果,但受限于当前的微调方法,它们的可扩展性仍有待提高。

     正如前文所述,大多数医学基础模型需要集中训练的方式来微调现有的通用领域基础模型。然而,在现实世界的医疗环境中,由于医学数据的敏感性和隐私问题,这种集中微调方式并不现实。例如,美国的健康保险流通与责任法案(HIPAA)禁止为模型训练收集和集中存储患者数据。实际上,医学数据通常分散在各个医疗机构和医院,难以实现共享。因此,更为实际且可行的解决方案是通过联邦学习的方式,将从私有客户端数据中学习到的医学知识融入基础模型中。本文介绍的FEDMEKI平台可以高效地实现在不共享私有数据的情况下,将客户端医学知识注入到基础模型中。

源代码:GitHub - psudslab/FEDMEKI

1 FEDMEKI平台

(a) 平台概览:展示了整个FEDMEKI平台的结构。平台由多个客户端(C1, ..., Cn)和一个服务器(S)组成。每个客户端使用其私有数据训练特定模型(Wn),并将训练好的模型上传至服务器。服务器聚合客户端模型并更新基础模型(F),然后将更新后的全局模型(Ws)分发回客户端。

(b) 数据模块:描述了数据的提取、预处理和分割过程。客户端使用私有数据进行训练,而服务器使用公共数据进行模型更新。

(c) 多模态多任务客户端训练:展示了客户端如何使用模态特定的编码器(ENC)和任务特定的解码器(DEC)来处理多种类型的数据(如图像、信号、生命体征、输入/输出、实验室结果)并执行多项任务(如肺部不透明度检测、COVID-19检测等)。

(d) 客户端模型聚合:展示了服务器如何从多个客户端接收模型,并使用联邦学习算法(如FedAvg或FedProx)聚合这些模型。

(e) 将医学知识注入医学基础模型:展示了如何使用服务器上的公共数据和基础模型架构来注入从客户端学习到的医学知识。基础模型(F)使用编码器生成的表示和任务提示进行更新。

1.1 客户端部署

FEDMEKI的目标是将从私有的多模态多任务数据中学到的医学知识注入到基础模型中。为此,在客户端部署了一个基础客户端模型来处理这些数据。

1.1.1 模态特定的编码器

尽管每个客户端有五个训练任务,但某些任务共享相同的模态。例如,心电图(ECG)异常检测和心电图问答(ECGQA)任务都使用ECG信号模态。为了避免模态编码器的冗余并跨任务学习共享特征,部署模态特定的编码器如下:

模态

编码器

参数数量

图像

DeiT-tiny

7.8M

信号

CNN

4.1M

生命体征

Transformer

3.7M

实验室结果

Transformer

3.7M

输入

Transformer

3.7M

输出

Transformer

3.7M

1.1.2 任务特定的解码器

每个任务都有一个独特的解码器来生成结果,我们使用交叉熵作为损失函数。

​​​​​​​1.1.3 联邦优化

使用真实标签来优化客户端模型,使用交叉熵损失函数进行所有训练任务的优化。由于有多种联邦学习的方法,使用FedAvg和FedProx作为示例来展示FEDMEKI在本研究中的工作方式。

1.2 服务器部署

在服务器上部署了一个模型聚合器来聚合客户端模型,并使用一个类似LLaVA的模块来帮助使用公共数据注入医学知识。

  • 客户端模型聚合:遵循FedAvg风格的方来获取所有客户端模型的平均聚合全局模型。
  • 扩展医学基础模型:在服务器上部署了一个医学基础模型。它可以是任何现有的医学基础模型,例如MedVInT和ChatDoctor。当前平台使用MMedLM-22作为F,这是一个预训练的医学语言模型,并且在几项任务上取得了最先进的性能MMedLM-2只能接受文本输入。我们的目标是使F能够处理其他模态的任务。

2 FEDMEKI数据集

从公开可用的医学资源中策划了一个新的数据集,包括两种类型的任务:训练和验证。训练任务用于扩展医学基础模型并评估其特定任务的能力。验证任务独立于训练任务,用于评估扩展后的医学基础模型在零样本推理方面的能力。

2.1 训练任务

训练任务用于将医疗知识注入到基础模型中,并评估其特定任务的能力。FEDMEKI 数据集套件包含 8 个不同的医学任务,涵盖 6 种医疗模态:

2.2 验证任务

验证任务用于评估扩展后的基础模型在零样本推理中的能力。FEDMEKI 数据集套件包含 4 个新的任务,涵盖 2 种分类任务和 2 种生成任务:

验证任务的数据被随机选择一部分作为测试数据。

2.4 数据来源

FEDMEKI 数据集套件的数据来自以下公开数据集:

3 基准测试

FEDMEKI 平台通过实施 16 种不同的方法作为基准,来评估其在联邦医疗知识注入任务中的性能。这些方法涵盖了传统的联邦学习、联邦学习与微调相结合,以及联邦学习与基础模型扩展相结合等多种技术。

3.1 基准方法分类

FEDMEKI 平台的基准方法可以分为以下几类:

3.2 单任务评估基准

FEDMEKI 平台对训练任务进行了单任务评估,使用了以下基准方法:

3.3 多任务评估基准

FEDMEKI 平台对训练任务进行了多任务评估,使用了以下基准方法:

3.4 低资源评估基准

FEDMEKI 平台对验证任务进行了低资源评估,使用了以下基准方法:

FL+LLM: FedAvgF+m 和 FedProxF+m

3.5 评估指标

FEDMEKI 平台使用以下指标评估模型的性能:

3.6 结果

     扩展后的基础模型在训练任务中取得了较好的性能,但在验证任务中的零样本推理性能仍然有待提高。这表明 FEDMEKI 平台在联邦医疗知识注入任务中具有潜力,但仍需进一步优化。

​​​​​​​本文的发现对医学AI领域有个重要的启示。

  • 肺部不透明度检测: 利用胸部 X 射线图像预测肺 opacity,属于单模态分类任务。在医学图像处理和分析的上下文中,"Positive"和"Negative"通常用来描述模型或医生对图像中是否存在某种疾病或异常的判断。在肺部不透明度检测任务中,模型的目标是查看胸部X光图像并判断是否存在肺部不透明度,这通常与某些类型的肺部疾病相关。
  • COVID-19 检测: 判断 X 射线图像是否显示 COVID-19 症状,属于单模态分类任务。
  • ECG 异常检测: 判断心电图 (ECG) 信号是否存在异常模式,属于单模态二分类任务。
  • 死亡率预测: 利用各种数据点预测患者在重症监护病房 (ICU) 期间的生存或死亡可能性,属于多模态分类任务。在死亡预测任务中,模型需要分析各种临床数据,包括生命体征(如心率、血压、呼吸频率)、实验室检测结果(如血液成分、生化指标)以及其他可能影响患者预的信息。模型的目标是基于这些复杂的临床数据来预测患者的死亡风险。
  • 心包积液检测: 利用临床评估中的医学图像判断心包积液的可能性,属于单模态分类任务。
  • 败血症预测: 预测患者在 ICU 期间发生败血症的概率,属于多模态分类任务。
  • 心包积液检测: 与训练任务相同,用于评估模型的泛化能力。
  • 败血症预测: 与训练任务相同,用于评估模型的泛化能力。
  • 医学视觉问答 (MedVQA): 使用视觉图像和文本问题作为输入生成答案,属于多模态生成任务。
  • 信号噪声澄清: 使用 ECG 信号和文本问题生成对噪声的描述,属于多模态生成任务。
  • 2.3 数据分区

    训练任务的数据被分成四部分:

  • 70% 数据: 用于客户端的训练。
  • 10% 数据: 作为公共数据存储在服务器上,用于基础模型的扩展。
  • 10% 数据: 作为开发数据存储在服务器上,用于指导模型训练。
  • 10% 数据: 作为测试数据,用于评估训练任务的性能。
  • RSNA Pneumonia Detection Challenge 2018: 胸部 X 射线图像数据。
  • COVQU 数据集: COVID-19 X 射线图像数据。
  • PTB-XL 数据集: ECG 信号数据。
  • MIMIC-III 数据集: 临床特征数据。
  • CheXpert 数据集: 胸部 X 射线图像数据。
  • VQA-RAD 数据集: 医学图像和文本数据。
  • ECG-QA 数据集: ECG 信号和文本数据。
  • 传统联邦学习 (TFL): 使用 FedAvg 和 FedProx 等传统的联邦学习方法进行模型训练和聚合。
  • 联邦学习与全局微调 (FL+GF): 在每次通信轮次中使用公共数据对聚合模型进行微调。
  • 联邦学习与大型语言模型微调 (FL+LLM): 使用大型语言模型 (LLM) 对聚合模型进行微调,以提高其学习能力。
  • 多模态多任务联邦学习 (FLm): 使用多模态多任务编码器对客户端模型进行训练,并进行联邦学习。
  • TFL: FedAvg 和 FedProx
  • FL+GF: FedAvg+s 和 FedProx+s
  • FL+LLM: FedAvgF+s 和 FedProxF+s
  • TFL: FedAvgm 和 FedProxm
  • FL+GF: FedAvg+m 和 FedProx+m
  • FL+LLM: FedAvgF+m 和 FedProxF+m
  • 分类任务: 准确率、精确率、召回率和 F1 值。
  • 生成任务: BLEU、ROUGE 和 METEOR。
  • 首先,增强的基础模型能够适应新的医学模态,而无需从头开始重新训练,这突出了在医疗保健中更有效和可扩展的AI系统的潜力。这种能力可以显著节省时间资源,特别是在快速发展的医学领域。
  • 其次,联邦学习确保了数据隐私和安全,这是处理敏感医学数据至关重要的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2060292.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【python与java的区别-04(文件流)】

一、文件和目录的操作 1、IO流(Stream) 通过“流”的形式允许计算机程序使用相同的方式来访问不同的流入/流出源。Stream是从起源(source)到接收(sink)的有序数据。我们把输入/输出源对比成“水桶”,那么流就是“管道…

企业给排水乙级资质续期:人才储备与补充计划

企业给排水乙级资质续期过程中,人才储备与补充计划是至关重要的环节。以下是一个详细的人才储备与补充计划,旨在帮助企业顺利应对资质续期挑战: 一、人才储备计划 1. 提前规划与预测 政策分析:密切关注住建部门或相关权威机构发…

VirtualBox和VMware的虚拟机ip配置为同一网段不使用wlan的网卡(vulnhub打靶前期准备)

打靶前期准备工作,virtualbox和VMware之间的网络互通(即同一个网段下非wlan网卡的设置) 首先在打靶的时候因为vulnhub的靶机都是使用的virtualbox的虚拟机,但是我的kali已经用了很久了一直使用的是VMware,突然转换使用…

面试必刷——二叉树习题/面试题详解

(1)检查两棵树是否相同 题目链接: . - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems…

品质更进阶 长安马自达MAZDA EZ-6通关中国“热极”

继在中国规格最高的重庆垫江测试场完成驾控试炼后,8月20日-22日,长安马自达MAZDA EZ-6“众测先享官—品质更进阶”在中国“热极”吐鲁番再次拉开帷幕。针对电动车用户最关心的酷暑天气用车痛点场景,由长安马自达工程师团队携手用户代表、权威…

云微客短视频矩阵获客有多容易?低成本获客备受好评

数字化时代,短视频矩阵已经成为企业获客的重要渠道之一,云微客短视频矩阵系统为企业解决在短视频营销中的账号搭建、内容生产、账号运营、低成本引流等难题。 短视频矩阵是一种基于抖音、快手、小红书、视频号等短视频平台,通过批量剪辑、批量…

Linux shell编程学习笔记72:tr命令——集合转换工具

0 前言 在大数据时代,我们要面对大量数据,有时需要对数据进行整理和转换。 在Linux中,我们可以使用 tr命令来整理和转换数据,也可以进行简单的加解密。 1 tr命令 的帮助信息,功能,格式,选项和…

图片展示时等比例缩放

通过object-fit进行图片等比例缩放 object-fit 属性有以下几种值: contain:图片等比例缩放以完全填充容器,同时保持图像的宽高比。 cover:图片等比例缩放以完全填充容器,但可能会裁剪图片。 fill:图片拉伸以…

AR 眼镜之-系统应用音效-实现方案

目录 📂 前言 AR 眼镜系统版本 系统应用音效 1. 🔱 技术方案 1.1 技术方案概述 1.2 实现方案 1)初始化 2)播放音效 3)释放资源 2. 💠 播放音效 2.1 静音不播放 2.2 获取音效默认音量 3. ⚛️ …

一文通透mamba2:力证Transformer are SSM——从SSM、半可分矩阵、SSD到mamba2

前言 实话说,过去一两月一直忙着我司两大类项目的推进 一类是正在逐一上线基于大模型的论文翻译、论文审稿、论文对话、论文修订/润色、论文idea提炼等等一类是正在抓紧做面向一个个工厂的具身智能机器人的解决方案,且很快会分别在我司在各地的办公室(…

day06_算法训练

一. Stream流 1.1 Stream流概述 概念: jdk1.8以后提供的新的API, 主要用于批量操作数据(集合的另外一种操作方式),代码非常简洁 流式处理思想: 2.2 Stream对象获取 1.单列集合的Stream流对象获取 2.双列集合的Stream流对象获取 3.数组的Stream流对象获取 4.散装数据的St…

数据结构day03(栈 Stack 顺序栈、链式栈 )内含具体详细代码实现

目录 【1】栈 Stack 1》栈的定义 2》顺序栈 2》链式栈 4》顺序栈的链式栈的区别 【1】栈 Stack 1》栈的定义 栈:是只允许在一端进行插入或删除的线性表,首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。 栈顶&…

《Python编程:从入门到实践》笔记(一)

一、字符串 1.修改字符串大小写 title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写,其他的改为小写。 upper()将字母都改为大写,lower()将字母都改为小写。 2.合并(拼接)字符串 Python使用加号()来合并字符串。这种合…

Java—认识异常 ( ̄▽ ̄)~*

目录: 一、异常的概念和体系结构: 1、异常的概念: 2、异常的体系: 3、异常的分类: 二、异常的处理: 1、防御式编程: 1)、 事前防御型(LBYL) : 2)、事后…

C语言典型例题47

《C程序设计教程(第四版)——谭浩强》 习题3.7 输入4个整数,要求按照从小到大的顺序输出 4个数之间进行比较,冒泡排序最最最详细过程,如果想更改为任意数之间相互比较,只需要修改两个地方(数组大…

cocoscreator怪物实时寻路AI

这章主要介绍怪物AI 1:环境 cococreator2.4.* 2:规则 当前规则很简单,就是跳上,跳下 一个土块 3:上代码 // Learn cc.Class: // - https://docs.cocos.com/creator/manual/en/scripting/class.html // Learn Attri…

C++智能指针配合STL模板类

代码 #include <unordered_map> #include <set> #include <memory> class ResID { public:using SP std::shared_ptr<ResID>;ResID() default;ResID(const std::string& id, const std::string& type): m_id(id), m_type(type){}public:~Re…

SAM 2——视频和图像实时实例分割的全新开源模型

引言 源码地址&#xff1a;https://github.com/facebookresearch/segment-anything-2 过去几年&#xff0c;人工智能领域在文本处理的基础人工智能方面取得了显著进步&#xff0c;这些进步改变了从客户服务到法律分析等各个行业。然而&#xff0c;在图像处理方面&#xff0c;我…

Python高手如何做到一键更新代码?

声明&#xff1a;此篇为 ai123.cn 原创文章&#xff0c;转载请标明出处链接&#xff1a;https://ai123.cn/2186.html ​Hey&#xff0c;Python搞手们&#xff0c;&#x1f44b;&#xff0c;你们是否也头疼代码维护的重重难关&#xff1f;别担心&#xff0c;今天就给你们带来一手…

【功能】Lua层的全局事件管理系统

1.EventManager 全局的管理类 2.EventType 事件类型 3..Lua层Common工具目录去require对应文件目录的脚本文件 --事件类型 local EventType {TestMsg 1&#xff0c; }return EventType local EventManager class(); EventManager.msgMap {}local function HaveSameFunc(…