2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 多模态机器学习基础 应用及预训练模型介绍

多模态机器学习基础 应用及预训练模型介绍

时间:2019-09-29 02:20:22

相关推荐

多模态机器学习基础 应用及预训练模型介绍

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

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

在深度学习盛行的今天,单一形态的数据已经不足以支持我们完成一些困难的任务,而多模态机器学习方法更贴近人类认识世界的形式。为了让人工智能在理解我们周围的世界上取得进一步突破,我们利用多模态信息进行解释和推理。多模态机器学习的目的是建立能够从多种模式处理和关联信息的模型。从早期视听语音识别研究到最近对语言和视觉模型的兴趣爆发,多模态机器学习是一个日益重要和具有非凡潜力的,充满活力的多学科领域。

一般情况下,我们说的多模态指的是自然语言、视觉信息(图像、视频)、声音信号。考虑到不同形态数据的差异,多模态机器学习的研究领域给计算机研究者带来了一些独特的挑战。从多模态来源学习提供了捕捉各个模态之间的对应的可能性,并获得对自然现象的深入理解。

首先,介绍一些多模态机器学习的五个挑战,论文地址:/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。表达中的第一句,表面上是在表达积极的评价,但是结合后半句则可发现,作者想表达的是贬义,某地不值一去。这一前一后的褒贬冲突,能够让我们单纯地从文本上感知到讽刺的存在。隐晦的讽刺,需要一些文本以外的线索来辅助感知的讽刺。单从文本来看,我们看不出讽刺所在,但引入多模态线索,如声音的强调、变调,表情的翻白眼,以及一些肢体动作,就可以明显地发现说话人在表达讽刺。

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

2.1.1 Towards Multimodal Sarcasm Detection (An Obviously Perfect Paper)

论文地址:/P19-1455/

项目地址:/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

论文地址:/P19-1239/

项目地址:/wrk226/pytorch-multimodal_sarcasm_detection

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

2.2 情感分类

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

论文题目:Contextual Inter-modal Attention for Multi-modal Sentiment Analysis

论文地址:/D18-1382/

项目地址:/declare-lab/multimodal-deep-learning

网络结构:

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

3.1 ViLBert

论文地址:/pdf/1908.02265.pdf

项目地址:/facebookresearch/vilbert-multi-task

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

我们重点来关注三件事,特征提取、特征融合和预训练任务。

3.1.1 特征提取

文本部分采用了Bert的Tokenizer。图片部分,先用Faster R-CNN模型从图像中提取多个目标区域的特征,由于图片特征不像文字特征一样含有位置信息,因此用5维数据给图片位置编码,它们分别是归一化之后左上角坐标,右下角坐标,以及面积。然后将其投影到匹配视觉特征的维度,并对其求和。

3.1.2 特征融合

ViLBert采用了two-stream,交互主要依赖Co-TRM(Transformer blocks)。传统的TRM,q、k、v来自同一个向量(self-attention),而这里为了实现文本和图片的交互,进行了改进:在表征图片时考虑到了上下文,q来自图片,k、v来自文本;同样地,表征文本时,q来自文本,k、v来自图片。

3.1.3 预训练任务
masked multi-modal modelling task:ViLBert中的词和图像区域输入的mask占比大概是15%,在给定剩余输入的情况下对输入进行重建,mask图像区域部分90%是直接mask,另外10%保持不变,而文本部分的mask与bert一样。需要注意的是, ViLBert并不直接预测被mask掉的特征时,而是预测对应图像区域在语义类别上的分布,其训练的目标是最小化这两个分布的KL散度。这种选择反映了这样的一种概念:语言通常只识别视觉内容的高级语义,不太可能重建精确的图像特征。multi-modal alignment task:多模态对齐任务的目标是预测图像和文本是否匹配对齐,也就是文本是否描述了图像。以图像特征序列的起始IMG token和文本序列的起始CLS token的输出作为视觉和语言输入的整体特征,借用vision-and-language模型中另外一种常见结构,将IMG token的输出和CLS token的输出进行element-wise product最作为最终的总体表征,再利用一个线性层预测图像和文本是否匹配。
3.1.4 下游任务效果

文中对ViLBert与流行的其它模型进行了对比,以及消融实验的效果。我们先看看这些下游任务:

VQA:视觉问答任务(Visual Question Answering)是给定一个图片以及文本描述的问题,要求模型给出答案。选取参照模型:DFAF,使用VQA2.0数据集。VCR:视觉常识推理任务(Visual Commonsense Reasoning),给定图片、给定区域、给定问题,模型必须从选择题中选取一项,并给出原因。选取参照模型:R2C,使用VCR数据集。RefCOCO+:指示表达任务(Referring Expression Comprehension),给定一段自然语言描述,图像中定位到的相关区域。该任务涉及到细粒度的跨模态语义对齐,因此更加考察联合表示对语义刻画的精细度。选取参照模型:MAttNet,使用RefCOCO+数据集。IR:图像检索(Image Retrieval),这里选择的是基于字幕检索,选取参照模型:SCAN,使用Flickr30k数据集。

上述任务都是在特定下游任务数据集上微调,在零样本任务中,直接将预训练的ViLBert复用在Flickr30k数据集中的多模态对齐检测。从实验结果看,ViLBert整体效果很不错,在这些下游任务上有很好的的表现,也证明了ViLBert确实能够学习到视觉-语言之间的重要关系。

3.2 ERNIE-ViL

论文地址:/pdf/.16934.pdf

项目地址:/PaddlePaddle/ERNIE/tree/repro/ernie-vil

