概述

多模态机器学习(Multimodal Machine Learning)研究包含不同模态数据的机器学习问题。常见的模态包括:视觉、文字、声音。数据的形成方式和内部结构有很大的区别,例如,图像是自然界存在的连续空间,而文本是依赖人类知识、语法规则组织的离散空间。多模态数据的异质性(heterogeneity)对如何学习多模态间关联性和互补性提出挑战。

多模态的一些任务:

  • 视频、图片、文本、语音的相互转化
  • 定位相关任务
  • 情感计算
  • 不同医疗影像模态

多模态表征

表征学习是多模态任务的基础,其中包含了一些开放性问题,例如:如何结合来源不同的异质数据,如何处理不同模态的不同噪声等级,测试样本的某种模态缺失怎么办。现有多模态表征学习可分为两类:

  • Joint结构(联合,也称为单塔结构)注重捕捉多模态的互补性,融合多个输入模态x1,x2x_1,x_2获得多模态表征xm=f(x1,x2,...,xn)x_m=f(x_1,x_2,...,x_n),进而使用xmx_m完成某种预测任务。网络优化目标是某种预测任务的性能。适合多模态输入的情形,如视听语音识别,VQA,情感识别等
  • Coordinated结构(协作,双塔结构)并不寻求融合而是建模多种模态数据间的相关性,它将多个(通常是两个)模态映射到协作空间,表示为:f(x1)g(x2)f(x_1)\sim g(x_2),其中\sim表示一种协作关系。网络的优化目标是这种协作关系(通常是相似性,即最小化cosine距离等度量)。适合单一模态输入的情形,如跨模态检索,翻译,grounding和zero-shot learning。

随着越来越多工作证实Transformer在CV和NLP以及Speech领域都可以获得极佳的性能,仅使用Transformer统一多个模态、甚至多个跨模态任务成为可能。基于Transformer的多模态预训练模型在2019年后喷涌而出,如LXMERT, Oscar, UNITER属于Joint结构,CLIP, BriVL属于Coordinated结构。

跨模态翻译

跨模态翻译的目的是学习如何将源模态映射(map)到目标模态。主流方法分为两类:

  • 举例法(example-based)。模版法的特征是借助于词典(dictionary)进行翻译,单模态检索首先找到与x^\hat{x}最相似的xix_i ,然后获得对应的yiy_i。而多模态检索直接在{y1,...,yn}\{y_1,...,y_n\}集合中检索到与x^\hat{x}最相似的yiy_i,性能通常优于单模态检索。该方法问题是需要维护大词典,较为机械。
  • 生成式模型(generative)。抛弃词典,直接生成目标模态的数据,生成更为灵活。分为三个子类别:
    • 基于语法模板,即人为设定多个针对目标模态的语法模版,将模型的预测结果插入模版中作为翻译结果。
    • 编码-解码器(encoder-decoder)。首先将源模态的数据编码为隐特征,后续被解码器用于生成目标模态。以图像描述为例,编码器(一般为CNN+spatial pooling)将图像编码为一个或多个特征向量,进而输入到RNN中以自回归的方式生成单词序列。
    • 连续性生成(continuous generation)。它针对源模态与目标模态都为流数据且在时间上严格对齐的任务。以文本合成语音为例,它与图像描述不同,语音数据与文本数据在时间上严格对齐。WaveNet[6]采用了CNN并行预测+CTC loss解决该类问题。当然,编码-解码器理论上也可完成该任务,但需处理数据对齐问题。

现今,编码-解码器与连续性生成是主流方案,它们一般基于深度网络且端到端训练。基于检索的评估和弱化任务(例如:将图像描述中一对多映射简化为VQA中一对一的映射)也是解决评估困境的手段。

跨模态对齐

跨模态对齐目的是挖掘多模态数据的子元素之间的关联性。

  • 显示对齐。如果一个模型的优化目标是最大化多模态数据的子元素的对齐程度,则称为显示对齐。包括无监督和有监督方法。Visual grounding便是有监督对齐的任务,而weakly-supervised visual grounding是无监督对齐的任务。
  • 隐式对齐。如果模型的最终优化目标不是对齐任务,对齐过程仅仅是某个中间(或隐式)步骤,则称为隐式对齐。最受欢迎的方式是**基于注意力机制的对齐,我们对两种模态的子元素间求取注意力权重矩阵,**可视为隐式地衡量跨模态子元素间的关联程度。

多模态对齐面临如下挑战:仅有少量数据集包含显式的对齐标注;跨模态度量难以设计;可能存在多种对齐,也可能存在某些元素无法在其他模态中找到。

多模态融合

若测试场景下的输入数据包含多个模态,那么必须面对多模态特征融合。

模型无关的融合策略:

  • 前融合:指在模型的浅层(或输入层)将多个模态的特征拼接起来。
  • 后融合:独立训练多个模型,在预测层(最后一层)进行融合。
  • 混合融合:同时结合前融合和后融合,以及在模型中间层进行特征交互。

基于模型的融合策略:

  • 多核学习(Multiple Kernel Learning)是SVM的扩展。SVM通过核函数将输入特征映射到高维空间,使线性不可分问题在高维空间可分。在处理多个输入时,多核处理多个模态特征,使得每个模态都找到其最佳核函数。
  • 基于概率图模型利用隐马尔可夫模型或贝叶斯网络建模数据的联合概率分布(生成式)或条件概率(判别式)。
  • 基于神经网络的融合使用LSTM、卷积层、注意力层、门机制、双线性融合等设计序列数据或图像数据的复杂交互。

多模态融合仍存在的挑战:不同模态的序列信息可能没有对齐;信号间的关联可能只是补充(仅提高鲁棒性而无法增大信息量)而不是互补;不同数据可能存在不同程度的噪声。

参考文献

Multimodal Machine Learning: A Survey and Taxonomy