多模态机器学习综述
2020-08-24 Jay Saligia 82 mins 过江,过江读Multimodel Machine Learning:A Survey and Taxonomy(多模态机器学习综述)
简介
在这个世界上有不同的“模态”,包括看、听、触、闻等,模态就是指事物发生或者经历的方式。在当前多模态学习中,主要关注三个领域的模态,自然语言(包括说和写)、视觉信号(包括图像和视频)和声音信号(包括声音和副语言信息)。多模态机器学习旨在建立可以从多种模态中处理和联系的方法,从多模态中学习提供了获取模态之间的对应关系和深入理解自然现象的可能性(这也是多模态学习吸引人的地方)。论文中总结了当前多模态机器学习五个方面的挑战:
- 表示(Representation):第一个挑战是多模态的表示。对于多模态数据,它可能是文字,可能是图像,也可能是音频甚至可能是其他形式的,如何利用多模态数据中的互补性和冗余性来表示和概括这些多模态数据是一项挑战。
- 转换(Translation):第二个挑战是如何将一个模态的数据转换(映射)到另一个模态,有时候可能可以找到描述一种模态的完美的形式,但是将它转换到另一个模态往往是困难的。
- 对齐(Alignment):第三个挑战是如何从两种或两种以上的不同的方式来确定子要素之间的关系,例如将食谱制作步骤与做菜教学视频对齐,为了应对这一挑战,需要衡量不同模态之间的相似性,并处理可能存在的长期依赖和歧义。
- 融合(Fusion):第四个挑战是将来自两种或两种以上模态的信息结合起来进行预测。例如,对于视听语音识别,嘴唇运动的视觉描述与语音信号融合,来预测所说的单词。但是,不同的模态之间预测能力不同,有可能在某一个模态中损失数据。
- 协同学习(Co-learning):第五个挑战是在模态的表证和预测模型之间的知识迁移。如果某个模态的知识的资源有限,那么一种模态上的知识迁移到另一个上面就显得很重要。
多模态应用发展历史
多模态学习发轫于视听语音识别,现在在语言和视觉领域受到关注。
最早的一项多模态研究是视听语音识别(AVSR),起因于一个研究现象,当实验对象观察人类的嘴唇说ga-ga这个音节时的动作的同时告知说的是ba-ba,实验对象会预测出第三个声音da-da。这个现象引起了研究者们对于研究方法的拓展,早期的AVSR基于各种拓展的隐式马尔科夫模型(HMM)。
在最初AVSR的研究中,人们发现在语音受到噪音干扰的情况下,利用视觉信息预测会有更好的效果,也就是说,一种模态对于另一种模态是追补的关系,而不是单纯的互补关系 。利用观察嘴唇的视觉信息增强了在有噪音环境下语音识别的鲁棒性,但是并没有增加在无噪音环境下语音识别的准确性。
第二类多模态重要的应用是对于多媒体内容的索引和检索。早期的多媒体索引和检索是基于关键词的,而现在试图可以直接搜索多媒体的内容。这就引起了新的研究内容,包括自动镜头边界检测和视频摘要。
第三类应用是在21世纪初围绕新兴的多模态交互领域建立的,其目标是理解人类在社会交互过程中的多模态行为,包含情感识别、情绪计算等。
最近,出现了一种强调语言和视觉的多模态应用的新类别:媒体描述。包括根据图像内容生成文字等研究方向,其中如何评估这些研究结果也是新兴的研究内容。
下表列出了在多模态机器学习中不同任务中可能会遇到的挑战:
下面分别具体介绍多模态学习中五个重要的挑战。
多模态表示(Representation)
在多模态中,一张图片,一段音频,一个单词或者一个句子都可以是一个实体,而实体通常表示为向量或者张量。Bengio等人确定了评判优秀表示的特征:平滑性、时空连贯性、稀疏性和自然聚类。Srivastava和Salakhutdinov提出了额外的多模态表示的特征:表示特征中的相似性应该要反映对应概念的相似性,在确实某些模态的情况下,表示也要易于获得,给定已观察到的表示,应该可以推测出缺失的。在多模态表示的发展中,经历了从人工设计特征到从数据中获取特征(例如利用卷积神经网络)的过程。
这里对多模态表示提出两种方法,联合(joint)的协调(coordinated)的。joint表示如下: \(x_m=f(x_1,\cdots,x_n)\) joint表示将单峰信号组合到相同的表示空间中,coordinated表示如下: \(f(x_1)\sim g(x_2)\) coordinated表示对单峰信号分别处理,并对它们施加一定的相似的约束,使得它们都属于coordinated空间。两者具体区别可以看下图,joint把所有模态作为输入,并映射到同一空间,coordinated中各个模态属于各自的空间,通过一些相似性(如欧式距离)或结构(如偏序)来约束。
Joint Representations
joint表示主要用在训练步和推理步中同时有多模态数据的情形中。
神经网络 在单峰模型中很受欢迎,总的来说,神经网络由连续的内积构件和非线性激活函数构成。为了使用神经网络来表征数据,首先要训练它执行特定的任务(如目标识别),因为深度神经网络具有多层特性,每一层都以更抽象的方式来表示数据,因此一般使用网络的最后一层或倒数几层为数据的表征层。为了使用神经网络来表示多模态,每个模态都从几个单独的神经层开始,然后使用一个隐藏层将模态投影到joint空间,之后可以通过多个隐藏层来表示多模态或直接用来预测。
使用神经网络来表示多模态的一个优点是可以使用从无标签数据中预训练的模型,针对特定任务再调优。一个缺点是模型不能自然地处理丢失的数据——尽管有一些方法可以缓解这个问题。
Ngiam等人拓展了使用自动编码器应用于多模态问题,他们使用堆叠去噪自动编码器来分别表示每个模态,然后使用另一个自动编码器层将它们融合成一个多模态表示;Silberer和Lapata提出了使用自动编码器处理语义概念接地任务(semantic concept grounding)。
概率图模型 也可以通过使用潜在随机变量来构造表示。其中一个方法是使用深度玻尔兹曼机(DBM),使用受限玻尔兹曼机(RBM)为构件。与神经网络类似,连续的每层DBM都是更抽象的来表征多模态数据,使用DBM的一个原因是它不需要有监督数据来训练。
使用多模态DBMs来学习多模态表示的最大优势之一是它们的生成特性,它允许用一种简单的方法来处理丢失的数据——即使整个模态都丢失了,模型也有一种自然的方法来处理丢失。它也可以用来在存在另一个模态的情况下生成一个模态的样本,或者从表示中生成两个模态的样本。与自动编码器类似,这种表示可以以一种无监督的方式进行训练。DBMs最大的缺点是难以训练,因为会有巨大的计算量。
Srivastava和Salakhutdinov使用多模态深度信念网络和多模态DBMs作为多模态表示;Kim等人在视听情感识别中对每个模态使用深度信念网络,并在最后结合起来作为联合表示;Huang和Kingsbury对AVSR问题使用相似的方法并且Wu等人也将此应用于基于声音和骨骼动作的手势检测;Ouyang等人在人类动作评估中扩展了DBMs的应用;Suk等人使用多模态DBM表示来对老年痴呆进行分类。
序列表示(Sequential Representation),以上两种方法都是基于固定长度的数据,但是在日常生活中会遇到很多不定长数据,比如音频流、视频流等。循环神经网络(RNN)和它的变体长短期记忆网络(LSTMs)等在不同任务下处理序列模型取得了很好的效果。到目前为止,RNN主要用于表示单峰词、音频或图像序列,在自然语言领域最为成功。与传统的神经网络相似,RNN的隐藏状态可以看作是数据的一种表示(在时间步为$t$的地方,可以看作是对之前序列时间步的总结)
Cosi等人早期利用RNNs来做AVSR问题,它们也被用来做情感识别。
Coordinated Representation
coordinated表示的核心思想是与其将模态一起投射到一个joint空间,不如学习每个模态的单独表征,但通过约束进行协调。
相似模型(Similarity models)在coordinated空间中最小化距离。举个例子,这种模型会让”狗“这个单词与代表狗的图像距离比与代表汽车的图像距离更近。
Weston等人在WSABIE(web scale annotation by image embedding)中使用coordinated模型来表示图片和它们注释的关系。
近来,神经网络 在构造coordinated表示中用的越来越多,因为它们学习表示的能力很强。它们的优势在于,它们可以以端到端方式共同学习协调的表示。
神经网络的一个代表是DeViSE,一个深度视觉语义嵌入表示。Kiros等人在此之上使用LSTMs拓展了图像和句子之间的coordinated表示关系;Socher等人使用树RNN来解决同样的问题;Pan等人使用相似的方法来研究视频和句子的关系;Xu等人使用$<subject,verb,object>$构成语言模型,并用于跨模态检索和视频描述。
structured coordinated空间模型 超越了相似模型的方法,它在多模态表示之间使用了额外的约束。结构性coordinated 空间在跨模态hash中普遍得到应用,跨模态hash就是将相近的物体的高维数据压缩为相近的二进制编码。有以下几个要求:1)必须是一个N维的汉明空间(有限的二进制表示);2)不同模态下的同一个事物应该有相似的哈希码;3)空间必须保持相似性。
Jiang和Li等人使用了一种使用端到端可训练深度学习技术来学习句子描述和对应图像之间的公共二值空间的方法;:Cao等人对该方法进行了扩展,采用了更复杂的LSTM句子表示,并引入了离群不敏感的位边值损失和基于关联反馈的语义相似度约束;Wang等人采用了相似的方法构建了图像和句子的coordinated空间。
另一种structured coordinated方式使用顺序图片和语言嵌入。Vendrov等人提出的模型实施了不对称的不同度量,并实现了多模态空间中的偏序概念,其偏序概念举个例子:$image:\ a\ woman \ walking\ her\ dog\rightarrow \textbf{text}\ woman\ walking\ her\ dog \rightarrow \textbf{text}\ woman\ walking$。Young使用注释图(denotation graphs)建立了相似的模型;Zhang等人展示了如何利用文本和图像的结构化表示以无监督的方式创建概念分类。
Representation总结
两种主要的表示方式,joint和coordinated,其中joint是将多模态数据都映射到同一个空间,适用于所有模态都出现于推理中的情况,如视听语音识别、多模态手势识别等;coordinated将每个模态映射到单独的但是有联系的空间中,适合在测试时只需要使用一种多模态的情况,例如多模态索引、转换、grounding和零次学习(zero shot learning)。现在看到的很多多模态网络都是静态的,未来可能会有更多的工作围绕如何用一个模态的结构去应用到另一个模态。
多模态转换(Translation)
多模态机器学习一个重要的研究部分是如何将一个模态转换到另一个模态。多模态翻译是一个长期研究的问题,其早期工作涉及语音合成、视觉语音生成、视频描述和跨模态检索。
一个主流的研究问题是视觉图像描述,这个问题是检测计算机视觉和自然语言处理问题一个很好的测试问题。为了解决这个问题,不仅要完全理解图像场景以找到图片的突出部分,还要正确而自然的产生描绘图片的文字。
尽管多模态转换的问题非常宽泛而且经常是针对特定模态的,但是它们也有一些共同作用的因素。把这些因素分为两种类型,基于例子的(example-based)和生成的(generative)。example-based模型在模态转换之间使用一个字典,generative模型在模态转换时会构造能够进行转换的模型。
generative模型的构建更具挑战性,因为它们需要产生信号或符号序列的能力。这对任何模态都是困难的——视觉的、听觉的或语言上的,特别是当需要产生时间和结构上一致的序列时。这就导致了早期的多模态转换都是依赖于example-based,但是随着可以产生图片、声音和文字的深度学习模型出现后,generative模型得到了更多的应用。
两种转换的区别
Example-Based
Example-Based算法依赖于称为字典的训练数据,有两种这样的算法基于检索的(retrieval)和基于组合的(combination)。基于检索的模型直接使用没有优化的检索转换而基于组合的模型依赖于更复杂的规则来基于大量检索实例创建翻译。
Retrieval
基于检索的模型可以说是最简单的多模态转换模型了,它直接在字典中搜寻最接近的结果作为转换结果。例如这些方法已被用于视觉语音合成,检索最接近匹配的视觉例子所需要的音素,也应用于拼接语音合成系统。
Ordonez等人利用全局图像特征检索候选标题,利用单峰检索方法生成图像描述。Yagcioglu使用基于CNN的图像表示通过适应性近邻选择来检索相似图片。Devlin等人使用k近邻来检索具有一致性的标题。
另一种方法是在检索过程中使用中间语义空间进行相似性比较。语义空间中的检索方法往往比单峰检索方法表现得更好,因为它们是在一个更有意义的空间中检索实例,这个空间反映了两种模态,并且通常是使用了优化的检索方法。
Farhadi等人将句子和图片同时映射到空间$<object, action,scene>$中去,然后在该空间中检索图像的相关标题;Socher等人学习句子的coordinated表示和图片的CNN特征,来做文本——图像的双向转换。相似的是,Xu等人对视频和它们的表示使用coordinated空间来做跨模态检索;Jiang和Li还有Cao等人使用跨模态hash来做图像——句子的双向转换。Hodosh使用多模态KCCA空间来做图像——句子检索;Karpahy等人提出了一种多模态相似度度量,将图像片段(视觉对象)与句子片段(依赖树关系)进行内部对齐来替代将图像和句子排列在一个公共空间。
Combination
基于组合的模型在基于检索的模型上更进一步。它不再直接使用字典进行检索,而是将它们以一种有意义的方法组合起来。基于组合的模型的出发点在于描述一个图片的句子中会有可以被发现的共同结构,最常见的组合规则是人工制作的或基于启发式的。
Kuznetsova等人首先使用通过搜索描述图片的句子并将其组合起来来描述图片;Gupta等人首先找到k张与源图像最相似的图片,然后使用从图片说明中提取的短语来生成目标句子;Lebret等人使用基于cnn的图像表示来推断描述它的短语,然后使用一个三元组合约束语言模型来组合预测的短语。
example-based算法的一个重要问题是,模型就是整个词典,这使得模型很大,推理也很慢。另外,除非遇到的问题很简单,不然在字典中是无法产生完美的转换效果的,组合模型可以部分地解决这一问题,这些模型能够构建更复杂的结构。但是,它们只能执行一个方向的转换,而基于语义空间检索的模型可以同时执行两个方向的转换。
Generative
Generative算法需要理解源模态并且要生成目标序列或信号。将generative模型分为三类。基于语法的(grammar-based)、编码器-解码器(encoder-decoder)和连续生成的(continuous generation)。
grammar-based
基于语法的模型使用语法限制目标域来简化任务,例如基于语法$<subject,object,verb>$模板生成受限句子,编码器-解码器模型首先将源模态编码为一种隐式表示然后再通过解码器来生成目标模态。连续生成模型基于流式的源模态输入连续的生成目标模态,适用于基于时间序列的模态,如文本到语音。
基于语法的模型依赖为特定模态预定义的语法,从源模态中检测高层次的概念,如图片中的物体和视频中的动作。然后,这些检测与基于预定义语法的生成过程结合在一起,从而产生目标模态。一些基于语法的方法依赖于图模型去产生目标模态。
Kojima等人提出了一种在视频中描述人类行为的系统,该系统使用检测到的人的头部和手的位置,以及基于规则的自然语言生成描述;Bardu等人使用一个视频描述模型来生成类似{who} did {what} to {whom} and {where} and {how} they did it的系统,该系统基于检测到的物体的行为分类;Guadarrama等人通过使用语义层次(semantic hierarchies)预测三元组$<subject,verb,object>$来描述视频,与语言模型一起,他们的方法允许对字典中没有的动词和名词进行翻译。
Yao等人提出了一种结合特定语法规则的使用与或图的模型来描述图像;Li等人首先检测对象、视觉属性和对象之间的空间关系,之后使用n元组语言来生成描述;Mitchell等人使用更复杂的基于树的语言模型来生成语法树,而不是是使用填充模板,带来了更多样化的描述;大多数方法将整个图像联合表示为一个视觉对象包,而没有捕捉它们的空间和语义关系。为了解决这个问题,Elliott等人提出了显式地建模物体的近似关系,以便生成图像描述。
一些基于语法的模型依赖于图模型去生成目标模态,例如BabyTalk,在给定了一个图像生成三元组$<object,preposition,object>$之后,使用条件随机场区生成句子。
Yang等人利用从图像中提取的视觉特征预测一组$<noun,verb,scene,preposition>$候选词,并使用统计语言模型和隐马尔科夫模型风格的推理将它们组合成句子;Thomason等人使用因子图模型来做视频描述;Zitnick等人反其道而行之,提出使用条件随机场来生成抽象的视觉场景。
基于语法的方法的一个优点是,当它们使用预定义的模板和受限制的语法时,更有可能生成语法上(就语言而言)或逻辑上正确的目标实例。然而,这限制了它们创作富有创造性的结果。此外,基于语法的方法依赖于复杂的pipeline来检测概念,每个概念都需要单独的模型和单独的训练数据集。
encoder-decoder
编码解码器模型是一种支持端到端训练的模型。首先将源模态的编码为向量表示,之后再使用解码器去产生目标模态,所有这些都在一个单通管道内进行。编码解码器首先应用于机器翻译,但是在图像字幕、视频描述中都取得了成功的应用。尽管编码解码器主要用来生成文字,但是他们也可以生成图片、语音和声音。
编码解码器的第一步是对特定模态进行编码。对声音信号编码模型包括RNN和DBN;对句子的编码工具使用了分布式语义和RNN的变体;对图像的编码一般使用卷积神经网络;对于视频的编码还是很多在使用人工的方式。虽然可以使用单峰表示对源模态进行编码,但已经证明使用coordinated空间可以得到更好的结果。
解码器一般使用RNN和LSTM,一系列对于LSTM的拓展方法被提出来进行翻译任务。
Venugopalan等人证明在图像字幕任务中,调参之前使用预训练解码器LSTM是有效的;Rohrbach探讨了不同的LSTM结构(单层的、多层的、因子的)和一系列训练和正则化的方法来做视频描述。
使用RNN生成翻译时面临的一个问题是,模型必须从图像、句子或视频的单一矢量表示中生成描述。当要生成长的句子的时候会发生遗忘现象。通过在解码器的每一步都包含编码信息,已经部分地解决了这个问题;注意力机制也可以让解码器在生成时更好的聚焦于部分图像、句子或视频。
基于注意力的生成型神经网络也被用于从句子中生成图像的任务,尽管其结果仍远未达到实际照片的真实性,但显示出了很大的前景。最近,使用生成对抗网络生成图像方面取得了很大进展,它被用作替代用于从文本生成图像的RNNs。
编码解码器模型仍然面临很多问题。Devilin等人发现使用k近邻模型的表现与生成模型类似,他们认为神经网络是在记忆训练数据而不是在学习数据中的场景并尝试生成它们,并且神经网络一般需要很大规模的训练数据。
continuous generation models
连续生成模型用于序列转换,并在每个时间步上以”在线“方式生成输出。当一个序列转换到另一个序列时(如文字到语音)会比较有效。一系列不同的方法来进行连续模型生成,包括图模型、连续编码解码器和其他不同的回归或分类技巧。这些模型需要解决的额外困难是模态之间的对于时间的一致性要求。
Deena和Galata提出使用一种共享高斯过程潜变量模型(shared Gaussian process latent variable model)用于基于音频的视觉语音合成。这个模型在音频和视频特征之间创造了一个共享潜在空间来将一个空间转换到另一个空间,同时加强视觉语言在不同时间步长的时间一致性。隐式马尔科夫模型(HMM)也被用来进行视觉语音合成和文本到语音的转换任务。
编码解码器模型近期也频繁用于序列到序列的生成。Owens等人使用LSTM生成来自视频中槌鼓的声音。虽然他们的模型能够根据CNN的视觉特征预测耳蜗图,从而产生声音,但他们发现,根据预测的耳蜗图检索最近的音频样本,可以得到最好的结果。Oord等直接从原始音频信号中为语音和音乐建模。Collobert等人研究了如何直接使用原始音频信号来进行语音识别,消除对音频特性的需求。
许多早期工作使用图模型进行连续信号间的多模态转换。然而,这些方法正被基于神经网络的编解码技术所取代,特别是神经网路最近被证明能够表现和产生复杂的视觉和听觉信号之后。
模型评估
多模态转换方法的一个主要挑战是结果很难区评估。有些任务,如语音识别,只有一个正确的翻译,而语音合成和媒体描述则没有。有时,如在语言翻译中,多个答案是正确的,决定哪一种翻译更好往往是主观的。幸运的是,有许多近似的自动度量方法可以帮助模型评估。
经常使用的评估方法就是直接使用人工评估的方法,让一群人对转换的结果进行评估,一类可以使用李克特量表对多个维度进行人工评估;另一类可以让评估者进行二选一的偏好选择。但是,人工评估的方法不仅耗时耗力,而且会受到其他因素,比如熟练度、年龄、性别和文化偏见等
除人工评估外,也有了一些自动评估机制:BLEU、ROUGE、Meteor和CIDEr等,但这些评估方式都不甚令人满意。
Hodosh等人提出使用检索(retrieval)来作为图片字幕的评估方案,这是一种更好反映人类评估的方法。该系统不是基于生成字幕,而是将可能适配图片的字幕排名,然后通过正确的字幕是否处于高的排名来评估结果,这种方式也被视频字幕评估采用
多模态对齐(ALIGNMENT)
多模态对齐的定义为:在两个或者更多模态的实例的子组件之间中寻找关系或联系。举个例子:在给定一张图片和一个说明,我们想要找到图片中和这个说明中相关词语或句子;给定一步电影,把它和书中或剧本中的情节结合起来。这些能力对于多模态信息检索是非常重要的,基于此,就可以用文字去搜索电影,就可以寻找书中或者电影中特定的章节,就可以去寻找图片中特定的物品。
多模态对齐分为两类,隐式(implicit)和显式(explicit)。显式对齐中,显式地对模态之间的显式的子组件进行对齐,如将食谱与做菜视频对齐;隐式对齐中,将隐式对齐作为另一项任务的中间层,如基于文本描述的图像检索可以包括单词和图像区域之间的对齐步骤。
显式对齐(Explicit Alignment)
显式对齐的主要衡量方法是通过衡量不同模态之间的子组件的相似性,这些相似性可以通过人工定义也可以从数据中学习。将显式对齐分为两种类型,无监督的和(弱)监督的,前者不会用到直接的对齐标签(如联系标签),第二种使用(有时是弱标签)标签。
Unsupervised
大部分无监督多模态对齐方法从早期静态机器翻译中和基因组序列中得到灵感。为了使任务更容易,这些方法假定了一定的对齐约束,如序列的时间顺序或模态之间存在相似性度量。
动态时间规整(Dynamic time warping,DTW)是一种去对齐多视角时间序列的方法,DTW测量两个序列之间的相似性,并通过时间翘曲(插入帧)找到它们之间的最优匹配。
Auguera等人使用人工定义的字素和音素之间的关系;Tapaswi等人基于相同角色的出现定义了视觉场景和句子的相似性去对齐电视剧和情节。
不同的图模型也用于无监督多模态序列对齐。
早期,Yu和Ballard使用生成图模型去对齐图像中的物体和语言文字;Cour等人用相似的方法去对齐电影的镜头(场景)与剧本;Malmaud等人使用因子隐式马尔科夫模型去对其菜谱和烹饪教程;Noulas等人使用动态贝叶斯网络去对齐说话者和视频;Naim等人使用层次HMM模型去对齐视频帧和句子。
DTW扩展允许同时学习相似度度量和对齐,基于图模型的方法则需要专家知识来构建。
Supervised
监督对齐方法依赖于标记对齐的实例。它们被用来训练用于调整模态的相似度量。
Bojanowski等人提出了利用已有的(弱)监督数据去优化时间翘曲;Plummer等人使用CCA去寻找图像和短语之间的coordinated空间来对齐。Gebru等人训练了一个高斯混合模型,并使用半监督聚类和一个无监督的隐变量图模型来将音频通道中的说话者与其在视频中的位置对齐。Kong等人训练了马尔可夫随机场模型去对齐三维场景中的名词与在文本中的代词。
显式对齐中的深度学习方法越来越受到欢迎。
Zhu等人训练CNN网络去衡量文本与场景中的相似性以对齐相似的电影和脚本;Mao等人使用LSTM语言模型和一个CNN视觉模型去评估相近的表达与图片中的物体的相似性;Yu等人拓展了这个模型去包含了相对位置和上下文信息以消歧;Hu等人使用基于评分函数的LSTM模型去寻找图片中的某个区域与其描述的相似性。
隐式对齐(Implicit Alignment)
隐式对齐是一种其他任务的中间步骤,这使得在许多任务中,包括语音识别、机器翻译、媒体描述和视觉问题回答,都有更好的性能。它不需要显式地对齐数据也不需要依赖于有监督地对齐案例,它在模型训练中可以隐式的学习到对齐,具体方法分为图模型和神经网络。
Graphic models
图模型的早期工作用于更好地对齐语言之间的单词,以便于机器翻译和语音音素与其文本的对齐。然而,它们需要手工构建模态之间的映射,例如生成手机模型(generative phone model),将音素映射到声学特征。此类模型需要人类专家知识。
Neural networks
使用神经网络可以优化作为中间步的对齐。正如前面提到的,使用编码器-解码器模型或通过跨模态检索的神经网络是解决转换问题的流行方法。如果在没有隐式对齐的情况下,转换效果很好,那么编码器模块就会有很大的权重,以能够用一个矢量表示恰当地总结整个图像、句子或视频。
神经网络的一种流行方式是使用注意力机制,不像在传统的编码器-解码器模型中执行的将所有源子组件编码在一起,注意力机制会告诉解码器更多的关注要被转换的目标子模块(图像中某个区域,句子中某些单词等)。
Alignment总结
多模态对齐面临这一系列的困难:1)显式对齐中缺乏有效的数据集;2)设计模态间的相似度指标很困难;3)模态间可能存在多种可能的对齐或者有些元素之间没有对应关系。
多模态融合(Fusion)
多模态融合的概念指为了完成某个目标,将多个模态的信息融合起来输出一个衡量的值,具体的目标可以是分类(例如开心还是悲伤),或者通过回归得到一个持续的值(例如情绪的积极性)。(这里的多模态融合仅包含将多模态信息集中在最后的处理步的算法)
多模态融合可以提供三个便利:1)能够使用观察同一现象的多种模态,可以做出鲁棒性更强的预测;2)可以获得在单模态下无法获得的模态间的互补信息;3)当其中一种模态缺失时,多模态系统仍然可以运行,例如,当人不说话时,可以从视觉信号中识别人的情绪。
多模态融合有广阔的运用,包括视觉语音识别、多模态情绪识别、医学图像分析、多模态行为检测等。多模态融合可以分为两大类,不直接依赖特定机器学习模型的的模型无关方法(model-agnostic)和构造中显式的处理融合的基于模型的方法。
Model-Agnostic Approaches
在过去,大部分的模态融合都是用的模型无关的方法。这些方法可以分为早期融合(基于特征的,early)、晚期融合(基于决策的,late)和混合融合(hybrid)。早期融合在特征被提取之后立即融合(通常只需将它们的表示连接起来);晚期融合在每个模态做出了决策之后(如分类或回归)在进行融合;混合融合结合了早期融合和单个单峰预测因子的输出。模型无关的方法的一个优点是,它们可以使用几乎任何单峰分类器或回归器来实现。
Model-Based Approaches
基于模型的方法使用专为多模态融合设计的模型,包括三类:基于核方法(kernel-based)、图模型和神经网络。
多核学习方法(multiple kernel learning,MKL)是一种扩展的可以对不同的任务使用不同的内核的核支持向量机,内核可以看作是数据点之间的相似函数,MKL中根据模态特定的内核可以更好地融合异构数据。在物体检测领域MKL应用的很广,近期才被深度学习取代。MKL也可应用于多模态情感识别。
McFee核Lanckriet提出使用MKL根据声学、语义和社会观点去对艺术家进行相似度排名;Liu等人使用MKL在老年痴呆分类中应用多模态融合。
除了可以灵活的选择内核,MKL的一个优势是它的损失函数是凸函数,这就意味着在模型训练时可以很好的优化并且有全局最优解。
图模型是另一组流行的多模态融合方法,大多数图模型可分为两大类:生成建模联合概率和判别建模条件概率。图形模型的优势是它们能够轻松地利用数据的空间和时间结构,这使得它们在时间建模任务中特别受欢迎,例如AVSR和多模态情感识别。
神经网络被用来扩展多模态融合。早期的神经网络用于AVSR任务,现在神经网络也被用于多模态视觉和媒体问答、手势识别、情感分析和视频描述生成。神经网络方法的主要缺点是缺乏可解释性。很难说这种预测依赖于什么,以及哪种模态或特征发挥了重要作用。此外,神经网络需要大量的训练数据集才能成功。
Fusion总结
多模态融合的模型有三类,图模型、多核学习和不同类型的神经网络。最近,神经网络已经成为处理多模态融合的一种非常流行的方法,然而,图模型和多核学习仍然在使用,特别是在训练数据有限的任务或模型可解释性是重要的任务。
多模态融合面临如下挑战:1)信号可能不是时间对齐的(可能是密集连续的信号或稀疏信号);2)很难建立利用补充性和非互补信息的模型;3)每个模态可能在不同的时间点表现出不同的层次和不同的噪声水平。
多模态协同学习(CO-LEARNING)
协同学习指通过利用来自另一个(资源丰富)模态的知识来帮助一个(资源贫乏)模态的建模,特别是该模态的资源有限(缺少标记数据、噪声输入和不可靠的标签)。协同学习在大多数情况下只在模型训练中使用,而在测试期间不使用。根据训练资源的不同,将协同学习分为平行的(parallel)、非平行的(non-parallel)和混合的(hybrid)。平行学习需要训练数据集的一种模态的观察结果与另一个模态的观察结果直接相关,也就是说,当多模态观测来自相同的实例时,例如在一个视听语音数据集中,其中视频和语音样本来自同一个演讲者。非平行学习则不需要直接将不同模态的观察结果关联,这些方法通常通过在类别上使用重叠(overlap)来实现协同学习。例如零次学习(zero shot learning)中,使用来自Wikipedia的第二个纯文本数据集扩展传统的视觉对象识别数据集,以提高视觉对象识别的泛化。混合学习中的模态通过共享的模态或数据集来连接。
三种协同学习数据。
Parallel Data
在平行数据协同学习中,两种模态都共享一组实例,例如带有相应视频、图像和句子描述的音频记录。对于平行数据有两种算法来处理,联合训练(Co-training)和表示学习(representation learning)。
Co-training
联合训练是在多模态问题中,当有标记样本很少的情况下,创建更多有标记训练样本的过程。它通过在每个模态中构建弱分类器,对未标注的数据进行标记。虽然联合训练是一种生成更多标记数据的强大方法,但它也会导致训练样本偏置(bias),从而导致过拟合。
Transfer learning
迁移学习是另一种对于平行数据的联合训练。多模态表示学习方法中例如模态深度玻尔兹曼机和多模态自动编码器等都是将一种模态的表示迁移到另一种。
Moon等人展示了如何将语音识别神经网络迁移到读唇的神经网络,可以得到更好的视觉表示;Arora和Livescu在声音和嘴部动作(嘴唇、舌头、下巴的位置)上使用CCA构建了更好的声学特征,他们只在构建CCA时使用了嘴部动作,在测试时只使用了声音。
Non-Parallel Data
依赖于非平行数据的方法不需要多模态共享实例,只需要共享类别或概念。非平行的协同学习方法可以帮助学习表征,允许更好的语义概念理解,甚至进行看不见的物体识别。
Transfer learning
迁移学习也可以用于非平行数据的训练,这类迁移学习基于coordinated多模态表示。
Frome等人通过coordinated CNN视觉特征和使用word2vec文本特征来改善图像分类;Mahasseni和Todorovic展示了如何使用自动编码器LSTM在三维骨骼数据寻找隐藏状态的相似性来调整有色视频。
Conceptual grounding
conceptual grounding指的不是单纯基于语言,而是基于视觉、声音、甚至嗅觉等额外的模态来学习语义或概念。人类的语义知识在很大程度上依赖于感性信息,许多概念都基于感性系统,而不是纯粹的符号性,这意味着,单纯从文本信息中学习语义意义可能不是最佳的,使用视觉或听觉来生成语言表征也许时更好的。
Zero shot learning
零次学习(ZSL)需要在没有任何例子的情况下学习某个概念。例如,对从未见过有标注的猫图片的情况下对猫进行分类。这是一个需要解决的重要问题,在许多任务中,如视觉对象分类中,对每个视觉对象进行标注的成本是巨大的。ZSL分为两种,一种是单峰分布的,一种是多峰分布的。单峰ZSL通过观察物体的组成部分或属性,比如音素来识别一个听不到的单词,或者通过观察诸如颜色、大小和形状等视觉属性来预测一个看不见的视觉对象。多峰ZSL通过次要模态的帮助来识别主要模态中的对象,该对象在次要模态中可以被看到。
Hybrid Data
在混合数据设置中,两个非平行的模态通过一个共享的模态或一个数据集连接起来。最著名的模型是Bridge Correlational Neural Networl,它使用一种轴心模态在非平行数据中来学习coordinated多模态表示。举个例子,在多语言图像字幕中,图像模态都至少和一种语言相平行,那么,这些方法的目的就是为了连接那些可能没有平行语料库但可以访问共享轴心语言的语言,比如用于机器翻译和文献音译。
与使用单独的方式进行桥接不同,一些方法依赖于来自类似或相关任务的大型数据集,从而在只包含有限注释数据的任务中获得更好的性能。
Co-Learning总结
多模态协同学习利用不同模态之间的互补信息允许一种模态影响另一种模态的训练。值得注意的是,协同学习是任务独立的,并且可以去构建更好的融合、转换和对齐模型。在视觉分类,动作识别,视听语音识别,语义相似度估计等任务中都可以使用。
多模态学习知识框架
根据论文内容,笔者梳理了一个多模态学习的知识框架: