简介
文章提供了一份关于多模态智能模型与训练方法的技术总结,主要关注与CV和NLP的组合,为了提供一个结构化的透视图,根据三个关键主题组织了这次技术回顾:表示、融合和应用:
-
输入数据的学习表示是深度学习的核心问题。对于多模态任务,跨不同模态采集并行数据是一个很困难的任务。利用带理想属性的预训练表示,例如适用于zero-shot或few-shot学习的属性,通常是有效的解决方案。文章综述了基于有监督和无监督训练的多模态表征学习方法。
-
融合不同模态的表示是所有多模态任务的核心问题。文章根据融合过程中的实际操作,如注意力机制和双线性池,对相关工作进行了分类。
-
回顾了三种类型的应用:图像解释(image captioning)、文本-图像生成(text-to-image generation)和 VQA(visual question answering)
表示
表示学习在实践中有很大的价值,因为更好的表示方法往往可以简化后续的学习任务。多模态表示正引起越来越多的关注,但由于复杂的跨模态相互作用以及每种模态的训练数据和测试数据之间可能存在的不匹配,这仍然是一个具有挑战性的问题。
单模态嵌入 Unimodal Embeddings
一个分布式表示可以说一个带有多个元素相关概念信息的向量,这表示元素可以单独被调整,从而使更多的概念在相关低维空间中可以被更有效地编码。这种表示可以对比符号表示,例如独热编码。在深度学习中,嵌入(embedding) 的概念通常指:从一个单词或图像类的独热向量表示到实数的分布式表示的映射。
视觉表示
图像嵌入可以通过模型中CNN最终层的输出来获取,它的作用在于将图像分类到某个类别中。此外,与语义关系更直接的特征也可以被用作视觉嵌入,例如卷积特征和目标检测模型中和所选区域想关联的类标签等。
语言表示
文本嵌入可以从神经网络语言模型(NNLM)中获得,它通过使用概率的链式规则将序列因子化为单词概率来估计文本序列的概率。
单词和图像嵌入的向量算法
众所周知,词嵌入可以同时捕捉句法和语义的规律。其中一个著名例子是:向量<皇帝>-向量<男性>+向量<女性>得到的新向量距离和向量<女皇>非常近,此处的向量<>表示从一个RNN LM中学习得到的一个单词表示。类似的,在视觉表示方面也存在同样的规律。这些关于文本和图像表示的发现激励了对这两种模态的联合表示的进一步研究。
多模态表示
无监督训练方法
多模态数据的联合嵌入可以使用 Deep Boltzmann Machines 或的多流或带共享层(作为共享表示空间)的auto-encoders,通过重构原始输入来学习得到。另一种方法是,在单一模态方法的基础上,通过将预先训练好的表示空间映射到一个公共空间,构建共享的表示空间。例如Fang等人提出了一个深度多模态相似度模型(DMSM),为一个文本模型DSSM的扩展。用于学习文本和图像在一个统一向量空间中的嵌入表示。深度注意多模态相似性模型(DAMSM) ,作为 DMSM 的扩展,利用注意力模型来度量图像子区域和单词之间的相似性,作为文本到图像生成的附加损失函数。
有监督训练方法
有监督训练可以用来改进多模态表示学习。表示可以被分为两组独立因素:有监督训练的多模态鉴别因子和无监督训练的模态内生成因子。鉴别因子在所有模态中是共享的,可以用于鉴别任务,而生产因子用于重构缺失模态。基于详细的文本注释,一些研究者提出在考虑自然场景图像或图像区域时,从视觉共现(Visual co-occurrences, ViCo)中学习词嵌入。
Zero-Shot 学习方法
Zero-Shot 学习通常用于视觉相关任务,因为这类任务难以获得足够的标记图像来训练所有可能的对象类别。然而,并非所有类型的多模态表示都适用于Zero-Shot 学习,因为某些表示方法可能同时需要来自不同模态的成对数据。基于深度学习的Zero-Shot 学习研究一个线性映射层在不同预训练嵌入间。当使用correlated auto-encoder重建每种模态的表示时,可以学到更好的one-shot和ew-shot 图像检索表示。最近的一项工作使用与目标类别相关和无关的单词标签从预先训练的 VGG 网络中获得视觉嵌入作为正面和负面的视觉先验,它们被用作另一个模型的输入,以实现新对象类的语义图像分割,而这些对象类在训练集中是不可见的。
基于 Transformer 的方法
Transformer是一种基于序列的编码器-解码器模型,通过堆叠多个带多头自注意模型的前馈层块而形成。和基于RNN的编码器-解码器模型相比,这类模型在去除对区域神经网络施加的一阶马尔可夫假设的基础上,可以在长期序列上提供优越的性能。BERT 是在大型文本语料库上预先训练为掩码 LM 的转换器的编码器组件,是用于下游任务的文本嵌入的标准选择。因此,很自然的可以将纯文本的 BERT 概括为覆盖图像并导出预训练的双模态嵌入。
将单模态 BERT 扩展到双模态应用程序的一个直接方法是包含新的tokens来表示视觉特征输入。此外,Transformer架构可以被修改,通过引入一个额外的视觉特征编码器或注意力结构。
融合
融合是多模态研究中的一个关键课题,它将从不同模态数据源中提取到的信息集成到单一简洁的多模态表示中。融合方法可以根据在相关过程中发生融合的阶段来分类,为早期融合、晚期融合和中间融合,最近的研究集中于中间融合方法,它使融合发生在一个深度模型的中间层中。
本节回顾了中间融合,不仅因为它更加灵活,而且它使用的从预训练的骨干模型衍生的单模态特性,各阶段之间的界限不那么清楚。
Simple Operation-Based Fusion
在深度学习中,不同信息源的矢量化特征可以通过简单的操作进行集成,如连接或加权和,这些操作通常只有很少或没有相关参数,因为深度模型的联合训练可以适应层次的高层次特征提取,以调整所需的操作。
- 连接操作可以用于组合低级输入特征或通过预训练模型提取的高级特征。
- 对于带有标量权重的加权和,有一种迭代法,它要求预训练的矢量表示具有相同数量的元素,其排列顺序适合于元素之间的相加,可以通过训练一个全连接层来对每个模态进行维度控制和重排序来实现。
Attention-Based Fusion
注意机制被广泛用于融合,通常是指由一个小的注意模型在每个时间步长时动态生成的一组具有标量权重的向量集加权和。多glimpses(输出头)通常用于生成多组动态权重以求和,将每个glimpses的结果连接起来可以保存辅助信息。将注意机制用于一张图像时,和不同区域相关的图像特征向量会被赋予不同的权重,然后生成一个注意图像向量。
图像注意
结合图像注意模型条件先前的LSTM隐藏状态扩展以前的LSTM模型,其输入是当前词嵌入和增加图像特征的串联,LSTM的最终隐藏状态被用作一个融合多模态表示。利用基于神经网络的编解码模型的注意模型,给图像字幕特征赋予注意权重。同样,堆叠式信息网络(stacked attention networks,SANs)利用多层注意模型对图像进行多次查询,逐步推断出答案,并模拟多步推理过程。在每一层中,通过将前一个查询向量添加到使用当前注意模型产生的参与图像向量,生成一个精化的查询向量并发送到下一层。
自下而上的注意机制提出了一种快速识别图像特征的方法,自上而下的注意机制将视觉特征和语言特征结合起来估计特征权重,生成图像字幕或 VQA 所需的图像特征向量。通过对图像特征向量进行元素级乘积计算,可以使特征向量与语言特征重新融合。互补的图像特征来自不同的模型,如 ResNet 和Faster R-CNN,可以用于多种图像注意机制。此外,图像注意力的逆向,即从图像和文本输入生成有关的文本特征,可用于文本到图像的生成。
文本和图像的对称注意
与前面提到的图像注意机制相比,协同注意机制使用对称注意结构生成图像特征向量和文本特征向量。并行协同注意使用一个联合表示来同时推导图像和文本的注意分布。相反的,交替协同注意有一个级联结构,该级联结构首先使用文本特征来生成一个注意图像向量,然后利用注意图像向量来生成一个注意文本向量。
和并行协同注意类似,dual attention network(DAN)同时估计图像和语言的注意分布,推导出注意特征向量,这种注意模型既取决于特征,也取决于与相关模态关联的记忆向量(memory vector)。与协同注意机制相比的一个关键区别在于,记忆向量可以在每个推理步骤使用重复 DAN 结构迭代更新。
Stacked latent attention (SLA)是对SANs的一个改进,通过将原始图像向量与注意力模型早期层次的值连接起来,以保留中间推理阶段的潜在信息。此外,还引入了类似双流结构的并行协同注意,将注意力分配到图像和语言特征上,这有利于使用多 SLA 层进行迭代推理。为了建立模式之间的高阶相互作用模型,两种数据模式之间的高阶相关性可以作为两个特征向量的内积计算,并用于推导两种模式的相关特征向量。
Attention in a Bimodal Transformer
BERT 的双模态(Bimodal)扩展依赖于不同的标记来表示一个向量是一个单词还是一个图像片段,注意模型在双模态输入序列中融合图像和文本。OmniNet 在每个解码器块中使用一个门控多头注意模型,将其他模态产生的向量与每个模块中前几层为当前模态产生的向量进行融合。LXMERT 使用独立编码器学习每个模态的模态内特征和一个更高层次的交叉模态编码器学习使用额外的交叉注意层交叉模态特征。ViLBERT 扩展 BERT ,包括两个编码器流分别处理视觉和文本输入。
Bilinear Pooling-Based Fusion
双线性池(Bilinear Pooling)是一种通过计算视觉特征向量和文本特征向量的外积来构造联合表示空间的方法,也称为二阶池(second-order pooling)。 双线性表示通常是在二维权矩阵上的线性变换输出,这等价于使用三维张量算子融合两个输入特征向量。然而,基于它的高维度(通常在几十万到几百万维度之间) ,双线性池通常需要对权张量进行分解,以使相关模型能够得到适当和有效的训练。
Factorization for Bilinear Pooling
由于双线性表示与多项式核密切相关,各种低维近似方法被用来获得紧凑的双线性表示。多模态低秩双线性池(multimodal bilinear pooling,MLB)通过对权重张量施加低等级,将双线性池的三维权重张量分解为三个二维权重矩阵,视觉和特征特征向量通过两个输入因子矩阵线性投影到低维模态特定因子上。多模式因式分解双线性池(MFB)通过对每个不重叠的一维窗口内的值求和来修改 MLB,并使用一个额外的操作来汇总元素乘法的结果。
Bilinear Pooling and Attention Mechanisms
双线性池表示可以和注意机制结合,MLB等融合双模态表示可以作为注意模型的输入特征,来推导出注意图像特征向量,然后 MLB 再与文本特征向量融合形成最终的联合表示。双线性注意网络(BAN)利用 MLB 融合图像和文本,生成一个表示注意分布的双线性注意图,然后作为双线性权值张量进行图像和文本特征的融合。
应用
Text-to-Image Generation
文本到图像的生成是计算机视觉中的一个基本问题,它依赖于自然语言来控制图像的生成,这是一个困难的问题,因为它至少涉及两个任务:高质量的图像生成和语言理解,生成的图像必须在视觉上逼真,语义上与语言描述一致。
基于深度学习的文本到图像的生成可以追溯到使用 LSTM 进行迭代笔迹生成,这种迭代图像生成方法后来被推广到深度循环注意作者(DRAW)方法,该方法将基于最大似然估计的序列变分自动编码器(VAE)与空间注意机制相结合。alignDRAW 方法修改了 DRAW,使用基于自然语言的描述来合成具有一般内容的图像。基于 GAN 的方法已经成为近年来文本图像生成研究的主要焦点,这可能是因为广域网的鉴别器可以作为合理的评价标准,而其他方法难以实现。下面的小节概述了一些基于图像组织的方法,包括一些重要问题的基本设置和解决方案,如高质量图像的生成,图像和文本之间的语义一致性,以及图像的布局控制。
基于GAN方法
和VAE相比,conditional-GAN (CGAN) 可以合成更引人注目的特殊类别图像,人们甚至可能会误认为是真实的图像。CGAN扩展了一般GAN架构,通过为生成器和鉴别器生成额外的类别标签。GAN-INT-CLS 利用自然语言描述的嵌入代替 CGAN 中的类别标签,实现了64 × 64图像的视觉合成。在评估方法上,自动评估的质量文本条件下的图像可以不那么直截了当,包括inception score 、Fréchet inception distance、Multi-scale structural similarity。为了评估生成的图像在语义上是否与输入文本描述一致,有R-precision 和 visual-semantic similarity。
生成高质量图像
实验发现,GAN-INT-CLS 生成的图像并不包含细粒度的细节或生动的对象,这一缺点促使了 StackGAN 方法的发展,StackGAN 通过叠加两个分别训练的 CGANs,通过草图精化过程将图像合成解决为更易于处理的子问题:第一个 GAN 通过基于文本描绘物体的基本形状和颜色,生成64 × 64个低分辨率图像;然后对第二个 GAN 进行训练,通过纠正缺陷并为第一个 GAN 生成的低分辨率图像添加引人注目的细节,生成256 × 256张图像。StackGAN++ 进一步改进,通过在上面说的两个GAN之间合并一个额外的 GAN来生成128 × 128图像,并联合训练所有的GAN。
为了保证生成的图像在语义上与文本精确匹配,提出了注意 GAN (AttnGAN)算法,该方法也针对不同的图像分辨率堆叠了三个GAN。第一个 GAN 基于句子嵌入训练,接下来的两个 GANs 接受由注意模型产生的双模态嵌入训练,这些模型将词级特征与低分辨率图像融合。研究表明,注意机制可以让 GAN 注意力集中在与每个阶段绘制的子区域最相关的词上。
生成语义一致的图像
为了提高相关图像与文本特征之间的语义一致性,提出了基于 AttnGAN 的数据挖掘模型 DAMSM。分层嵌套鉴别器 GAN (HDGAN) 针对这一问题,提出了一种基于分层表示和附加对抗性约束的图像识别算法,该算法不仅能识别真假图像对,而且能识别多分辨率图像的真假图像文本对。类似地,文本条件辅助分类器 GAN (TAC-GAN)将一个额外的图像分类任务引入到分类器中。
复杂场景的语义布局控制
尽管现有研究已经成功地为单个物体,如鸟类或花朵,创作出了逼真的、语义上连贯的图像,最先进的文本到图像生成方法仍然很难生成包含许多对象和关系的复杂场景,例如 Microsoft COCO 数据集中的那些复杂图像。object-driven attentive GAN (Obj-GAN)利用物体驱动的聚焦成像发生器-智能识别器的组合改进了两阶段生成的概念,在每一个生成步骤中,生成器使用一个文本描述作为语义布局,并通过聚焦于与该框中的对象最相关的单词来合成该框中的图像区域。与其他 GAN 方法相比,Obj-GAN 具有更强的鲁棒性和可解释性,能显著提高复杂场景下物体生成的质量。
其他目标
除了布局之外,文献中还讨论了用于图像生成的其他类型的细粒度控制。
Attribute2Image 使用各种属性来生成面孔,比如年龄和性别。这个概念也适用于面部编辑,例如消除胡须或改变头发的颜色等。text-adaptive GAN 利用自然语言对花鸟图像进行语义修改。Text2Scene 是另一个值得注意的方法,以从自然语言的一步一步的方式生成组合场景表示而不使用GAN,实验结果表明,经过小的修改,Text2Scene 可以生成类卡通、语义布局和真实的类图像场景。