作者:yougeii (HKU CV)
本文经过作者同意转载,著作权归属原作者
本文主要内容总结于TPAMI综述文献, 笔者附加相关方向最新论文和分析。
Paper: Multimodal Machine Learning: A Survey and Taxonomy
人类通过多种感觉器官接触世界,例如眼睛、耳朵、触觉。多模态机器学习(Multimodal Machine Learning)研究包含不同模态数据的机器学习问题。常见的模态包括:视觉、文字、声音。它们通常来自于不同的传感器,数据的形成方式和内部结构有很大的区别,例如,图像是自然届存在的连续空间,而文本是依赖人类知识、语法规则组织的离散空间。多模态数据的异质性(heterogeneity)对如何学习多模态间关联性和互补性提出挑战。
本文将常见的多模态研究分为以下五类,后文逐类介绍:
1.表征。如何挖掘模态间的互补性或独立性以表征多模态数据。
2.翻译。学习一个模态到其他模态的映射。例如:image captioning。
3.对齐。将多模态数据的子元素进行对齐。例如phrase grounding任务:将一幅图中的多个物体与一段话中的短语(或单词)进行对齐。在学习表征或翻译时也可能隐式地学习对齐。
4.融合。融合两个模态的数据,用来进行某种预测。例如:Visual Question Answering需融合图像和问题来预测答案;Audio-visual speech recognition需融合声音和视频信息用以识别说话内容。
5.共同学习(co-learning)。模态间的知识迁移。使用辅助模态训练的网络可以帮助该模态的学习,尤其是该模态数据量较小的情况下。
0. 应用
多模态的早期应用之一是20世纪50年代提出的视听语音识别(audio-visual speech recognition)。这类研究受到了McGurk Effect的影响,即如果给某人播放一个编辑后的视频,一个在说/ga-ga/,但视频声音替换为/ba-ba/,最终受试者会认为自己听到了/da-da/。视觉与声音会相互影响,这个心理学发现启发了研究者去探索如何使用视觉辅助声音识别。
2000年左右,互联网的兴起促进了跨模态检索的应用。早期搜索引擎人们使用文本(关键词)来搜索图片、视频,近年来出现以图搜图,以图搜视频等。接着,基于多模态数据的人类社交行为理解被提出。通过分析会议录像(语言和视觉)信息可以进行人的情感识别(affect recogntion)。2015年后,联合视觉与语言的任务大量出现并逐渐成为热点。代表性任务是图像描述(image captioning),即生成一句话对一幅图的主要内容进行描述。当然,以文本-->图像,视频-->文本,文本-->视频等生成任务也被提出。笔者将常见的多模态任务总结如下(欢迎补充):
跨模态预训练
图像/视频与语言预训练。
跨任务预训练
Language-Audio
Text-to-Speech Synthesis: 给定文本,生成一段对应的声音。
Audio Captioning:给定一段语音,生成一句话总结并描述主要内容。(不是语音识别)
Vision-Audio
Audio-Visual Speech Recognition(视听语音识别):给定某人的视频及语音进行语音识别。
Video Sound Separation(视频声源分离):给定视频和声音信号(包含多个声源),进行声源定位与分离。
Image Generation from Audio: 给定声音,生成与其相关的图像。
Speech-conditioned Face generation:给定一段话,生成说话人的视频。
Audio-Driven 3D Facial Animation:给定一段话与3D人脸模版,生成说话的人脸3D动画。
Vision-Language
Image/Video-Text Retrieval (图(视频)文检索): 图像/视频<-->文本的相互检索。
Image/Video Captioning(图像/视频描述):给定一个图像/视频,生成文本描述其主要内容。
Visual Question Answering(视觉问答):给定一个图像/视频与一个问题,预测答案。
Image/Video Generation from Text:给定文本,生成相应的图像或视频。
Multimodal Machine Translation:给定一种语言的文本与该文本对应的图像,翻译为另外一种语言。
Vision-and-Language Navigation(视觉-语言导航):给定自然语言进行指导,使得智能体根据视觉传感器导航到特定的目标。
Multimodal Dialog(多模态对话):给定图像,历史对话,以及与图像相关的问题,预测该问题的回答。
定位相关的任务
Visual Grounding:给定一个图像与一段文本,定位到文本所描述的物体。
Temporal Language Localization: 给定一个视频即一段文本,定位到文本所描述的动作(预测起止时间)。
Video Summarization from text query:给定一段话(query)与一个视频,根据这段话的内容进行视频摘要,预测视频关键帧(或关键片段)组合为一个短的摘要视频。
Video Segmentation from Natural Language Query: 给定一段话(query)与一个视频,分割得到query所指示的物体。
Video-Language Inference: 给定视频(包括视频的一些字幕信息),还有一段文本假设(hypothesis),判断二者是否存在语义蕴含(二分类),即判断视频内容是否包含这段文本的语义。
Object Tracking from Natural Language Query: 给定一段视频和一些文本,进行
Language-guided Image/Video Editing: 一句话自动修图。给定一段指令(文本),自动进行图像/视频的编辑。
更多模态
Affect Computing (情感计算):使用语音、视觉(人脸表情)、文本信息、心电、脑电等模态进行情感识别。
Medical Image:不同医疗图像模态如CT、MRI、PET
RGB-D模态:RGB图与深度图
1. 多模态表征
表征学习是多模态任务的基础,其中包含了一些开放性问题,例如:如何结合来源不同的异质数据,如何处理不同模态的不同噪声等级,测试样本的某种模态缺失怎么办。现有多模态表征学习可分为两类:Joint(联合,也称为单塔结构)和Coordinated(协作,双塔结构)。
Joint结构注重捕捉多模态的互补性,融合多个输入模态 x1,x2 获得多模态表征 xm =f(x1,……xn),进而使用 xm 完成某种预测任务。网络优化目标是某种预测任务的性能。
Coordinated结构并不寻求融合而是建模多种模态数据间的相关性,它将多个(通常是两个)模态映射到协作空间,表示为:f(x1)-g(x2) ,其中~表示一种协作关系。网络的优化目标是这种协作关系(通常是相似性,即最小化cosine距离等度量)。
![e9ede1ae0d98a6a4e111c7017a242b38.png](https://i-blog.csdnimg.cn/blog_migrate/974af09ec405cb6158274468169ea75f.png)
在测试阶段,由于Coordinated结构保留了两个模态的表示空间,它适合仅有一个模态作为输入的应用,如跨模态检索,翻译,grounding和zero-shot learning。但是Joint结构学习到的 xm 只适用于多模态作为输入,例如视听语音识别,VQA,情感识别等。
讨论:相较于多模态,基于单模态的表征学习已被广泛且深入地研究。在Transformer出现之前,不同模态所适用的最佳表征学习模型不同,例如,CNN广泛适用CV领域,LSTM占领NLP领域。较多的多模态工作仍旧局限在使用N个异质网络单独提取N个模态的特征,之后采用Joint或Coordinated结构进行训练。不过这种思路在很快改变,随着越来越多工作证实Transformer在CV和NLP以及Speech领域都可以获得极佳的性能,仅使用Transformer统一多个模态、甚至多个跨模态任务成为可能。基于Transformer的多模态预训练模型在2019年后喷涌而出,如LXMERT[1], Oscar[2], UNITER[3]属于Joint结构,CLIP[4], BriVL[5] 属于Coordinated结构。
2. 跨模态翻译
跨模态翻译的目的是学习如何将源模态映射(map)到目标模态。例如:输入一张图像,我们希望生成一句话描述它,或者输入一句话,我们生成与之匹配的一张图。主流方法分为两类:
举例法(example-based)。模版法的特征是借助于词典(dictionary)进行翻译,词典一般指训练集中的数据对 {(x1,y1)},……{(xn,yn)} 。给定测试样本 x^ ,模版法直接检索在词典中找到最匹配的翻译结果 yi ,并将其作为最终输出。此处的检索可分为单模态检索或跨模态检索。单模态检索首先找到与 x^ 最相似的xi ,然后获得 xi 对应的 yi 。而多模态检索直接在 {y1,……yn} 集合中检索到与 x^ 最相似的 yi ,性能通常优于单模态检索。为进一步增强检索结果的准确性,可选择top-K的检索结果{yi1、yi2……yik} ,再融合K个结果作为最终输出。
生成式模型(generative)。抛弃词典,直接生成目标模态的数据。分为三个子类别:
基于语法模版,即人为设定多个针对目标模态的语法模版,将模型的预测结果插入模版中作为翻译结果。以图像描述为例,模版定义为 who did what to whom in a place,其中有四个待替换的插槽。通过不同类型的目标/属性/场景检测器可以获得who, what, whom, place等具体单词,进而完成翻译。
编码-解码器(encoder-decoder)。首先将源模态的数据编码为隐特征
,后续被解码器用于生成目标模态。以图像描述为例,编码器(一般为CNN+spatial pooling)将图像编码为一个或多个特征向量,进而输入到RNN中以自回归的方式生成单词序列。
连续性生成(continuous generation)。它针对源模态与目标模态都为流数据且在时间上严格对齐的任务。以文本合成语音为例,它与图像描述不同,语音数据与文本数据在时间上严格对齐。WaveNet[6]采用了CNN并行预测+CTC loss解决该类问题。当然,编码-解码器理论上也可完成该任务,但需处理数据对齐问题。
![e717a68849b7286bcd6b1fb65bb60cc4.png](https://i-blog.csdnimg.cn/blog_migrate/4ea231da1584e489d447cfbd97dc6944.png)
讨论:举例法面临两个问题:一是需要维护一个大词典,且每次翻译都需要进行全局检索,使得模型巨大且推理速度慢(hashing可缓解此问题)。二是此类方法较机械,仅仅是复制(或简单修改)训练集的数据,无法生成准确且新奇的翻译结果。生成式方法可以生成更为灵活、相关性更强、性能更优的翻译结果。其中,基于语法模版的方式受限于模版的多样性,生成的语句多样性有限,且不是端到端训练。现今,编码-解码器与连续性生成是主流方案,它们一般基于深度网络且端到端训练。
3. 跨模态翻译的评估困境:评估语音识别模型的性能是容易的,因为正确的输出有且只有一种。但对于大多数翻译任务来说(视觉<-->文本、文本-->语音等),模态间的映射是一对多的,输出存在多个正确结果。例如图像描述,不同的人会使用不同的语句对同一幅图像进行描述,因此模型的评估常常是主观的。人工评价是最理想的评估,但是耗时耗钱,且需要多样化打分人群的背景以避免偏见。自动化指标是视觉描述领域常用的替代方法,包括BLEU,Meteor,CIDEr,ROUGE等,但它们被证实与人的评价相关性较弱。基于检索的评估和弱化任务(例如:将图像描述中一对多映射简化为VQA中一对一的映射)也是解决评估困境的手段。
3. 跨模态对齐
跨模态对齐目的是挖掘多模态数据的子元素之间的关联性,例如visual grounding任务。对齐广泛应用于多模态任务中,具体的应用方式包括显式对齐和隐式对齐。
显示对齐。如果一个模型的优化目标是最大化多模态数据的子元素的对齐程度,则称为显示对齐。包括无监督和有监督方法。无监督对齐:给定两个模态的数据作为输入,希望模型实现子元素的对齐,但是训练数据没有“对齐结果”的标注,模型需要同时学习相似度度量和对齐方式。而有监督方法存在标注,可训练模型学习相似度度量。Visual grounding便是有监督对齐的任务,而weakly-supervised visual grounding是无监督对齐的任务。
隐式对齐。如果模型的最终优化目标不是对齐任务,对齐过程仅仅是某个中间(或隐式)步骤,则称为隐式对齐。早期基于概率图模型(如HMM)的方法被应用于文本翻译和音素识别中,通过对齐源语言和目的语言的单词或声音信号与音素。但是他们都需要手动构建模态间的映射。最受欢迎的方式是基于注意力机制的对齐,我们对两种模态的子元素间求取注意力权重矩阵,可视为隐式地衡量跨模态子元素间的关联程度。在图像描述,这种注意力被用来判断生成某个单词时需要关注图像中的哪些区域。在视觉问答中,注意力权重被用来定位问题所指的图像区域。很多基于深度学习的跨模态任务都可以找到跨模态注意力的影子。
讨论:对齐可以作为一个单独的任务,也可以作为其他任务的隐式特征增强手段。多模态对齐可挖掘子元素间的细粒度交互,同时有可解释性,被广泛应用。但多模态对齐面临如下挑战:仅有少量数据集包含显式的对齐标注;跨模态度量难以设计;可能存在多种对齐,也可能存在某些元素无法在其他模态中找到。
4. 多模态融合
若测试场景下的输入数据包含多个模态,那么必须面对多模态特征融合。多模态融合是多模态机器学习最原始的议题之一。
模型无关的融合策略:
前融合:指在模型的浅层(或输入层)将多个模态的特征拼接起来。后融合:独立训练多个模型,在预测层(最后一层)进行融合。混合融合:同时结合前融合和后融合,以及在模型中间层进行特征交互。
基于模型的融合策略:
多核学习(Multiple Kernel Learning)是SVM的扩展。SVM通过核函数将输入特征映射到高维空间,使线性不可分问题在高维空间可分。在处理多个输入时,多核处理多个模态特征,使得每个模态都找到其最佳核函数;基于概率图模型利用隐马尔可夫模型或贝叶斯网络建模数据的联合概率分布(生成式)或条件概率(判别式)。基于神经网络的融合。使用LSTM、卷积层、注意力层、门机制、双线性融合等设计序列数据或图像数据的复杂交互。
讨论:多模态融合是依赖于任务和数据的,现有工作中常常是多种融合手段的堆积,并未真正统一的理论支撑。对于这种由任务/数据所导致的融合策略的选择问题,十分适合用Neural Architecture Search高效且自动地搜索。当然,多模态融合仍存在的挑战:不同模态的序列信息可能没有对齐;信号间的关联可能只是补充(仅提高鲁棒性而无法增大信息量)而不是互补;不同数据可能存在不同程度的噪声。
参考文献
[1] LXMERT: Learning Cross-Modality Encoder Representations from Transformers, EMNLP 2019.
[2] Oscar: Object-Semantics Aligned Pre-training for Vision-Language Tasks, ECCV 2020.
[3] UNITER: UNiversal Image-TExt Representation Learning, ECCV 2020.
[4] Learning Transferable Visual Models From Natural Language Supervision, Arxiv 2021.
[5] WenLan: Bridging Vision and Language by Large-Scale Multi-Modal Pre-Training, Arxiv 2021.
[6] WaveNet: A Generative Model for Raw Audio, Arxiv 2016.
——The End——