HGMF: Heterogeneous Graph-based Fusion for Multimodal Data
with Incompleteness
背景介绍
随着数据采集技术的进步,多模态数据正在急剧增加,多模态数据融合在各种应用场景中有效提升了性能,如目标检测、情感分析、情感识别和医疗检测等。
早期研究已经通过结合多模态来学习联合表示或执行预测,包括一些传统的方法,如早期融合和晚期融合、深度学习方法(基于图的后期融合)和深度融合(侧重于探索多模态交互)。
在现实世界中,由于传感器损坏、数据损坏和人为记录错误等各种原因,多模态数据通常会出现模态缺失,有效地集成和分析不完整的多模态数据是一个具有挑战性的问题。
对于多模态模式缺失问题主要有三个问题需要解决:
- 带有不同缺失模态的多模态数据组合,其特征集的维数和数量可能都不一致,从而给应用完整的多模态融合模型带来困难。
- 有效的多模态融合需要学习互补信息、特定模态信息以及多模态交互,但是由于缺失模态的存在,相关信息不能直接从不完整的个体数据中获得。
- 大量缺失数据可能会极大地减少数据的规模,导致难以从少量的样本中学到高维交互特征。
以前的一些研究通常通过删除不完整数据样本或推测缺失的模态来处理模态缺失问题。但直接删除不完整数据样本会明显减低样本的规模这可能会导致后续深度学习的模型过拟合,特别是当大量的样本都存在不同的模态数据缺失时。而推测缺失模式的方法尝试根据观察到的现有模式来生成缺失的模式,如0值填补法、均值填补法、矩阵补全和基于深度学习的方法等,但这类方法反而可能给数据引入新的噪声,对模型性能产生负面影响,并且这些噪声有时会影响复杂的辅助模型,如深层生成模型。
主要研究内容
这篇文章主要研究基于异构图的不完整多模态数据融合,致力于在不加推测的情况下处理不完整数据。现在已经有不少研究者在做这方面的尝试,如:
- 多源特征学习法(Multi-source feature learning method):将不完整数据划分成多个子组合,然后集成表示这些子组合将其变为一个稀疏多任务学习问题。
- 多超图学习法(Multi-hypergraph learning method):合并高阶子组关系,并直接在输出上学习。
上述的方法虽然提供了解决思路,但忽略了模态间/模态内的相互作用,无法学习不完整样本间的关系。这篇文章的作者制定了一个新的基本结构来便捷的提取复杂信息,在不删除或预测数据的情况下融合带缺失模态的多模态数据。
该方法称为Heterogeneous Graph-based Multimodal Fusion (HGMF),它首先在一个异构的图结构中对带有不完整性的多模态数据进行建模,然后使用一个基于图神经网络的直推式学习框架从高交互的不完全多模态中提取互补信息,并将不同子空间的信息融合到统一的空间中。具体内容为:
- 提出在异构超节点图(heterogeneous hypernode graph, HHG)中建模具有不同不完整模态的高度交互多模态数据。
- 提出了一个基于图神经网络的直推式学习框架,在构建的HGG中执行不完整数据的多模态融合。
- 在多个层级的数据缺失中进行试验,证明该方法能够处理高缺失数据比例的真实场景。
问题形式化
多模态数据的不完整形式
对于一个-模态的不完整数据集,会存在个不同的缺失模态组合,因此一个不完整多模态数据集最多有种不完整形式。下图展示了一个基于块的结构图,为一个拥有7种不完整形式的三模态数据集()。带颜色的为已有模态,X为缺失模态,该图还表明实例可以被分成若干组,每组中所有的实例拥有相同的缺失形式,每个实例仅属于一个形式。
问题2.1 带不完整数据的多模态融合
假设为数据集的模态数量,是样本数,为将每个样本映射到某个形式的函数,表示对于形式的可用模式集合。给定一组不完整多模态数据样本 作为输入,此时每个数据样本包含一组可用模态
直推式学习
这篇文章构建了一个直推式学习框架,不同于归纳式学习(inductive learning),直推式学习(基于实例的学习)直接融合其他样本中隐含的特征信息。这个方法的关键点在于:通过该直推式学习框架,一个不完整数据样本可以从其他已有的样本中得到缺失的信息,带有不同缺失数据模态的实例可以有效地交换它们的特殊模态和交互信息,并在此过程中实现多模态融合。
研究方法
这篇文章提出了HGMF法,它的构建基于一个图神经网络(GNN)直推式学习框架,由三个步骤组成:
- 在一个异构超节点图结构中建模不完整多模态数据。
- 将带有缺失模态的高交互多模态数据编码为更明确的特定模态(modality-specific)和交叉模态交互信息。
- 在多模态实例间跨不同缺失形式集成和交互信息,将所有数据融合到同一个嵌入空间中。
下图展示了HGMF处理一个带有4种缺失形式数据样本的三阶段工作流样例。
通过异构超节点图建模不完整多模态数据
一个含有多种缺失数据形式的不完整多模态数据集可以被建模成一个k-NN关联图结构,每个节点是一个实例。
为了实现建模,首先要定义HGG图。一个HGG图可以定义为,其中:
-
一般简单图的节点关联的都是相同维度的特征,而超节点包含不同数量和维度的特征,每个超节点的特征可能隐式/显式的相互作用,定义为超节点集合。这篇文章的研究中,就一个超节点等同于一个多模态实例,定义图的特征集为
-
图的边集合定义为:。 在为实例构造k-NN关联图时,为了更好的表示节点间的高阶联系,使用超图中的超边来替代成对边。一条超边是(超)节点的一个子集,连接那些共享类似信息的个实例,并表示这些节点间的k-NN关系。可以表示为一个关联矩阵,每一行为一个超节点,每一列为一条超边。对于矩阵的每一项,表示超节点通过超边&e_j&和一些其他的超节点连接。每条超边和一个单值权重关联,这篇文章中所有边权重值都为1.
-
为节点形式-映射函数,为形式集合,此处的表示数据集中观测到的不完整形式数量。构建出的图显然是异构的,因为超节点(实例)拥有不同的不完整形式,因此定义来区分多模态实例。
-
定义一个函数来将一个形式映射到一个模式集组合上,该函数为,表示集合的幂集合。
异构超节点图的构建
下图展示了一个HHG图的构造过程。图的左边展示了一个三模式不完整数据集,行表示实例,列表示模态,通过可以很容易获得函数和,特征集基于数据可用性和相应的特征。图的右边是一个根据输入构造的七形态HHG,不同颜色表示不同的形式,每一个超节点包含多种模态。
首先,根据可用模态的不同组合,将块状不完整数据集重构为B block,然后计算每个块中相关的所有实例间的超边集合。定义和为块b相关的超节点集和模态集,可以计算出块内任意两个实例间的归一化距离:
此处的 (||…||表示范数),且
,上述两个公式为预先训练的单模态表征学习模型,用于初始化浅单模态特征。所有实例计算完成后,对每条超边以每个节点为中心使用k近邻算法计算距离。如(b)图下面所示,对于所有预定义的块,B超边缘集通过特征提取模型的参数来独立计算。假设他们的关联矩阵为,则最终HHG内的关联矩阵为这些矩阵的串联,通过这个方法缺失某个模态的实例可以和其他不缺失的实例关联,从而缓解数据缺失问题。
超节点内部编码
在构造完成输入图和特征集后,使用一个超节点内部编码器从存在缺失数据的高交互模态中捕获补充信息,编码器的结构如下图所示,由两个组件构成。
- 单模态嵌入网络:网络输入为单模态数据,输出为单模型嵌入。
由于中的原始信息是极度高维、稀疏且数据结构不一致的,因此很难计算原始模态间的交互信息。因此,这篇文章设置了一系列特定源的深度神经网络从单模态原始数据中学习压缩和丰富的特征表示信息。
主要使用三种架构来搭建单模态嵌入网络:
- 对于图像类模态嵌入使用卷积神经网络(CNN)。
- 对于序列类模态嵌入使用双向长短期记忆神经网络(Bidirectional Long Short-Term Memory Networks, BI-LSTM),例如视频、自由文本(临床记录)和口语等。
- 对于高维或稀疏的基于特征的模态使用非线性激活函数后的堆叠全连接层,例如基因表达。
假设为可学习参数的的单模态嵌入网络,对于每个超节点,其特征集内容为,其模态-m被嵌入为: