当前位置: 首页 > news >正文

【24医学顶刊】GANDALF:主动学习 + 图注意力变换器 + 变分自编码器,改善多标签图像分类

GANDALF:主动学习 + 图注意力变换器 + 变分自编码器,改善多标签图像分类

      • 提出背景
        • 子解法1:多标签信息样本的选择
        • 子解法2:生成信息丰富且非冗余的合成样本
      • 例子:胸部X射线图像分析
        • 传统方法的操作和局限
        • GaNDLF方法的优势
      • 工作流程
      • 图多集合变换器
      • 数据增强的采样与评分

提出背景

论文:GANDALF: Graph-based transformer and Data Augmentation Active Learning Framework with interpretable features for multi-label chest Xray classification

代码:https://github.com/mlcommons/GaNDLF

目的:GaNDLF旨在通过合成训练数据的方式,提高多标签医学图像分类任务的学习效率和分类性能。

解法拆解

  1. 多标签信息样本的选择(因为标签间的相互影响) +
  2. 生成信息丰富且非冗余的合成样本(因为训练样本的多样性和信息量)
子解法1:多标签信息样本的选择
  • 特征:在多标签学习场景中,不同疾病标签之间的相互影响可能会影响模型的判断和学习。
  • 解法说明:通过构建一个图形模型,每个节点代表一个疾病标签的显著图,节点之间的边代表不同标签之间的相互关系。使用图转换器来评估和选择具有高度信息交互的样本,从而更有效地捕获多标签之间的复杂关系。
  • 例子:在胸部X射线图像中,某些疾病(如肺炎和肺结核)可能表现出相似的影像特征。有效地识别和利用这些相互关系可以帮助模型区分这些相似的疾病,提高诊断的准确性。
子解法2:生成信息丰富且非冗余的合成样本
  • 特征:仅靠原始的训练样本,可能不足以覆盖所有的特征变异,限制了模型的泛化能力。
  • 解法说明:使用变分自编码器(VAE)从选定的信息丰富样本中生成新的合成图像。这些新图像不仅保持原有的类标签,还引入了新的变化,增加了数据的多样性,同时避免了信息的冗余。
  • 例子:如果原始数据集中大部分图像展示的是早期肺炎,通过合成技术可以生成展示更多不同阶段和表现形式的肺炎图像,这样模型可以学习到肺炎在不同阶段的多样性,提高识别不同阶段肺炎的能力。

这两种子解法结合,通过在样本选择和数据增强中都注重信息的多样性和质量,为多标签分类任务提供了一种更有效的学习策略。

例子:胸部X射线图像分析

医疗研究人员需要对胸部X射线图像进行分类,识别图中可能存在的多种疾病(如肺炎、肺结核、肺癌等)。

传统方法的操作和局限
  • 数据集:使用一个固定的、预先标注的数据集,其中可能缺乏某些疾病的表现形式多样性。
  • 数据增强:应用基本的图像处理技术(如翻转、旋转),这些技术虽然增加了图像数量,但并未实质增加关于疾病特征的新信息。
  • 样本选择:随机或基于简单规则选择样本,这可能导致关键信息样本被忽略,从而影响模型的准确性和泛化能力。
GaNDLF方法的优势
  • 动态样本选择
    • 使用图注意力变换器(GAT)分析未标记的胸部X射线图像,根据疾病标签间的相互影响动态选择信息量最大的样本。例如,如果系统发现某些图像中肺炎和肺结核的特征同时显著,它会优先选择这些样本进行训练,因为这样的样本能帮助模型更好地学习区分具有相似表现的不同疾病。
  • 高级数据增强
    • 利用变分自编码器(VAE)根据选定的高信息量样本生成新的图像。这些合成图像在保留原有疾病标签的同时,引入了新的变体(如不同阶段的病变),从而丰富了模型的训练数据。例如,对于初始阶段肺炎的图像,VAE可以生成显示肺炎后期更严重病变的图像,这有助于模型学习识别疾病的不同阶段。
  • 减少冗余,确保新增样本的质量
    • 通过结合标签保持评分和避免冗余评分,确保生成的样本在增加新信息的同时,避免与已有训练样本重复。这一策略确保了每一个新增样本都能为模型训练提供真正的价值。

结果比较:

  • 传统方法可能导致模型在遇到未包含在初始数据集中的疾病变异时性能下降。
  • GaNDLF方法通过提供更广泛的病变样本和更精确的样本选择,显著提高了模型的诊断准确性和泛化能力。

通过这个例子,我们可以看到GaNDLF方法不仅使模型训练更为有效,还增强了模型在实际应用中的可靠性和准确性。

工作流程

在这里插入图片描述

