TIP: Tabular-Image Pre-training for Multimodal Classification with Incomplete Data
论文链接
https://link.springer.com/chapter/10.1007/978-3-031-72633-0_27
代码链接
https://github.com/siyi-wind/TIP
简介
图像-表格表示学习受到越来越多的关注,但由于表格数据通常具有异构性和不完整性,并且与图像存在显著的模态差异,这仍然是一项具有挑战性的任务。以往的工作主要研究完整数据场景中的简单模态融合策略,而未考虑数据缺失问题,因此在实践中受到限制。
文中提出一个新颖的图像-表格预训练框架(TIP),用于学习对不完整表格数据具有鲁棒性的多模态表示。TIP 探索了一种新颖的自监督学习策略,包括表格掩码重建任务,图像-表格匹配和对比学习。此外,TIP 提出了一种可处理不完整、异构表格数据的表格编码器,以及一种多模态交互模块,用于模态间表示学习。
作者在医学和自然图像数据集的下游多模态分类任务上进行了实验,展示 TIP 在完整和不完整的数据集上都极大的超越了过去的先进模型。
背景介绍
尽管将图像和文本等多种模态结合构建多模态人工智能系统已经取得了显著进展,但对表格数据的整合研究相对较少。然而,表格数据在多模态数据集中日益普及,其整合在许多应用中至关重要。例如,在医疗领域,丰富的表格信息(如人口统计数据、生活方式和生化指标)通常与影像数据一起在医院中收集,随后联合使用以辅助临床决策。大规模人口研究(如UK Biobank 和 MIMIC)进一步促进了此类多模态资源在机器学习和医学研究中的广泛应用。
尽管如此,目前针对图像-表格数据分析的技术仍然相对有限。开发有效的多模态表示学习方法,以充分利用图像和表格信息,从而加深对人类健康的理解,正成为一个备受关注的研究方向。
与视觉-语言建模相比,将图像和表格数据结合应用于实际任务更加困难,主要面临两个挑战。
-
低质量数据: 用于特定下游任务的数据集(例如,稀有疾病分类)可能非常有限,且存在数据稀疏问题。并且,如图1(b)所示,这些数据集可能会由于不同中心的数据收集标准,意外缺失某些受试者的表格值, 即_值缺失_(红色单元格),或者直接缺失整个特征列,即_特征缺失_(黄色单元格)。
-
模态差异: 与图像和文本的同质性特征不同,表格数据具有异质性,既有密集的数值特征,也有稀疏的类别特征。数据列的值范围、含义各异,且缺乏明确的相互关系。
图1: TIP的流程:先在大规模数据集上预训练(a),随后可部署到具有数据缺失问题的下游任务中(b),例如值缺失(红色)和特征缺失(黄色)。冠状动脉疾病分类任务的结果(c)显示,TIP相较于最新的多模态预训练方法表现更优(数字表示性能提升)。
目前已有一些方法用于处理噪声和缺失数据,但它们主要专注于单模态的表格数据分析,而非多模态任务。此前的图像-表格模型大多在相对较小的标注数据集上进行训练和测试,且表格信息的数量有限。这些方法通常采用浅层多层感知机和简单的模态融合策略,未能充分考虑数据不完整性和模态差异的挑战。最近,Hager等人提出了MMCL,这是第一个通过多模态对比学习联合训练图像和表格编码器的自监督学习方法。然而,它在下游任务中仅使用图像编码器,忽略了表格数据中丰富的信息对于决策的重要性。
论文贡献
-
首个提出针对图像-表格数据的自监督预训练方法,以应对低质量数据和模态差异的挑战,并研究多模态任务中的各种数据缺失问题。
-
提出 TIP,该方法采用一种新的基于 transformer 的多模态架构以增强表示学习,并设计了一种新颖的自监督预训练策略来解决表格数据缺失问题。
-
在自然和医学数据集上的实验表明,在完整的以及不同缺失率下的不完整数据场景中,TIP 显著优于现有的监督/自监督,图像/多模态方法。
方法
图2: TIP的模型架构和算法:(a)模型概览,包括图像编码器、表格编码器和多模态交互模块,这些模块通过三种自监督学习损失函数进行预训练;(b) 模型细节,包括 (b-1) 表格掩码重建损失和图像-表格匹配损失的计算,以及 (b-2) 含缺失数据的表格编码;© 预训练算法伪代码。
TIP模型结构
如图2所示,TIP 包括一个图像编码器,一个表格编码器和模态交互模块。
表格编码器: 为了处理具有异质性和潜在缺失值的数据,并从表格特征中提取丰富的上下文信息,我们通过一个全能的表格嵌入模块将表格特征转换为嵌入 token。随后,我们通过 transformer 层使嵌入的 tokens 能够进行注意力交互。我们的表格嵌入模块(图2(b-2))包含三个部分:异质数据处理、缺失数据处理 和 列多样性整合。
-
异质数据处理 :表格数据通常包含类别型和连续型变量,这两种类型差异很大,无法使用单一的函数进行嵌入。我们通过一个可学习的嵌入矩阵 将每个类别型特征转换为一个 token 嵌入。同时,我们采用共享的线性层将每个连续型特征投影到 维空间。
-
缺失数据处理 :为了处理不完整数据并在训练过程中告知模型哪些数据缺失,我们提出使用一个特殊的可训练 维 [MSK] token 嵌入来嵌入每个缺失值。这种方法不需要在输入前进行数据填充,并且可以处理各种类型的缺失数据场景。嵌入后的特征与一个特殊的可调 [CLS] token 连接,生成一个嵌入序列 。
-
列多样性整合 :表格数据中的每一列通常具有不同的意义,因此将它们统一处理并不合适。为了区分不同的列并捕捉列间关系,我们提出通过一个可学习的列名序列嵌入 来整合列的多样性。我们的数据驱动策略可以动态捕捉训练数据中潜在的列依赖性。例如,“体重” 和 “饮酒” 两列可能在语义上相似性较小,但却可能呈现出强烈的临床关联。最终的嵌入表示为:。
多模态交互模块: 为了增强多模态表示学习并捕捉跨模态关系,我们提出利用 transformer 解码模块中的跨注意力机制,使表格token能够交叉关注相关的图像信息。
其中 ,,,且 .
TIP自监督预训练策略
为了使模型对不完整的下游数据具有鲁棒性,同时改善表示学习,我们提出三个预训练任务,包括掩码表格重建、图像-表格对比学习和图像-表格匹配(如图2所示)。
图像-表格对比学习(ITC): 我们设计了 ITC 任务,以便在模态融合之前更好地捕捉单模态表示并对齐它们的特征空间。ITC 鼓励来自匹配样本的图像和表格表示比来自不匹配样本的表示更为接近。图像-表格对比损失为。
图像-表格匹配(ITM): 我们提出了 ITM 任务,以使TIP的多模态交互模块能够捕捉模态间关系并生成联合多模态表示。ITM 任务旨在预测一对图像和表格输入是否为正样本(匹配)或负样本(不匹配)。如图2(b-1)所示,我们将捕捉到的图像-表格对联合表示的 [CLS] 嵌入输入到 ITM 预测器 (一个线性层),基于二元交叉熵损失 进行匹配预测。
掩码表格重建(MTR): 该任务旨在学习能够在下游任务中对缺失的表格数据具有鲁棒性的多模态表示。MTR 任务要求模型基于图像和未掩码的表格信息预测表格数据中被掩码的部分。如图2(b-1)所示,由于重建类别数据是一个分类任务,而重建连续数据是一个回归任务,MTR预测器 包含两个不同的线性层,分别处理 个类别特征和 个连续特征,具体为:
重建损失为 ,其中 表示类别特征的交叉熵损失, 是连续特征的均方误差损失。
最终,整体预训练损失函数被表示为:
微调中的集成学习: 预训练之后,我们可以在特征提取器后添加线性分类器,用于下游分类任务。鉴于我们的预训练策略使图像编码器、表格编码器以及多模态交互模块都能学习有利于下游任务的丰富表示,我们提出构建一个集成模型,在三个模块的每个模块后都加入一个线性分类器,并将三个分类器预测结果的平均值作为输出,以进一步提升模型的性能。
实验结果
我们使用一个医疗图像数据集 UK Biobank 和一个自然图像数据集 DVM。在 UK Biobank 上,我们进行两个心脏疾病分类任务:冠状动脉疾病(CAD)和心肌梗死(Infarction),使用 2D 短轴心脏磁共振图像和75个与疾病相关的表格特征。DVM 是一个公开可用的汽车应用数据集,包括 2D 汽车图像和与汽车相关的表格数据,在其上我们进行了一个包含 283 类的汽车模型分类任务。
表1: 完整下游任务数据集。
表2: 完整下游任务数据集(少量数据情况)。
图3: 不完整下游任务数据集。(a)随机值缺失;(b)随机列缺失;(c)最重要列缺失;(d)最不重要列缺失。
表3: TIP 与数据插补方法在不同缺失率下重建缺失连续特征的结果比较。
表4: 使用不同图像编码器及 TIP 的消融研究。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。