【论文笔记】HGMF: Heterogeneous Graph-based Fusion for Multimodal Data with Incomplete

2,331 阅读13分钟

HGMF: Heterogeneous Graph-based Fusion for Multimodal Data with Incompleteness

论文链接

背景介绍

随着数据采集技术的进步,多模态数据正在急剧增加,多模态数据融合在各种应用场景中有效提升了性能,如目标检测、情感分析、情感识别和医疗检测等。

早期研究已经通过结合多模态来学习联合表示或执行预测,包括一些传统的方法,如早期融合和晚期融合、深度学习方法(基于图的后期融合)和深度融合(侧重于探索多模态交互)。

在现实世界中,由于传感器损坏、数据损坏和人为记录错误等各种原因,多模态数据通常会出现模态缺失,有效地集成和分析不完整的多模态数据是一个具有挑战性的问题。

对于多模态模式缺失问题主要有三个问题需要解决:

  1. 带有不同缺失模态的多模态数据组合,其特征集的维数和数量可能都不一致,从而给应用完整的多模态融合模型带来困难。
  2. 有效的多模态融合需要学习互补信息、特定模态信息以及多模态交互,但是由于缺失模态的存在,相关信息不能直接从不完整的个体数据中获得。
  3. 大量缺失数据可能会极大地减少数据的规模,导致难以从少量的样本中学到高维交互特征。

以前的一些研究通常通过删除不完整数据样本或推测缺失的模态来处理模态缺失问题。但直接删除不完整数据样本会明显减低样本的规模这可能会导致后续深度学习的模型过拟合,特别是当大量的样本都存在不同的模态数据缺失时。而推测缺失模式的方法尝试根据观察到的现有模式来生成缺失的模式,如0值填补法、均值填补法、矩阵补全和基于深度学习的方法等,但这类方法反而可能给数据引入新的噪声,对模型性能产生负面影响,并且这些噪声有时会影响复杂的辅助模型,如深层生成模型。

主要研究内容

这篇文章主要研究基于异构图的不完整多模态数据融合,致力于在不加推测的情况下处理不完整数据。现在已经有不少研究者在做这方面的尝试,如:

  • 多源特征学习法(Multi-source feature learning method):将不完整数据划分成多个子组合,然后集成表示这些子组合将其变为一个稀疏多任务学习问题。
  • 多超图学习法(Multi-hypergraph learning method):合并高阶子组关系,并直接在输出上学习。

上述的方法虽然提供了解决思路,但忽略了模态间/模态内的相互作用,无法学习不完整样本间的关系。这篇文章的作者制定了一个新的基本结构来便捷的提取复杂信息,在不删除或预测数据的情况下融合带缺失模态的多模态数据。

该方法称为Heterogeneous Graph-based Multimodal Fusion (HGMF),它首先在一个异构的图结构中对带有不完整性的多模态数据进行建模,然后使用一个基于图神经网络的直推式学习框架从高交互的不完全多模态中提取互补信息,并将不同子空间的信息融合到统一的空间中。具体内容为:

  • 提出在异构超节点图(heterogeneous hypernode graph, HHG)中建模具有不同不完整模态的高度交互多模态数据。
  • 提出了一个基于图神经网络的直推式学习框架,在构建的HGG中执行不完整数据的多模态融合。
  • 在多个层级的数据缺失中进行试验,证明该方法能够处理高缺失数据比例的真实场景。

问题形式化

多模态数据的不完整形式

对于一个MM-模态的不完整数据集,会存在(2M1)(2^M-1)个不同的缺失模态组合,因此一个不完整多模态数据集最多有(2M1)(2^M-1)种不完整形式。下图展示了一个基于块的结构图,为一个拥有7种不完整形式的三模态数据集(M=3M=3)。带颜色的为已有模态,X为缺失模态,该图还表明实例可以被分成若干组,每组中所有的实例拥有相同的缺失形式,每个实例仅属于一个形式。

image.png

问题2.1 带不完整数据的多模态融合

假设MM为数据集的模态数量,NN是样本数,ψ\psi为将每个样本映射到某个形式的函数,ϕ(q){1...M}\phi(q)\subseteq \{1...M\}表示对于形式qq的可用模式集合。给定一组不完整多模态数据样本 D={x~i}i=1ND=\{\tilde{x}_i\}^N_{i=1}作为输入,此时每个数据样本包含一组可用模态 x~i={xi,m}m(ψ(i))\tilde{x}_i=\{x_i,m\}_{m\in(\psi(i))}

直推式学习

