多模态学习综述-滕达博士

2023-08-28

      人类使用各种感官器官来接触世界,比如眼睛、耳朵和触觉。多模态机器学习(Multimodal Machine Learning)研究探索的是涉及不同模态数据的机器学习问题。常见的模态包括视觉、文字和声音,这些模态通常来自于不同的传感器,数据的形成方式和内部结构也有很大的差异。例如,图像是在自然环境中形成的连续空间,而文本则是由人类知识和语法规则组织的离散空间。多模态数据的异质性对于学习多模态之间的关联性和互补性提出了挑战。本文将常见的多模态研究分为以下五类,后文逐类介绍:

     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),即生成一句话来描述一幅图的主要内容。当然,还有从文本到图像、视频到文本、文本到视频等生成任务也被提出。以下是一些常见的多模态任务的总结:


跨模态预训练

     1.图像/视频与语言预训练。

     2.跨任务预训练


Language-Audio

      1.Text-to-Speech Synthesis: 给定文本,生成一段对应的声音。

      2.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距离等度量)。

图片1.png

                                                               图1. 多模态

      相比于多模态任务,单模态表征学习已经被广泛研究且深入发展。在Transformer出现之前,不同的模态需要采用不同的最佳表征学习模型,例如,CNN被广泛用于计算机视觉领域,而LSTM则在自然语言处理领域占据主导地位。较多的多模态工作仍然依赖于N个异构网络单独提取N个模态的特征,然后使用联合或协作结构进行训练。然而,随着越来越多的研究表明Transformer在计算机视觉、自然语言处理以及语音识别等领域都能够获得出色的性能,仅使用Transformer统一多个模态、甚至多个跨模态任务成为可能。基于Transformer的多模态预训练模型自2019年以来蓬勃发展,例如LXMERT[1]、Oscar[2]和UNITER[3]属于联合结构,而CLIP[4]和BriVL[5]则属于协作结构。


2. 跨模态翻译

      跨模态翻译的目的是学习如何将源模态映射(map)到目标模态。例如:输入一张图像,我们希望生成一句话描述它,或者输入一句话,我们生成与之匹配的一张图。主流方法分为两类:

      1.举例法(example-based)。模版法的特征是借助于词典(dictionary)进行翻译,词典一般指训练集中的数据对 {(x1,y1),...,(xN,yN)} 。给定测试样本 x^ ,模版法直接检索在词典中找到最匹配的翻译结果 yi ,并将其作为最终输出。此处的检索可分为单模态检索或跨模态检索。单模态检索首先找到与 x^ 最相似的 xi ,然后获得 xi 对应的 yi 。而多模态检索直接在 {y1,...,yN} 集合中检索到与 x^ 最相似的 yi ,性能通常优于单模态检索。为进一步增强检索结果的准确性,可选择top-K的检索结果 {yi1,yi2,...,yik} ,再融合K个结果作为最终输出。

      2 .生成式模型(generative)。抛弃词典,直接生成目标模态的数据。分为三个子类别:

      1.基于语法模版,即人为设定多个针对目标模态的语法模版,将模型的预测结果插入模版中作为翻译结果。以图像描述为例,模版定义为 who_ did what_ to whom_ in a place_ ,其中有四个待替换的插槽。通过不同类型的目标/属性/场景检测器可以获得who, what, whom, place等具体单词,进而完成翻译。

      2.编码-解码器(encoder-decoder)。首先将源模态的数据编码为隐特征 z ,后续被解码器用于生成目标模态。以图像描述为例,编码器(一般为CNN+spatial pooling)将图像编码为一个或多个特征向量,进而输入到RNN中以自回归的方式生成单词序列。

     3.连续性生成(continuous generation)。它针对源模态与目标模态都为流数据且在时间上严格对齐的任务。以文本合成语音为例,它与图像描述不同,语音数据与文本数据在时间上严格对齐。WaveNet[6]采用了CNN并行预测+CTC loss解决该类问题。当然,编码-解码器理论上也可完成该任务,但需处理数据对齐问题。

图片2.png

      讨论:举例法面临两个问题:一是需要维护一个大词典,且每次翻译都需要进行全局检索,使得模型巨大且推理速度慢(hashing可缓解此问题)。二是此类方法较机械,仅仅是复制(或简单修改)训练集的数据,无法生成准确且新奇的翻译结果。生成式方法可以生成更为灵活、相关性更强、性能更优的翻译结果。其中,基于语法模版的方式受限于模版的多样性,生成的语句多样性有限,且不是端到端训练。现今,编码-解码器与连续性生成是主流方案,它们一般基于深度网络且端到端训练。


      3. 跨模态翻译的评估困境:评估语音识别模型的性能是容易的,因为正确的输出有且只有一种。但对于大多数翻译任务来说(视觉<-->文本、文本-->语音等),模态间的映射是一对多的,输出存在多个正确结果。例如图像描述,不同的人会使用不同的语句对同一幅图像进行描述,因此模型的评估常常是主观的。人工评价是最理想的评估,但是耗时耗钱,且需要多样化打分人群的背景以避免偏见。自动化指标是视觉描述领域常用的替代方法,包括BLEU,Meteor,CIDEr,ROUGE等,但它们被证实与人的评价相关性较弱。基于检索的评估和弱化任务(例如:将图像描述中一对多映射简化为VQA中一对一的映射)也是解决评估困境的手段。


3. 跨模态对齐

      跨模态对齐目的是挖掘多模态数据的子元素之间的关联性,例如visual grounding任务。对齐广泛应用于多模态任务中,具体的应用方式包括显式对齐和隐式对齐。

      1.显示对齐。如果一个模型的优化目标是最大化多模态数据的子元素的对齐程度,则称为显示对齐。包括无监督和有监督方法。无监督对齐:给定两个模态的数据作为输入,希望模型实现子元素的对齐,但是训练数据没有“对齐结果”的标注,模型需要同时学习相似度度量和对齐方式。而有监督方法存在标注,可训练模型学习相似度度量。Visual grounding便是有监督对齐的任务,而weakly-supervised visual grounding是无监督对齐的任务。

       2.隐式对齐。如果模型的最终优化目标不是对齐任务,对齐过程仅仅是某个中间(或隐式)步骤,则称为隐式对齐。早期基于概率图模型(如HMM)的方法被应用于文本翻译和音素识别中,通过对齐源语言和目的语言的单词或声音信号与音素。但是他们都需要手动构建模态间的映射。最受欢迎的方式是基于注意力机制的对齐,我们对两种模态的子元素间求取注意力权重矩阵,可视为隐式地衡量跨模态子元素间的关联程度。在图像描述,这种注意力被用来判断生成某个单词时需要关注图像中的哪些区域。在视觉问答中,注意力权重被用来定位问题所指的图像区域。很多基于深度学习的跨模态任务都可以找到跨模态注意力的影子。

       讨论:对齐可以作为一个单独的任务,也可以作为其他任务的隐式特征增强手段。多模态对齐可挖掘子元素间的细粒度交互,同时有可解释性,被广泛应用。但多模态对齐面临如下挑战:仅有少量数据集包含显式的对齐标注;跨模态度量难以设计;可能存在多种对齐,也可能存在某些元素无法在其他模态中找到。

 4. 多模态融合

      若测试场景下的输入数据包含多个模态,那么必须面对多模态特征融合。多模态融合是多模态机器学习最原始的议题之一。

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

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

      然而,多模态融合是依赖于任务和数据的,现有工作中常常是多种融合手段的堆积,并未真正统一的理论支撑。对于这种由任务/数据所导致的融合策略的选择问题,适合使用神经架构搜索(Neural Architecture Search)来高效且自动地搜索最优的融合策略。当然,多模态融合仍面临一些挑战:不同模态的序列信息可能没有对齐;信号间的关联可能只是补充(仅提高鲁棒性而无法增大信息量)而不是互补;不同数据可能存在不同程度的噪声。