此图展示了GANDALF方法的整体工作流程:

  1. 未标记样本:从一个可用于主动学习周期的未标记样本池开始。
  2. 使用可解释显著图创建输入图:显著图用于创建输入图。这些图突出显示图像中对分类最关键的区域。
  3. 来自GAT(图注意力变换器)的多标签样本信息评分:然后使用图注意力变换器处理图,根据图中表示的标签间互动评估每个样本的信息量。
  4. 选择顶尖n个样本:选择最具信息量的样本。
  5. 信息数据增强:选定的样本用于生成合成且具有信息量的样本,这些样本对训练数据进行了非冗余的增强。
  6. 添加到训练集:原始样本和新生成的合成样本都被添加到训练集中,用于下一个主动学习周期。

一个医疗研究中心希望通过机器学习模型提高其对胸部X射线图像中多种疾病(如肺炎、肺结核和肺癌)的自动诊断能力。

GANDALF方法的操作步骤:

  1. 未标记样本

    • 医院收集了大量的胸部X射线图像,这些图像尚未进行疾病标记。这些未标记的样本构成了主动学习周期的样本池。
  2. 使用可解释显著图创建输入图

    • 研究人员使用计算机视觉技术分析每张X射线图像,创建显著图。这些显著图突出显示了图像中对于诊断最为关键的区域,如异常阴影或肺部结构变化。
  3. 来自GAT的多标签样本信息评分

    • 利用图注意力变换器(GAT),分析由显著图构建的图形数据。GAT评估不同疾病标签在显著区域间的互动和联系,识别出潜在的复合疾病特征,计算每个样本的信息量。
  4. 选择顶尖n个样本

    • 系统根据信息评分选择信息量最大的前n个样本,这些样本表现出高度的疾病特征复杂性和诊断价值。
  5. 信息数据增强

    • 选定的信息丰富样本被用于生成新的合成样本。使用变分自编码器(VAE)在保持原有疾病标签的同时引入图像变体,如模拟疾病的不同发展阶段或轻微的解剖差异。
  6. 添加到训练集

    • 原始的信息丰富样本及其合成的衍生样本都被添加到训练集中。这些数据将用于训练和优化机器学习模型,模型随后在下一个主动学习周期中更精准地诊断和识别复杂的疾病模式。

通过GANDALF方法,该医疗中心的机器学习模型能够更有效地识别和分类胸部X射线图像中的多种疾病。

模型不仅学习从单一病变中识别疾病,还能识别多疾病共存的复杂情况,大大提高了诊断的准确性和效率。

图多集合变换器

在这里插入图片描述

此图详细说明了GANDALF方法中使用的图多集合变换器的过程和组件:

  1. 输入图:显示基于样本的多标签信息的显著图创建的初始图。
  2. 图注意力(GMH):利用基于图的注意力机制来关注图中的重要特征和关系。
  3. GMH输出:图注意力阶段的输出。
  4. 图池化(GMPool):通过基于节点的连通性和相似性合并节点,将图简化为更简单的形式,有效地总结图的信息。
  5. 自注意力(SelfAtt):应用自注意力机制进一步细化节点特征,考虑其中的相互作用。
  6. 最终池化到ML_Info:最终的图表示被汇总为单一分数(ML_Info),量化样本的总体信息量。

假设一家医院希望利用深度学习模型识别和分类患者的胸部X射线图像,特别是能够同时识别多种肺部疾病的共存,如肺炎和肺癌。

  1. 输入图

    • 医生收集了一系列胸部X射线图像,这些图像未经标记且疑似包含多种肺部疾病。使用计算机视觉技术对这些图像生成显著图,突出显示对诊断至关重要的区域。例如,图中可能突出显示了肺部的异常阴影区域和肿块。
  2. 图注意力(GMH)

    • 利用图注意力机制,模型分析这些显著图构建的输入图。图中的每个节点代表一个特定区域的显著特征,而边则表示这些区域之间的相互关系。这一步骤帮助模型聚焦于那些可能指示多种疾病共存的关键特征。
  3. GMH输出

    • 注意力机制处理后的输出图,其中包括了经过优化的节点和边,这些信息代表了图像中最关键的相互作用和特征关系。
  4. 图池化(GMPool)

    • 通过图池化技术,进一步简化图结构,合并那些具有高度相似性或连通性的节点。例如,如果多个节点都指向同一区域的疾病特征,这些节点可以合并为一个,从而简化模型的复杂性并增强信息的清晰度。
  5. 自注意力(SelfAtt)

    • 自注意力机制用于加强模型对各节点特征的理解,它通过比较各节点间的相互作用强化了模型对图中信息的总体把握。这有助于模型更好地理解不同疾病标签之间的复杂关系。
  6. 最终池化到ML_Info

    • 将所有处理过的图信息汇总为一个单一的分数(ML_Info),这个分数量化了整个样本图的总体信息量。这个分数可以直接用于训练模型,帮助预测胸部X射线图像中的疾病类型。

