一篇关于多模态机器学习的综述(表示、转换、对齐、融合与协同学习).

模态(modality)或者感知模态(sensory modality),是指某件事发生或经历的方式(the way in which something happens or is experienced)。本文主要关注三个模态:natural languagevisual signalsvocal signals

多模态机器学习(multimodal machine learning)旨在建立能够处理和关联多个模态信息的模型(build models that can process and relate information from multiple modalities)。本文提出了多模态学习的五个挑战,包括表示(representation)转换(translation)对齐(alignment)融合(fusion)协同学习(co-learning)

  1. Representation:如何表示和总结多模态数据,并发掘其中的互补性和冗余性;
  2. Translation:如何把数据从一种模态转换到另一种模态;
  3. Alignment:如何在不同模态的元素中辨识出直接关系;
  4. Fusion:如何结合不同模态的信息进行预测;
  5. Co-learning:如何在不同模态、它们的表示和他们的预测模型之间传递知识(通常用于一种模态资源受限的场合)。

1. 多模态机器学习的应用

多模态学习最早是在视听语音识别(audio-visual speech recognition, AVSR)领域中研究的。它受麦格克效应(McGurk effect)的启发,即背景是$ba-ba$的声音,但看到$ga-ga$的口型时,会将其听成$da-da$的声音,这表明人类视觉会影响听觉。 第二个重要应用是多媒体内容检索(multimedia content indexing and retrieval)。早期检索多媒体视频是根据关键词进行的,如今可根据镜头边界检测和视频摘要直接进行检索。 第三个重要应用是多模态交互(multimodal interaction),进一步分析人类的表情和行为。 最近的一个重要应用是媒体描述(media description),比如为图像生成一段描述词。

作者将这些应用所面临的挑战总结如下:

2. Representation

多模态表示旨在使用多个模态的信息将数据表示成可以被计算机处理的形式(如向量或张量)。一个良好的表示应该具备的性质:平滑性(smoothness)时间和空间一致性(temporal and spatial coherence)稀疏性(sparsity)自然聚类(natural clustering)相似性(similarity)

作者总结了两种多模态表示:联合表示(joint representation)协调表示(coordinated representation)

联合表示把不同的单模态信号$x_1,…,x_n$组合到同一个表示空间:

\[x_m = f(x_1,...,x_n)\]

协调表示分别处理不同的单模态信号,但对其施加一定的相似性约束(如最小化余弦距离、最大化相关性),将其映射到协调空间(coordinated space)。其中每一个模态信号的映射是独立但协调的:

\[f(x_1) \text{~} g(x_2)\]

(1)Joint Representation

联合表示将多模态数据投影到一个公共空间中,主要(但不完全)用于在训练和推理步骤中存在多模态数据的任务,如试听语音识别、情感分析。最简单的联合表示是对单模态特征的级联(即早期的融合),更先进的联合表示方法包括神经网络、图模型和循环神经网络。

a. Neural networks

神经网络从数据中提取特征,其网络中间层的输出可以用作数据表示。对于多模态表示,可以先对每个模态使用几层独立的神经网络层,再通过共用高层将其映射到联合空间,从而实现多模态的特征表示,并可进一步用于下游任务。 由于神经网络需要大量的标记训练数据,因此在无监督数据上使用自编码器预先训练这种表示是很常见的。首先用堆叠的降噪自编码器分别表示每一个模态,再用自编码器将其融合为多模态表示。

使用神经网络进行联合表示的优点是可以通过无监督的预训练进行;缺点是无法处理缺失的数据,且网络训练困难。

b. Probabilistic graphical models

概率图模型通过使用隐随机变量重构表示。最流行的图模型是深度玻尔兹曼机,它不需要监督数据也能进行分层的特征表示。多模态深度玻尔兹曼机使用一个二进制隐藏层融合多个无向图,从多模态数据中学习联合表示;由于模型的无向性,每个模态的低级表示在联合训练后会相互影响。

图模型具有生成性,可以处理丢失的数据,也是一种无监督的训练模型。但是该模型计算代价高,需要近似变分方法损失了精度。

c. Sequential Representation

序列模型可以表示不同长度的序列(如句子、视频或音频)。循环神经网络的隐状态可以看作是数据的表示,即时间步长$t$时的隐状态可以看作是该时间步长之前序列的特征表示。

(2)Coordinated Representation

协调表示将每个模态投影到一个单独但协调的空间中,适合于通常只有两个模态、且测试时只需单个模态的任务中,如多模态检索和翻译。 协调表示分别表示每个模态的特征,但它限制了这些表示的相似性或表示空间的结构。

a. Similarity models

相似模型最小化协调空间中不同模式代表的同一个特征之间表示的距离。

b. Structured coordinated space models

结构化模型通过对协调空间进行结构化约束来进行协调表示。如在跨模态检索中,要求协调空间是紧凑的二进制码。

3. Translation

多模态转换旨在把一种数据模态转换到另一种模态。作者把多模态转换分成两类,基于样本(example-based)的和生成(generative)的。基于样本的多模态转换在转换时使用字典(dictionary),而生成的多模态转换在转换时构造了模型(model)

(1)Example-based

基于样本的方法受到字典的限制,可以细分为基于检索(retrieval-based)基于组合(combination-based)的方法。基于检索的模型直接使用检索到的转换,而基于组合的模型依赖更复杂的规则来创建基于多个检索实例的转换。

a. Retrieval-based models

基于检索的模型在字典中找到最接近的样本,并将其用作转换结果。可以在单模态空间或中间语义空间进行相似性比较。这些方法依赖于大型训练字典(配对样本数据集)。

b. Combination-based models

基于组合的模型从字典中检索示例,并以有意义的方式将它们组合起来,以构建更好的转换。

(2)Generative approaches

生成的多模态转换方法需要建立对应模态的生成模型。作者将其划分为基于语法(grammar-based)的生成模型、编解码(encoder-decoder)模型和连续生成(continuous generation)模型。 基于语法的模型通过使用语法限制目标域来简化任务。 编码器-解码器模型首先将源模态编码为潜在表示,再通过解码器生成目标模态。 连续生成模型基于源模态输入流连续地生成目标模态,适用于时间序列之间的转换。

a. Grammar-based models

基于语法的模型依赖于预定义的语法来生成特定的模态。它们首先从源模态中检测高层概念,这些概念与基于预定义语法的生成过程结合在一起,形成目标模态。

这种方法的优点是当使用预定义模板和语法时,更有可能生成在语法上或逻辑上正确的目标实例。但这限制了转换的创造性。并且这种方法定义的每个概念都需要一个单独的模型和一个单独的训练数据集。

b. Encoder-decoder models

基于端到端训练神经网络的编码器-解码器模型是目前最流行的多模态转换技术。 该模型的主要思想是首先将源模态编码为向量表示,然后使用解码器生成目标模态。

这种方法的主要问题在于网络可能是在记忆训练数据,而不是学习如何理解并生成它。此外,这种模型往往需要大量的数据进行训练。

c. Continuous generation models

连续生成模型用于序列转换,如文本到语音、语音到文本或视频到文本。该模型的主要问题是保持模态之间的时间一致性。

4. Alignment

多模态对齐是指从多种模态中找到其实例的子组件之间的对应关系。如给定一张图像和一个标题,希望找到与标题某单词对应的图像区域。

作者将多模态对齐分为隐式(implicit)对齐和显式(explicit)对齐。显式对齐是在不同模态之间对齐子组件。隐式对齐常被用作其他任务的中间步骤。

多模态对齐面临许多困难:

  1. 缺少具有显式标注对齐的数据集;
  2. 很难设计模态之间的相似度量;
  3. 可能存在多种对齐结果。

(1)Explicit alignment

显式对齐是从多个模态中对实例的子组件进行对齐。大多数方法依赖于测量不同模态下子组件之间的相似性。显式对齐的算法可分为无监督(unsupervised)显式对齐和监督(supervised)显式对齐两种。无监督显式对齐在不同模态的实例之间没有直接对齐的标签。监督显式对齐可以访问此类标签。

a. Unsupervised

无监督的多模态对齐直接进行模态间的对齐,而不需要任何直接对齐标签。

b. Supervised

监督对齐方法依赖于被标记的对齐实例,它们被用来训练用于对齐模态的相似度量。

(2)Implicit alignment

与显式对齐相比,隐式对齐通常用在另一个任务的中间步骤,从而使得多任务学习获得更好的性能。 这类模型学习如何在模型训练期间对数据进行延迟对齐。 作者介绍了两种隐式对齐模型:图模型和神经网络方法。这类模型通常引入了注意力机制。

5. Fusion

多模态融合是指根据多种模态的信息预测结果(如分类或回归)。这种方法的主要优势在于:

  1. 通过使用同一现象对应的多种模态,可以得到更鲁棒的结果;
  2. 多种模态可以提供互补的信息;
  3. 当缺少一种模态时,多模态系统仍可以运行。

多模态融合面临以下挑战

  1. 信号可能不能在时间上对齐(可能是密集的连续信号和稀疏事件);
  2. 很难建立利用补充信息而不仅仅是互补信息的模型;
  3. 每个模态在不同的时间点可能表现出不同类型和不同水平的噪声。

作者将多模态融合方法分为两类:模型无关(model-agnostic)的方法和基于模型(model-based)的方法。

(1)Model-agnostic

模型无关的多模态融合方法允许对每个模态使用不同的模型,可以更好地对每个单模态进行建模,灵活性更高。之后使用集成方法进行融合,如平均、投票和加权方法。但这些方法只能利用每个模态的浅层特征,限制了多模态学习的能力。

(2)Model-based

基于模型的多模态融合方法可以分为核方法、图模型和神经网络方法。

a. Multiple kernel learning

多核学习方法是核支持向量机的扩展,它允许对数据的不同模态使用不同的核。 核可以看作是数据之间的相似函数,可以更好地融合异构数据。除了核选择的灵活性外,其损失函数是凸的。但这类方法在测试期间依赖训练数据(支持向量),导致推理速度慢,内存占用大。

b. Graphical models

图模型能够充分利用数据的空间和时间结构,特别适用于时间建模任务。并且这类模型具有良好的可解释性。

c. Neural Networks

神经网络可以融合空间或时间等多模态信息,它们能够从大量数据中进行端到端的学习。这类方法通常能够学习复杂的决策边界。但它们缺乏可解释性,而且需要大量训练数据集。

6. Co-learning

多模态协同学习是指通过利用某种模态(通常资源丰富)的知识来帮助另一种模态(通常资源贫乏,如缺乏标记数据或噪声较大)。这种帮助只在模型训练期间使用,而在测试期间不使用。根据他们的训练资源不同,多模态协同学习可分为平行(parallel)非平行(non-parallel)混合(hybrid)

平行数据方法需要训练数据集,并且不同模态的数据需要有相关性(如来自同一个数据集)。非平行数据方法不需要不同模态之间的直接联系,通常通过使用类别重叠来实现协同学习。在混合数据设置中,通过共享模态或数据集桥接不同的模态。

(1)Parallel data

在平行数据方法中,两种模态共享一组实例(如音频和对应的视频、图像和对应的文字描述)。

a. Co-training

协同训练是当标记样本很少时,创建更多标记训练样本的过程;但它也会引入有偏差的训练样本,导致过度拟合。

b. Transfer learning

迁移学习是将信息从一种模态的表示转移到另一种模态的表示的方法。

(2)Non-parallel data

依赖非平行数据的方法不需要模态具有共享的实例,而只需要共享类别或概念。这些方法可以帮助学习包含更多语义信息的表示。

a. Transfer learning

在非平行数据上也可以使用迁移学习,将信息从数据丰富或干净模式构建的表示传递到数据稀缺或噪声模式来学习更好的表示。

b. Conceptual grounding

概念基础是指基于语言、视觉、听觉等来学习语义意义或概念。

c. Zero shot learning

零样本学习是指在没有任何标记样本的情况下识别一个概念。

(3)Hybrid data

在混合数据设置中,两个非平行模式由共享模式或数据集桥接。