这篇文章构建了一个直推式学习框架,不同于归纳式学习(inductive learning),直推式学习(基于实例的学习)直接融合其他样本中隐含的特征信息。这个方法的关键点在于:通过该直推式学习框架,一个不完整数据样本可以从其他已有的样本中得到缺失的信息,带有不同缺失数据模态的实例可以有效地交换它们的特殊模态和交互信息,并在此过程中实现多模态融合

研究方法

这篇文章提出了HGMF法,它的构建基于一个图神经网络(GNN)直推式学习框架,由三个步骤组成:

  1. 在一个异构超节点图结构中建模不完整多模态数据。
  2. 将带有缺失模态的高交互多模态数据编码为更明确的特定模态(modality-specific)和交叉模态交互信息。
  3. 在多模态实例间跨不同缺失形式集成和交互信息,将所有数据融合到同一个嵌入空间中。

下图展示了HGMF处理一个带有4种缺失形式数据样本的三阶段工作流样例。

image.png

通过异构超节点图建模不完整多模态数据

一个含有多种缺失数据形式的不完整多模态数据集可以被建模成一个k-NN关联图结构,每个节点是一个实例。

为了实现建模,首先要定义HGG图。一个HGG图可以定义为G=(V,E,ψ,ϕ)G=(V,E,\psi,\phi),其中:

  • 一般简单图的节点关联的都是相同维度的特征,而超节点包含不同数量和维度的特征,每个超节点的特征可能隐式/显式的相互作用,定义V={vi}i=1NV=\{v_i\}^N_{i=1}为超节点集合。这篇文章的研究中,就一个超节点等同于一个多模态实例,定义图的特征集为X={{xi,mmϕ(ψ(i))},1iN}X=\{\{x_{i,m}|\forall m \in \phi(\psi(i))\},1 \leq i \leq N \}

  • 图的边集合定义为:E={ej}j=1EE=\{e_j\}^{|E|}_{j=1}。 在为实例构造k-NN关联图时,为了更好的表示节点间的高阶联系,使用超图中的超边来替代成对边。一条超边是(超)节点的一个子集,连接那些共享类似信息的kk个实例,并表示这些节点间的k-NN关系。EE可以表示为一个关联矩阵H{0,1}V×EH\in\{0,1\}^{|V|\times|E|},每一行为一个超节点viv_i,每一列为一条超边eje_j。对于矩阵的每一项,H(vi,ej)=1H(v_i,e_j)=1表示超节点viv_i通过超边&e_j&和一些其他的超节点连接。每条超边eje_j和一个单值权重wjw_j关联,这篇文章中所有边权重值都为1.

  • ψ:VT\psi:V \longmapsto T为节点形式-映射函数,T={1,2,...,M}T=\{1,2,...,\overline{M}\}为形式集合,此处的M=2M1\overline{M}=2^M-1表示数据集中观测到的不完整形式数量。构建出的图显然是异构的,因为超节点(实例)拥有不同的不完整形式,因此定义ψ\psi来区分多模态实例。

  • 定义一个函数来将一个形式映射到一个模式集组合上,该函数为ϕ:TP(M)\\phi:T \longmapsto P(M)\backslash \emptysetP(M)P(M)表示集合M={1,,2,...,M}M=\{1,,2,...,M\}的幂集合。

异构超节点图的构建

下图展示了一个HHG图的构造过程。图的左边展示了一个三模式不完整数据集DD,行表示实例,列表示模态,通过DD可以很容易获得函数ϕ()\phi(\cdot)ψ()\psi(\cdot),特征集XX基于数据可用性和相应的特征。图的右边是一个根据输入构造的七形态HHG,不同颜色表示不同的形式,每一个超节点包含多种模态。

image.png

首先,根据可用模态的不同组合,将块状不完整数据集重构为B block,然后计算每个块中相关的所有实例间的超边集合。定义VbV_bMbM_b为块b相关的超节点集和模态集,可以计算出块内任意两个实例间的归一化距离:

image.png

此处的Zm=i,jVbum(Xi,m)um(Xj,m)22Z_m=\sum_{i,j\in V_b} ||u_m(X_i,m)-u_m(X_j,m)||^2_2 (||...||表示范数),且um(),m=1...Mu_m(\cdot),m=1...M ,上述两个公式为预先训练的单模态表征学习模型,用于初始化浅单模态特征。所有实例计算完成后,对每条超边以每个节点为中心使用k近邻算法计算距离。如(b)图下面所示,对于所有预定义的块,B超边缘集通过特征提取模型的参数来独立计算。假设他们的关联矩阵为{H1,H2,...,HB}\{H_1,H_2,...,H_B\},则最终HHG内的关联矩阵为这些矩阵的串联H=[H1;H2;...;Hb]H=[H_1;H_2;...;H_b],通过这个方法缺失某个模态的实例可以和其他不缺失的实例关联,从而缓解数据缺失问题。

超节点内部编码

在构造完成输入图GG和特征集XX后,使用一个超节点内部编码器从存在缺失数据的高交互模态中捕获补充信息,编码器的结构如下图所示,由两个组件构成。

image.png

  • 单模态嵌入网络:网络输入为单模态数据,输出为单模型嵌入。

由于XX中的原始信息是极度高维、稀疏且数据结构不一致的,因此很难计算原始模态间的交互信息。因此,这篇文章设置了一系列特定源的深度神经网络从单模态原始数据中学习压缩和丰富的特征表示信息。

主要使用三种架构来搭建单模态嵌入网络:

  1. 对于图像类模态嵌入使用卷积神经网络(CNN)。
  2. 对于序列类模态嵌入使用双向长短期记忆神经网络(Bidirectional Long Short-Term Memory Networks, BI-LSTM),例如视频、自由文本(临床记录)和口语等。
  3. 对于高维或稀疏的基于特征的模态使用非线性激活函数后的堆叠全连接层,例如基因表达。

假设fm(;Θm)f_m(\cdot;\Theta_m)为可学习参数Θm\Theta_mmm的单模态嵌入网络,对于每个超节点viv_i,其特征集内容为X~i=Xi,mmϕ(ψ(i))\tilde{X}_i={X_i,m}_{m\in \phi(\psi(i))},其模态-m被嵌入为:

him=fm(xi,m;Θm)h_i^m = f_m(x_{i,m};\Theta_m)

其中,himRFmh_i^m\in \mathbb{R}^{F_m}R\mathbb{R}为实数集,FmF_m为模态-m的嵌入维度。

  • 特征交互网络:用于捕获嵌入间的模态交互信息,并提取补充信息(特殊模态和跨模态交互信息)。

高阶模态间的相互作用可以单独出现在两对模态间或多个模态间,令P()P(\cdot)为幂集操作,且M={1,2,...,M}M=\{1,2,...,M\},令每个子集SP(M)\\forall S\in P(M)\backslash \emptyset为一个模态组合,可以从每个SS中学习到一种多模态交互和一种信息,将其称之为因子(factor)。一个超节点的补充信息由多个因子组成,每个因子可以表示为一个FF'维向量,因子的计算方法如下所示:

如果SS中只有一个元素(即S=1|S|=1),证明这是在为一个模态计算特定模态信息,特定模态信息定义为him,mh_i^{m,m}

image.png

此处,UmRF×FmU_m \in \mathbb{R}^{F'\times F_m}bmRFb_m \in \mathbb{R}^{F'}Um,mRF×(Fm)2U_{m,m} \in \mathbb{R}^{F'\times (F_m)^2}bm,mRFb_{m,m}\in \mathbb{R}^{F'}为神经网络gm()g_m(\cdot)gm,m()g_{m,m}(\cdot)的参数。GimRFm×fmG_i^m \in \mathbb{R}^{F_m \times f_m}为单模态嵌入himh_i^m的格拉姆矩阵,表示协方差,为特征的自交互信息。hˉim\bar{h}^m_i可以看做模态-m的平均值、低维的和特定信息。

如果SS中多于一个元素(即S>1|S|>1),则计算的是所有单模态嵌入间的跨模态互动信息{himmS}\{h_i^m|\forall m \in S\},则hiSh_i^S为:

image.png

此处的CiSC_i^S表示相关单模态嵌入的S|S|重向量叉积,且USRF×(mSFm)U_S\in \mathbb{R}^{F' \times (\prod_{m\in S}F_m)}bSRFb_S \in \mathbb{R}^{F'}为神经网络gS()gS(\cdot)的学习权重。

多重二层图注意力层

从上面的(a)图中可以看到,超节点内部编码器的输出为一个新的HHG Genc=(Venc,E,ψ,ϕ)G_{enc}=(V_{enc},E,\psi,\phi)和一个新的特征集Xenc={hi}i=1NX_{enc}=\{h_i\}^N_{i=1}。这节主要解决下面几个子问题:

  • Mˉ\bar{M}-重异构图嵌入

给定异构超节点图Genc=(Venc,E,ψ,ϕ)G_{enc}=(V_{enc},E,\psi,\phi),其节点集可以被分为Mˉ=τ\bar{M}=|\tau|基于ψ()\psi(\cdot)不相交子集Venc={Vppτ}V_{enc}=\{V_p|\forall p \in \tau\},且每个节点viVpv_i \in V_p都和一个FF'-维向量h~i={hiSSP(ψ(p))\}\tilde{h}_i=\{h_i^S|\forall S \in P(\psi(p))\backslash \emptyset\}相联系,该任务为学习将超节点映射到Mˉ\bar{M}嵌入空间中,进入到一个均匀的嵌入空间ZRN×dZ\in \mathbb{R}^{N \times d},实现将具有不同不不完整形式的超节点映射到相同的特征空间上。

为解决这个子问题,这篇文章提出了多重双层图主义网络(Multi-fold Bilevel Graph Attention Networks, MBGAT)。如下图所示,MGBAT的每层目标是将Mˉ\bar{M}空间中的现有特征映射到新Mˉ\bar{M}空间中,令特征靠近彼此。

image.png

在多模态融合的背景下,其困难来自于不同不完整形式之间存在未知的关系。为解决这个问题,这篇文章设计了一种双层关注策略来聚合不同形式间的邻里信息。对于每个MBGAT层,多空间输入表示为z={{zipviVp}pτ}z=\{\{z_i^p|\forall v_i \in V_p\}|\forall p \in \tau\},此处zipRdpz_i^p \in \mathbb{R}^{d_p}为和形式pp的点viv_i关联的dpd_p-维特征。多空间输出为z={{zipviVp}pτ}z'=\{\{{z'}_{i}^{p}|\forall v_i \in V_p\}|\forall p \in \tau\},此处zipRdp{z'}_i^p \in \mathbb{R}^{{d'}_p}dp{d'}_p为形式-pp新特征空间的维度。

一个MGBAT层有两个组成部分:

  • 多重内部形式聚合:在同一个空间中独立聚合节点,作为较低级的聚合,主要聚合同一特征空间的邻居(即那些缺失相同模态的多模态实例)。

多重映射:作为聚合前的准备,每个节点需要被映射到新的低维向量空间中。定义{Wpqp,qτ}\{W_{pq}|\forall p,q \in \tau\}作为τ|\tau|重映射方案,此处WpqRdq×dpW_{pq}\in \mathbb{R}^{d'_q \times d_p}为将节点从形式-p的特征空间映射到特征-q的新特征空间的可学习矩阵。下图演示了多重映射,图中不同颜色(不同形式)的节点被投影到不同的空间。

image.png

形式内聚合:定义Nq(i)={vjvjVq(HHT)ij>0}N_q(i)=\{v_j|\forall v_j \in V_q \wedge (HH^T)_{ij} > 0\}为形式qq对于viv_i的邻居节点集,此处的HH为关联矩阵。Nq(i)N_q(i) 中每个节点对于目标节点viv_i的重要程度可以通过注意力机制度量,即aqR2dq×1\vec{a}_q \in \mathbb{R}^{2d'_q \times 1},可以计算为:

image.png

最终,对于形式-q的所有临近节点viv_i的形式间聚合结果为:

其中,σ()\sigma(\cdot)为sigmoid函数。

image.png

下图中可以看到相同颜色(相同形式)的节点被聚合为新空间上的一个特定双圈特征点。

image.png

  • 形式间聚合:学习形式间的关系,并将所有相邻的聚合到一个目标空间。

给定形式间聚合结果{si1,si2,...,siMˉ},siqRdq\{s_i^1,s_i^2,...,s^{\bar{M}}_i\},s_i^q \in \mathbb{R}^{d'_q},可以通过注意力机制计算出形式-q邻居们对形式-p目标的重要性,bpR2dp×1b_p \in \mathbb{R}^{2d'_p \times 1},计算出的注意力系数为:

image.png

此处的VqpRdp×dqV_{qp} \in \mathbb{R}^{d'_p \times d'_q},为从形式-q到形式-p的空间到空间的转换。最终可以得到对于目标节点viv_i的嵌入为:

image.png

HGMF的伪码如下所示:

image.png

实验

主要关注数据集和实验环境。

数据集

  1. ModelNet40:3D CAD数据集
  2. NTU:3D数据集
  3. IEMOCAP:录音对话视频数据集

对比模型

归纳式多模态融合模型

  1. Concat, Tensor Fusion Network(TFN)
  2. Low-rank Fusion Network (LFM)
  3. Multitask Multimodal Learning (MTL)

转换模型

  1. Hypergraph Neural Network (HGNN)

实验设置

通过python3实现所有的基准和这篇文章提出的HGMF。