这种方法使模型能够准确识别并分类图像中的多种疾病,如正确区分并同时识别存在于同一患者图像中的肺炎和肺癌。

这对于提早诊断和治疗计划的制定极为关键,特别是在复合疾病的情况下。

数据增强的采样与评分

在这里插入图片描述

此图解释了增强和选择信息样本所涉及的步骤:

  1. 采样机制:使用变分自编码器(VAE)生成有信息量的基础样本的变体。VAE在当前数据集上训练,以确保它产生相关的变体。
  2. 评分系统:生成的样本根据两个标准进行评分:
    • 标签评分(Score_label):评估生成样本在保留原始样本的类标签方面的表现。
    • 避免冗余评分(Score_red):评估生成的样本与原始样本的差异,确保它们在不复制现有数据的情况下添加新信息。
  3. 选择顶尖样本:得分最高的样本,表明它们既有信息量又具多样性,被选中添加到下一个主动学习周期的训练集中。

假设一家医院正在研究一个新的机器学习模型,用以分析心脏超声图像,以诊断心脏瓣膜病变、心肌病变以及心包积液等多种心脏疾病。

  1. 采样机制

    • 医疗研究团队使用变分自编码器(VAE)处理一组心脏超声图像。VAE模型在包含各种心脏病状的广泛数据集上训练,使其能够生成包含不同心脏状况的合成图像。例如,VAE可能生成一些展示不同程度心肌肥厚或瓣膜泄漏的图像,这些都是原始数据集中可能未充分代表的病变。
  2. 评分系统

    • 标签评分(Score_label):每个生成的图像会被评估其在保留心脏病变特征(如瓣膜泄漏的特定标记)方面的准确性。如果合成图像能准确地保持原始图像的病理标签,则获得高标签评分。
    • 避免冗余评分(Score_red):此外,还会评估合成图像与原始图像的差异性,确保新增的图像为模型训练提供新的信息。例如,如果生成的图像展示了与原始数据集不同阶段的病变,而且这种差异足够大以避免简单的重复,则获得高避免冗余评分。
  3. 选择顶尖样本

    • 基于上述两种评分,选择得分最高的样本以添加到模型的训练集中。这确保了选中的图像不仅在医学上具有高度的相关性和准确性,而且能够增加训练集的多样性和信息量。这对于提升模型在实际诊断中的准确性和泛化能力至关重要。

通过这种方法,新的心脏疾病诊断模型能够接触到更广泛的心脏病变表现,包括那些在原始数据集中未充分代表的病变阶段和类型。

这使得模型在现实世界应用中能更准确地识别和分类心脏疾病,特别是在处理罕见或复杂病例时表现出更高的效率和准确性。

相关文章:

【24医学顶刊】GANDALF:主动学习 + 图注意力变换器 + 变分自编码器,改善多标签图像分类

GANDALF:主动学习 图注意力变换器 变分自编码器,改善多标签图像分类 提出背景子解法1:多标签信息样本的选择子解法2:生成信息丰富且非冗余的合成样本 例子:胸部X射线图像分析传统方法的操作和局限GaNDLF方法的优势 工…...

Linux 权限介绍

文章目录 Linux 权限介绍权限类型权限的数字表示查看文件信息修改权限相关指令 Linux 权限介绍 在 Linux 系统中,权限管理是非常重要的一部分,它确保了系统的安全性和文件的合理访问。 权限类型 [ r ]代表可读(read)&#xff1…...

kernel header解析

