多模态机器学习基础、应用和预训练模型简介

早在公元前四世纪,哲学家和艺术家就提出了多模态的概念来定义表达形式和包含不同内容的修辞方法。在当今大数据时代,我们总说数据是多源异构的:

  • 多源:数据持有方多样化。比如数据来源于问卷调查、GPS追踪、手机定位、用户使用习惯等
  • 异质性:数据类型的特征是有区别的。例如统计局每年收集的各类表格数据,以人或地区为点,聚合不同信息的结构化数据,如需要分析的文本、图像、图像、声音等非结构化数据并进行处理,如地理信息、轨迹等时空数据。

在深度学习盛行的今天,单一形式的数据已经不足以支撑我们完成一些艰巨的任务,多模态机器学习方法更接近于人类理解世界的方式。为了让人工智能在理解我们周围的世界方面取得进一步突破,我们利用多模态信息进行解释和推理。多模态机器学习的目标是构建可以处理和关联来自多个模态的信息的模型。从早期的视听语音识别研究到最近对语言和视觉模型的兴趣大增,多模态机器学习是一个充满活力的多学科领域,其重要性和非凡潜力都在不断增加。

一般来说,我们所说的多模态是指自然语言、视觉信息(图像、视频)和声音信号。鉴于来自不同形态的数据存在差异,多模态机器学习的研究领域对计算机研究人员提出了一些独特的挑战。从多模态资源中学习提供了捕捉各个模态之间的对应关系并深入了解自然现象的可能性。

首先,介绍一些多模态机器学习的五个挑战,论文地址:https://arxiv.org/pdf/1705.09406.pdf

1. 五个核心技术挑战

1.1 多模态表示(Representation)

多模态表示是以利用多种模态的互补性和冗余性的方式来表示多模态数据。单个模态数据的可变性使得构建这样的表示具有挑战性。我们介绍了本文中给出的两种表示。方法:

  • 联合表示(Joint Representation):将多个模态的信息映射到同一个多模态空间中。
  • 协同表示(Coordinated Representation):将各个模态映射到各自的空间,但映射后的向量间或者说是模态间要满足一定的关系约束。

多模态机器学习基础、应用和预训练模型简介

1.2 模态转换(Translation)

多模态转换也可以称作为映射(Mapping),主要是将一个模态的信息转化或映射为另一个模态的信息。模态转换的难度主要有两点:首先数据是异构的,各个模态的数据结构和特征是不同的;其次,各个模态之间的关系往往是比较主观的,比如翻译学中有很种翻译结果都是被认可的。模态转换大致分为两种类型:example-based和generative。example-based种类的模型在模式之间进行转换一般使用字典, generative模型构建了一个能够产生翻译的模型, 这个区别可以从图中直观的感受到。这种区别其实有点类似于非参数和参数机器学习方法之间的区别。

多模态机器学习基础、应用和预训练模型简介

这部分应用其实最直观的就是机器翻译(Machine Translation),语音翻译(Speech Translation)、图片/视频描述任务(Image/Video Captioning),语音合成任务(Speech Synthesis)。

1.3 模态对齐(Alignment)

模态对齐是从两个甚至多个模态中找到子组件之间的关系和联系。举个直观的例子,比如字幕对齐任务,图像语义分割。为了应对这一挑战,我们需要衡量不同模式之间的相似性,并处理可能的长期依赖关系和歧义。

1.4 模态融合(Fusion)

模态融合将来自两个或多个模态的信息连接起来,进行目标分类或回归任务。来自不同模态的信息可能具有不同的预测能力和噪声拓朴结构,能够使我们获得 1 + 1 > 2 的意想不到的收益。这也是目前最为广泛的一个MMML方向,很多任务都可以通过多模态的方式去处理,比如视觉-音频识别(Visual-Audio Recognition)、多模态情感分析(Multimodel sentiment analysis)、手机身份认证(Mobile Identity Authentication)等。这里我们主要来说说这个多模态融合,一般多模态融合分为两种:与模型无关的方法,也就是不直接依赖于特定方法的机器学习;基于模型的方法,明确地在其构造中处理融合,比如基于内核的方法、图形模型、神经网络。