基于知识增强的视觉-语言预训练模型,它基于场景图知识构建了场景图预测任务,从而学习到刻画细粒度语义对齐的联合表示。在视觉问答、视觉常识推理等五个多模态任务中取得了SOTA效果,也曾在多模态领域权威榜单视觉常识推理任务(VCR:/leaderboard/)登上榜首。

3.2.1 特征提取和特征融合
特征提取:文本采用的是bert的tokenizer,图片采用的是object-detection,Faster-RCNN。特征融合:这里采用的是two-stream,基本上结构类似于ViLBert。
3.2.2 预训练任务

SGP场景图预测,也是ERNIE-ViL的核心创新点。我们可以看到上图右半部分其实就是包含了目标、属性、关系的一个结构图,这些词被称为细粒度词,则“a”、“the”被看作为普通词。基于场景图,作者设计了三个具体任务:物体预测(Object prediction)、属性预测(Attribute prediction)、关系预测(Relationship prediction)。

物体检测:随机选取图中的一部分物体,比如图中的“house”,对其在句子中的词进行mask,根据文本上下文和图片对mask部分进行预测。属性预测,对于场景图中的属性-物体对,如图中的“dress - blue”,随机选取一部分词,对而其中的属性进行mask,根据物体上下文和图片进行预测。关系预测,随机选取一部分物体-关系-物体三元组,比如图中的“cat - on top of - car”,然后对其中的关系进行mask,根据对应物体和上下文以及图片对其进行预测。

除以上提出的场景预测任务外,ERNIE-ViL的预训练任务还加入比较常规的掩码语言模型(Masked Language Modelling)、掩码图像区域预测(Masked Region Prediction)以及图文对齐任务(Image-Text Matching)。

3.2.3 下游任务效果

这篇文章里的下游任务都是比较常规的任务了,就不多介绍了。实验效果如图,我们可以看到ERNIE-ViL在铎哥任务上都能取得非常好的效果。此次百度提出的知识增强多模态模型,首次将场景图知识融入多模态模型预训练过程中,在多个推理任务上都刷新了SOTA记录,也为多模态语义理解领域研究提供了新的思路。

3.3 VL-BERT

论文地址:/pdf/1908.08530.pdf

项目地址:/jackroos/VL-BERT

特征提取:文本采用的是bert的tokenizer,图片采用的是object-detection,Faster-RCNN。特征融合:这里和前面两个模型不同,采用的single-stream结构,模型定义了三种类型的片段:A、B、C,将输入元素从不同的来源进行区分,其中A和B文本句子,而C表示的是图像,图像也分为两个部分,前面是Rol加上[IMG]标识,最后为了不丢失全局信息,将整张图片加入进去,加入[END]。与Bert相同,向每个输入元素中添加一个可以学习的序列位置特征来表示输入序列的顺序。由于输入的视觉元素之间没有自然的顺序,在输入序列中,对他们进行任何排列,都应该得到相同的结果,所以视觉元素的序列位置都是相同的。预训练任务:主要的三个预训练任务:掩码语言模型(Masked Language Modelling)、掩码Rol分类(Masked Rol Classification)以及图题关联预测(Sentence Relationship Prediction)。掩码Rol分类,也就是随机mask掉视觉输入中的一些Rols,并预测此空间位置对应Rol所属类别。需要注意的两点是:首先在mask某一Rol后,全图对应的部分也应该mask,不然会存在偷窥现象;第二,在图像上进行mask,而不是在输出的特征图上进行mask。图题关联预测,也就是预测图像和标题是否属于同一对。另外,这里作者认为ITM任务没有用。下游任务:也是很常规的三个任务:VCR、VQA、RefCOCO+。

3.4 CLIP

初,拥有号称地表最强语言模型GPT-3的OpenAI在NLP领域又一次大刀阔斧,推出了两个多模态模型DALL-E和CLIP,前者是基于文本生成图像,后者是基于文本对图片进行分类。

论文地址:/pdf/2103.00020.pdf

项目地址:/openai/CLIP

特征提取:文本采用的是transformer,图片采用的是ResNet-50或者 Vision transformer。特征融合:采用的two-stream,CLIP在编码过程中没有进行文本和图片之间的交互,而是直接通过计算文本编码和图像编码的余弦相似度来预测对应图片和文本是否匹配。这与之前的一些多模态工作是不同的。训练:预训练的过程中采用的是对比学习,图中I1和I2是第一张和第二张图片表征,T1和T2是第一条和第二条文本表征,其中T1是I1的描述,所以对比学习的目标就是使得矩阵对角线的距离越来越近,非对角线的距离越来越远。由于矩阵特别大,所以将对比学习转化为分类任务。从图片角度,对于I1来说,在T1到TN这N个类别中应该被分到T1类中,从文本角度就是按列I1-IN去做分类,所以最后的loss就是按行和按列的分类做一个分类任务,然后进行平均。测试:可以直接将训练好的CLIP用于其他数据集,而不需要微调。和训练阶段相似,首先将需要分类的图像经过编码器得到图像特征,然后对于目标任务数据集的每一个标签,或者我们自己定义的标签构造一段对应的文本,如上图dog会被改造改造成a photo of a dog。以此类推,然后经过编码器得到文本和图像特征,接着将文本特征与图像特征做内积,内积最大的对应的标签就是图像分类结果,也就完成了目标任务上的所谓的zero-shot分类。

CLIP巧妙地将图文匹配任务和图像分类任务进行了关联,使得可以直接使用自然语言作为监督信号。不过,和OpenAI的GPT-3模型一样想复现的话,目前的训练效率和分布式训练等问题仍然面临挑战。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。