一、kernel header定义: aarch64 kernel header u32 code0; /* Executable code */ u32 code1; /* Executable code */ u64 text_offset; /* Image load offset, little endian */ u64 image_size; /* Effective Image size, little…...

MQ运行时遇到的问题

遇到的问题描述:我在绑定通道的时候发现了通道绑定失败, 原因: 在代码中我第一次创建交换机的时候类型的默认没有修改成topic类型的,导致后面的代码再去进行注册的时候并没有实现那个类型 解决: 更改代码&#xff0…...

EDI是什么?与ERP有何关系

EDI的发展过程 电子数据交换(Electronic Data Interchange,EDI)是一种通过电子方式传输商业文件的技术。EDI的历史可以追溯到20世纪60年代,当时企业开始使用计算机进行数据处理。最早的EDI系统是为解决大型企业间的信息交换问题而…...

【MotionCap】在wsl2 ubuntu20.04构建及运行

https://github.com/MVIG-SJTU/AlphaPose/issues/1157conda create -n alphapose python=3.7 -y conda activate alphapose conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1...

iptables 防火墙(二)

iptables 防火墙(二) 一、SNAT 策略及应用SNAT 策略概述SNAT 策略的应用 二、DNAT 策略及应用DNAT 策略概述 三、规则的导出、导入规则的备份及还原iptables-save 命令iptables-restore 命令 使用 iptables 服务 四、使用防火墙脚本防火墙脚本的构成防火…...

【机器学习】在【PyCharm中的学习】:从【基础到进阶的全面指南】

目录 第一步:基础准备 1.1 Python基础 1.1.1 学习Python的基本语法 1.1.2 控制流 1.1.3 函数和模块 1.2 安装PyCharm 1.2.1 下载并安装 第二步:数据科学基础 2.1 安装必备库 2.1.1 使用pip安装 2.2 数据操作 2.2.1 Pandas基础操作 2.2.2 Nu…...

idea Error running ‘Application‘

1、Error running ‘Application’ Error running ApplicationError running Application. Command line is too long.Shorten the command line via JAR manifest or via a classpath file and rerun.找到 .idea/libraies/workspace.xml 中的 PropertiesComponent 属性&#…...

数据结构和顺序表

什么是数据结构 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 数据元素的三要素 数据结构包括三方面的内容:逻辑结构、存储结构、数据的运算。 逻辑结构 逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。数据的逻辑结…...

【一步一步了解Java系列】:对这个系列的总结以及对缺漏内部类知识的补充

看到这句话的时候证明:此刻你我都在努力 加油陌生人 br />个人主页:Gu Gu Study专栏:一步一步了解Java 喜欢的一句话: 常常会回顾努力的自己,所以要为自己的努力留下足迹 喜欢的话可以点个赞谢谢了。 作者&#xf…...

TCP和UDP

目录 TCPUDPTCP 传输控制协议(Transmission Control Protocol, TCP)是一种面向连接的,可靠的,基于字节流的传输层通信协议。在该层,另一个重要传输协议是用户数据包协议(UDP)。 数据在TCP层称为流Stream,数组分组称为分段Segment。相对的在IP层,数据称为Datagram, 数…...

【ai】tx2 nx:ubuntu18.04 yolov4-triton-tensorrt 成功部署server 运行

isarsoft / yolov4-triton-tensorrt运行发现插件未注册? 【ai】tx2 nx: jetson Triton Inference Server 部署YOLOv4 【ai】tx2 nx: jetson Triton Inference Server 运行YOLOv4 对main 进行了重新构建 【ai】tx2 nx :ubuntu查找NvInfer.h 路径及哪个包、查找符号【ai】tx2…...

类与对象的创建

1.类是一种抽象的数据类型,他是对某一类事务整体描述/定义,但是并不能代表某一个具体的事物 eg:动物,植物,手机,电脑... Person类,Pet类,Car类,这些类都是用来描述、定义…...

基于单片机的 LED 照明灯智能调光系统设计

摘  要: 社会经济的不断发展,推动了智能化生活的进程,智能调光技术开始广泛应用在生活中,人们也逐渐提高了灯光亮灯率等的要求。基于此,笔者主要设计了基于单片机的 LED 照明灯智能调光系统,希望能够为相关…...

客户满意度调查方法有哪些

用户满意度调查作为改进用户体验工作中重要的一项活动,可以帮助企业深入了解客户对产品服务各方面评价。有许多企业想开展客户满意度调查,但是在调查方式上不清楚该用那种方式?另外还要考虑预算,民安智库(公众满意度调…...

为什么企业应用开发,c++干不过java?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「c的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! C/C这种东西,根本…...

基于盲信号处理的声音分离——最小化增益的ICA算法

基于最小化增益的ICA算法的算法是依据混合信号经过盲信号分离会产生一定的噪声,为了使得分离后的信号与原信号的比值最小时,叫做增益最小。当增益越小时,分离后噪声越小,分离信号越接近原信号,分离算法的效果越好。这是…...

自动化代码规范检查--Sonarqube部署

参考文档 官方文档安装数据库 官方给出几种数据库: # 我们选用postgres, 拉取镜像 docker pull postgres:16.0# 创建存储卷 docker volume create postgresql-data# 运行容器 docker run -d --name sonarqube-postgres \-p 5432:5432 \-e POSTGRES_DB=sonar_DB \-e POSTGRE…...

基于uni-app与图鸟UI的移动应用模板构建研究

摘要 随着移动互联网技术的迅猛发展,移动端应用已成为企业展示形象、提供服务的重要窗口。本文基于uni-app框架和图鸟UI设计,深入探讨了如何高效构建覆盖多个领域的移动端应用模板。通过对商城、办公、投票、生活服务等多种类型模板的详细介绍&#xff…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...