1.4.1 与模型无关的方法

在机器学习盛行之前,绝大多数多模融合都是使用模型不可知的方法进行的。这种方法可以分为early(即基于特征的)、late(即基于决策的)和 hybrid融合。不依赖与模型的方法的一个优点是,它们可以使用几乎任何单模分类器或回归器来实现。

early融合在特征提取后立即集成(通常通过简单地连接它们的表示),可以被看作是多模态研究人员进行多模态表示学习的初步尝试,因为它可以学习利用每个模态的低层特征之间的相关性和交互作用。此外,它只需要单个模型的训练,相比late融合和hybrid融合,训练过程更容易 。

而late融合是在每一种模式做出决定(例如,分类或回归)后进行整合,使用了单模的决策值,使用加权、投票、平均等方式进行融合,它允许为每个模式使用不同的模型,因为不同的预测器可以更好地为每个单独的模式建模,提供了灵活性。此外,当一个或多个模式缺失时,它可以更容易地进行预测,甚至可以在没有并行数据时进行训练。然而,late融合忽略了模态之间的低层的交互作用。

最后,hybrid融合结合了early融合的输出和late的每中模态的决策, 尝试在一个共同的框架中利用上述两种方法的优点。它已成功地用于多模态speaker识别和多媒体事件检测(MED)。

1.4.1 基于模型的方法

尽管使用单模态机器学习方法很容易实现与模型无关的方法,但它们最终使用的技术并非旨在处理多模态数据。通常,有三种方法可以执行多模态融合:基于内核的方法、图形模型和神经网络方法。

多核学习(MKL) 是对对核支持向量机(SVM)的扩展,支持向量机允许对数据的不同形式/视图使用不同的核,由于内核可以被视为数据点之间的相似函数,MKL中特定于模态的内核允许更好地融合异构数据。MKL方法是一种特别流行的方法,用于融合视觉描述符的目标检测,直到最近才被深度学习方法取代。它们还被用于多模态情感识别,多模态情感分析,以及多媒体事件检测(MED)。除了灵活的内核选择,一个优势就是MKL的损失函数是凸的,这在优化界的意义是非同凡响的,这意味着有大量的优化器供我们选择,训练上更加容易。此外,MKL可以用于执行回归和分类。MKL的一个主要缺点是在测试期间依赖训练数据(支持向量),导致推理缓慢和内存占用较大。

图形模型是多模态融合的另一种流行方法,可分为两大类:生成建模联合概率;判别建模条件概率。最早使用图形模型进行多模态融合的一些方法包括生成模型,如耦合和阶乘隐马尔可夫模型以及动态贝叶斯网络。最近提出的一种多流HMM方法为AVSR提出了模态的动态加权。可以预见的是,生成式模型不如判别式模型受欢迎,如条件随机场(CRF),后者牺牲了联合概率的建模来获得预测能力。结合图像描述的视觉信息和文本信息,采用CRF模型更好地分割图像。CRF模型已被扩展到使用隐藏的条件随机场来建模潜在状态,并已应用于多模态会议分割。潜在变量判别图形模型的其他多模态使用包括多视图隐藏CRF和潜在变量模型。虽然大多数图形模型的目的是分类,CRF模型已被扩展为连续版本的回归,并应用于多模态场景:音频视觉情感识别。图形模型的好处是能够轻松地利用数据的空间和时间结构,这使得它们在时间建模任务中特别受欢迎,如AVSR和多模态情感识别。它们还允许在模型中加入人类的专家知识。并经常导致可解释的模型。

神经网络,可以说是现在研究的主体了,已被广泛用于多模态融合任务。最早使用神经网络进行多模态融合的例子来自AVSR的研究。如今,被用来融合视觉和媒体问答的信息,手势识别,情感分析,视频描述生成等更多更为复杂的任务。虽然所使用的形式、结构和优化技术可能不同,但在神经网络的联合隐含层中融合信息的一般思想是相通的。深度神经网络方法在数据融合方面的一大优势是能够从大量数据中学习更为复杂的信息。其次,最近的神经体系结构允许对多模表示组件和融合组件进行端到端训练,这对于开发者来说更为方便。最后,与基于非神经网络的系统相比,它们表现出良好的性能,并且能够学习其他方法难以克服的复杂决策边界。在下一节,我将介绍几个有趣的应用和网络结构。

1.5 协同学习(Co-Learning)

协同学习实际上是一种利用多模态中更丰富的模态的知识来辅助资源稀缺的剩余模态来构建模型的方法,它探讨了从一种模式中学习如何帮助模型训练另一种不同的模态。当模式资源有限时,这一挑战尤其重要,例如标记数据。根据训练资源的不同,协同学习方法一般分为并行非并行和混合方法三种。

  • 并行方法要求来自训练集中一种模态的观察与来自其他模态的观察直接相关。例如,当多模态观察来自同一实例时,视频和语音样本来自同一个人的视听语音数据集。
  • 相比之下,非并行数据方法不需要不同模态的观测值之间有一定联系,这些方法通常通过使用类别重叠来实现协同学习。比如在zero-shot学习中使用维基百科的第二个纯文本数据集拓展传统视觉对象识别数据集,以提高视觉对象识别的通用性。
  • 在混合方法中,模态通过共享或数据集连接。

多模态机器学习基础、应用和预训练模型简介

2. 一些有趣的多模态网络结构

2.1 图文反讽识别

首先介绍一个简单的图形示例。
其实,多模态研究核心重点在于巧妙的如何将多模态数据匹配,即,如何将多模态信息映射到统一的表征空间。早期研究,其实主要分为两条主线:Canonical Correlation Analysis(CCA)和 Visual Semantic Embedding(VSE)。

  • CCA系列方法,主要是通过分析图像和文本的correlation,然后将图像和文本映射到同一空间中,这一系列的论文非常多,但是效果相对于深度学习方法有待提高。虽然后期也有基于深度学习方法的方案,比如说DCCA,但相比于VSE方法还是有一定差距的。
  • VSE系列方法,是将图像和文本分别表示成Latent Embedding,然后将多模态Latent Embedding拟合到同一空间中。VSE方法又延伸出来许多其他方法,比如说SCAN、PFAN,这些方法在通用的图文匹配上都达到了不错的效果。

说到反讽识别,人们通常用它来传达嘲讽、轻蔑、尴尬等情绪。在影视作品中,也是幽默和艺术的体现。讽刺可以分为两类:

  • 直白的文本讽刺。这类的讽刺我们可以仅凭文字感知,比如:It’s a good thing we came here. It’s like a lesson in what not to do。表达中的第一句,表面上是在表达积极的评价,但是结合后半句则可发现,作者想表达的是贬义,某地不值一去。这一前一后的褒贬冲突,能够让我们单纯地从文本上感知到讽刺的存在。
  • 晦涩的讽刺需要一些额外的文本线索来帮助感知讽刺。单从文字上看不出讽刺,但通过引入多模态线索,如语气加重、音高变化、表情翻白眼,以及一些肢体动作,很明显说话者在表达讽刺。

这里我们介绍两个2019年的文章,两篇文章的重点都在“多模态”的引入上,但是引入的重点不同。

2.1.1 Towards Multimodal Sarcasm Detection (An Obviously Perfect Paper)

论文地址:https://aclanthology.org/P19-1455/
项目地址:https://github.com/soujanyaporia/MUStARD

这篇的作者提出了一个让人有趣的认知——讽刺的线索往往来自于模态间的不协调。比如,从文字角度看,Chandler表达的应该是害怕,然而看说话人,却给人抖机灵、得意洋洋的感受。这里就产生了一种不协调。第二个Sheldon的例子也一样,从文本来看,应该是赞美的,但Sheldon的语气和表情却都很平静。当然,并非所有的讽刺都来源于这样的不协调,作者也提到模态间的同向情感促成也是一种讽刺表达方式。

多模态机器学习基础、应用和预训练模型简介
这篇文章作者采用了三个模态:Text、Audio、Video,特征提取和模型部分都采用了简单的处理方式:

  • Text:Bert,对每句话提取768维向量。
  • Audio:利用librosa库,提取音频的基础特征,如MFCC、过零率等,其中每段音频被切分为不重叠的283个小窗口,提取的不同特征分别是每段小窗口的平均值,最终获得一个283维向量。
  • Video:抽帧后分别利用Resnet-152提取特征再平均,获得2048维向量。

当三个模态的特征获得后,作者使用一个简单的串接,将三个模态的特征进行early fusion,并放入一个rbf核的SVM分类器中进行实验。这里选择的baseline除却SVM还有Majority和Random进行参照。Majority意为将训练数据中类别较多的一类作为预测,Random则为随机预测。实验效果可以阅读一下原论文,这里不赘述了。这篇文章的实验数据集比较小,且融合策略比较简单,相比之下,另一篇的重点就在于探索融合方式。

2.2 Multi-Modal Sarcasm Detection in Twitter with Hierarchical Fusion Model

论文地址:https://aclanthology.org/P19-1239/
项目地址:https://github.com/wrk226/pytorch-multimodal_sarcasm_detection

这篇文章与上篇文章不同,采用的模态是文本、图像特征和图像属性,其中图像属性由描述图像组成部分的若干词构成。简单来说,模型通过提取图像特征和图像属性特征,再利用属性特征和双向LSTM网络来提取文本特征,三种模态特征进行重构,融合成一个特征向量来进行预测。模型结构比较明晰:

多模态机器学习基础、应用和预训练模型简介

2.2 情感分类

情感分类算得上是一个老生常谈的任务了,之所以把这篇单独拎出来,主要是觉得这个模型结构非常清晰灵活,好上手。对于各个模态,我们都可以通过现有的一些比较成熟的预训练网络,比如Bert、Resnet、VGGish等,获得该模态的embedding,然后进行融合后进入任务网络层。这个融合策略比较灵活,最简单的,我们可以选择相应模态reshape后,然后直接进行concatenate。

论文题目:Contextual Inter-modal Attention for Multi-modal Sentiment Analysis
论文地址:https://aclanthology.org/D18-1382/
项目地址:https://github.com/declare-lab/multimodal-deep-learning
网络结构:

多模态机器学习基础、应用和预训练模型简介

3. 一些有趣的预训练模型

3.1 ViLBert

论文地址:https://arxiv.org/pdf/1908.02265.pdf
项目地址:https://github.com/facebookresearch/vilbert-multi-task

ViLBERT是Vision-and-Language BERT的缩写,该模型用来学习与任务无关的图像和自然语言的联合表征,ViLBert在Bert基础上扩展为多模态的双流模型,在各自的流中处理图像和文本输入,这两个流通过Co-attention transformer层进行交互,该结构能够适应每种模态的不同处理需求,并在不同表示深度上提供模态的交互。。实验表明,ViLBert在四个下游任务中明显优于面向特定任务的最先进的模型。

多模态机器学习基础、应用和预训练模型简介

我们专注于两件事,特征提取和特征融合。

  • 特征提取:文本部分采用了Bert的Tokenizer。图片部分,先用Faster R-CNN模型从图像中提取多个目标区域的特征,由于图片特征不像文字特征一样含有位置信息,因此用5维数据给图片位置编码,它们分别是归一化之后左上角坐标,右下角坐标,以及面积。然后将其投影到匹配视觉特征的维度,并对其求和。
  • 特征融合:ViLBert采用了two-stream,交互主要依赖Co-TRM(Transformer blocks)。传统的TRM,q、k、v来自同一个向量(self-attention),而这里为了实现文本和图片的交互,进行了改进:在表征图片时考虑到了上下文,q来自图片,k、v来自文本,同样地,表征文本时,q来自文本,kv来自图片。

多模态机器学习基础、应用和预训练模型简介

文中对ViLBert与流行的其它模型进行了对比,以及消融实验的效果,其中Single模型是与双路模型对应的单路模型,右上角的+表示模型未经过文中大规模的图像标题对数据预训练,但使用了预训练的图像模型和文本BERT参数,从表中看获得的效果还是不错的。

多模态机器学习基础、应用和预训练模型简介

版权声明:本文为博主小白胖爱学习-原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/m0_37723079/article/details/123216599

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2022年3月7日 上午11:38
下一篇 2022年3月7日 上午11:57

相关推荐