用GAN的方法来进行图片匹配!休斯顿大学提出用于文本图像匹配的对抗表示学习,消除模态差异!

【写在前面】

对于许多计算机视觉应用,如图像字幕、视觉问答和人员搜索,学习图像和文本级别的判别特征表示是一个基本但具有挑战性的问题。它的挑战源于文本域中的较大单词差异,以及难以准确测量两种模态特征之间的距离。之前的大多数工作都集中在后一个挑战上,通过引入损失函数来帮助网络学习更好的特征表示,但无法考虑文本输入的复杂性。鉴于此,作者提出了TIMAM:一种文本图像模态对抗性匹配方法,该方法使用对抗性和跨模态匹配目标学习模式不变特征表示。此外,作者证明了一种提取单词嵌入的公共可用语言模型BERT可以成功地应用于文本到图像匹配领域。该方法在四个广泛使用的公共可用数据集上实现了最先进的跨模态匹配性能,Rank-1精度的绝对提高达到2%-5%。

1. 论文和代码地址

Adversarial Representation Learning for Text-to-Image Matching

论文地址:openaccess.thecvf.com/content_ICC… "openaccess.thecvf.com/content_ICC…

代码地址:未开源

2. Motivation

作者开发一种跨模态匹配方法,提供文本描述,识别和检索最相关的图像。例如,有一句话“一个穿着白色衬衫的女人手里拿着一个黑色钱包”,作者希望获得具有这种视觉特征的个人的图像。匹配图像和文本的第一个挑战是,即使在描述同一图像时,文本描述中的文字变化也很大。对于一个人来说,被视为重要信息的内容对于另一个标注者来说不一定相同。同时,文本描述可能包含错误,描述可能太长,或者标注者可能描述图像上可用但与主要兴趣点(例如,人、物体)无关的其他信息。这些因素使得文本到图像的匹配成为一个困难的问题,因为从这些描述中学习良好的特征表示并不简单。

文本到图像匹配的第二个主要挑战是如何准确测量文本和图像特征之间的距离。在部署过程中,计算探测文本特征和所有库图像特征之间的距离,并根据该标准对结果进行排序。大多数现有方法引入损失函数来应对这一挑战。虽然这些方法的性能一直优于以前的最先进技术,但其性能仍然不令人满意。例如,CUHK-PEDES数据集上的最佳文本图像匹配方法在rank-1精度方面低于50%。最后,大多数方法通常依赖于执行匹配时的一些假设。然而,当对相同的文本输入进行词性标注时,作者发现重要信息丢失了,因为同一个单词可以根据上下文或其在句子中的位置进行不同的标注。

在本文中,作者的目标是:(i)从视觉和文本输入中学习区分表示;以及(ii)在如何学习单词嵌入方面改进了以前的文本到图像匹配方法。为了完成这些任务,作者引入了TIMAM:一种文本-图像模态对抗性匹配方法,它在两种模态之间执行匹配,并在不需要任何额外监督的情况下获得最先进的结果。

这项工作的第一个贡献是一个对抗性表征学习(ARL)框架,它将两种模态的特征“彼此接近”。文本和视觉特征表示被馈送到鉴别器,该鉴别器旨在识别输入是来自视觉还是文本模态。通过学习愚弄鉴别器,可以学习能够成功执行文本到图像匹配的模态不变特征表示。鉴别器的对抗性损失以及识别损失和跨模态投影匹配损失用于联合训练整个网络端到端。作者证明了对抗式学习非常适合跨模态匹配,并提高了rank-1精度。本文的第二个贡献源于在如何学习单词嵌入方面改进了以前的文本到图像匹配方法。作者从自然语言处理社区借用了最近的语言表示模型BERT,它代表来自Transformers的双向编码器表示。作者证明,这种模型可以成功地应用于文本到图像匹配,并可以显著提高现有方法的性能。每个描述都被输入到语言模型,该语言模型提取单词表示,然后输入到LSTM,并映射到最终的句子嵌入。

因此,TIMAM在使用这两种模态的主干的学习能力的同时,可以从提出的目标函数中获得更具歧视性的特征表示。通过实验、消融研究和定性结果,作者证明:

1)对抗式学习非常适合于跨模态匹配,它可以从两种模式中产生更具歧视性的嵌入。使用本文提出的学习方法,作者观察到与以前性能最好的技术相比,Rank-1准确性的改善范围为2%到5%。

2)预训练的语言模型可以成功地应用于跨模态匹配。通过利用BERT的微调能力,可以学习更好的文字嵌入。实验结果表明,当以这种方式学习特征时,Rank-1精度比以前的工作提高了3%-5%。

3. 方法

在本节中,作者提出了TIMAM:一种跨模态匹配方法,该方法学习匹配两种模态的特征表示,以便执行文本到图像和图像到文本的检索。

3.1. Joint Feature Learning

在训练过程中,本文的目标是学习能够从另一个模态准确检索输入ID(或类别)的视觉和文本特征表示。训练模型如上图所示。具体来说,作者在训练时的输入由三元组 ( V i , T i , Y i ) \left(V_{i}, T_{i}, Y_{i}\right) 组成,其中 V i V_{i} 是来自视觉域的图像输入, T i T_{i} 是来自描述该图像的文本域T的文本描述, Y i Y_{i} 是输入的标识类别。为了学习 ϕ ( V i ) \phi\left(V_{i}\right) 表示的视觉表示,任何图像分类模型都可以用作主干网络(本工作中使用了ResNet101网络)。最后一个残差块的特征映射使用全局平均池和全连接层投影到特征向量的维数。作者选择了没有任何注意块的原始主干架构,以保持主干简单,易于在任何框架中复制,并避免学习更多参数。

从这两种模态中学习区分性表示对于文本到图像的匹配至关重要。然而,对于图像域,大多数现有方法依赖于深层架构,这些架构已证明其能够为广泛的任务提取判别特征,而对于文本域则不是这样。之前的工作通常依赖于单个LSTM对文本输入进行建模,并学习与输入句子相对应的特征。作者认为,阻碍现有计算机视觉方法在文本-图像匹配问题上表现良好的主要原因之一是文本特征没有足够的区分性。为了解决这个局限性,作者从自然语言处理社区借用了最近提出的语言表示模型BERT。然后,从BERT中提取的单词嵌入序列被馈送到双向LSTM,该LSTM有效地总结了输入文本描述的内容。最后,通过使用全连接层将LSTM的输出投影到特征向量的维数,获得由 τ ( T i ) \tau\left(T_{i}\right) 表示的文本表示。在输出词嵌入中使用LSTM的原因是,它能够最初“冻结”语言模型的权重,并仅微调LSTM和全连接层,从而显著减少参数数量。一旦观察到足够的性能,将“解冻”语言模型的权重,并对整个网络进行端到端训练。

3.2. Cross-Modal Matching

考虑到视觉和文本特征,本文的目标是引入损失函数,使来自同一身份/类别的特征紧密结合在一起,并推开来自不同身份的特征。为了完成这项任务,作者引入了两个损失函数来进行身份和跨模态匹配。识别损失是一种norm-softmax交叉熵损失,通常用于人脸识别应用,该应用引入了输出层权重的L2归一化。通过这样做,它强制模型关注不同样本权重之间的角度,而不是其大小。对于视觉特征,norm-softmax交叉熵损失可以描述如下:

L I V = 1 B i = 1 B log ( exp ( W i T ϕ ( V i ) + b i ) j exp ( W j T ϕ ( V i ) + b j ) ) s . t . W j = 1 , j [ 1 , B ] L_{I}^{V}=-\frac{1}{B} \sum_{i=1}^{B} \log \left(\frac{\exp \left(W_{i}^{T} \phi\left(V_{i}\right)+b_{i}\right)}{\sum_{j} \exp \left(W_{j}^{T} \phi\left(V_{i}\right)+b_{j}\right)}\right)\\s.t. \left\|W_{j}\right\|=1, \forall j \in[1, B]

其中I代表身份,V对应于视觉形态,B是batch大小, W i , b i W_{i}, b_{i} 是视觉特征表示 ϕ ( V i ) \phi\left(V_{i}\right) 的分类层的权重和偏差。文本特征 L I T L_{I}^{T} 的损失以类似的方式计算,最终分类损失为 L I = L I V + L I T L_{I}=L_{I}^{V}+L_{I}^{T} 。值得注意的是,对于没有ID标签但只有图像-文本对的数据集(例如Flickr30K数据集),作者为每个图像分配一个唯一的ID,并将该ID用作识别损失的Ground Truth。然而,仅仅专注于执行准确识别并不足以进行跨模态匹配,因为到目前为止,两种模态的表示之间没有关联。为了应对这一挑战,作者使用跨模态投影匹配损失,它将跨模态投影合并到KL散度度量中,以关联不同模式的表示。文本表示句首先归一化 τ ˉ ( T j ) = τ ( T j ) τ ( T j ) \bar{\tau}\left(T_{j}\right)=\frac{\tau\left(T_{j}\right)}{\left\|\tau\left(T_{j}\right)\right\|} ,然后匹配 ϕ ( V i ) \phi\left(V_{i}\right) τ ˉ ( T j ) \bar{\tau}\left(T_{j}\right) 的概率由以下公式得出:

p i , j = exp ( ϕ ( V i ) T τ ˉ ( T j ) ) k = 1 B exp ( ϕ ( V i ) T τ ˉ ( T k ) ) . p_{i, j}=\frac{\exp \left(\phi\left(V_{i}\right)^{T} \bar{\tau}\left(T_{j}\right)\right)}{\sum_{k=1}^{B} \exp \left(\phi\left(V_{i}\right)^{T} \bar{\tau}\left(T_{k}\right)\right)} .

转置图像嵌入和归一化文本嵌入之间的乘积反映了 ϕ ( V i ) \phi\left(V_{i}\right) τ ˉ ( T j ) \bar{\tau}\left(T_{j}\right) 之间的标量投影,而概率 p i , j p_{i, j} 表示该标量投影在一batch中对之间的所有标量投影中的比例。因此,图像嵌入与文本嵌入越相似,从前者到后者的标量投影越大。由于在每个小batch中可能存在多个正匹配(即来自同一身份的视觉和文本特征),因此真实匹配概率标准化如下: q i , j = Y i , j / k = 1 B ( Y i , k ) q_{i, j}=Y_{i, j} / \sum_{k=1}^{B}\left(Y_{i, k}\right) 。然后,将 ϕ ( V i ) \phi\left(V_{i}\right) 与正确匹配的文本特征关联的跨模态投影匹配损失定义为从真实匹配分布 q i q_{i} 到匹配概率 p i p_{i} 的KL发散。对于每个batch,该损失定义为:

L M V = 1 B i = 1 B j = 1 B p i , j log ( p i , j q i , j + ϵ ) L_{M}^{V}=-\frac{1}{B} \sum_{i=1}^{B} \sum_{j=1}^{B} p_{i, j} \log \left(\frac{p_{i, j}}{q_{i, j}+\epsilon}\right)

其中M表示匹配, E \mathcal{E} 是一个非常小的数字,用于防止被零除。遵循相同的过程来执行相反的匹配(即从文本到图像)来计算损失 L M T L_{M}^{T} ,在此过程中,视觉特征被归一化。最后,两个单独损失的总和构成跨模态投影匹配损失 L M = L M V + L M T L_{M}=L_{M}^{V}+L_{M}^{T}

3.3. Adversarial Cross-Modal Learning

当训练对抗性神经网络时,在鉴别器D和特征生成器G之间进行极小极大博弈。G和D都经过联合训练,因此G试图愚弄D,D试图做出准确的预测。对于文本到图像匹配问题,两个主干架构分别作为视觉和文本模态的特征生成器 G V G^{V} G T G^{T} ,分别生成特征表示 ϕ ( V i ) \phi\left(V_{i}\right) τ ( T i ) \tau\left(T_{i}\right) 。关键思想是为每个输入模态学习一个良好的通用表示,以最大限度地提高匹配性能,同时模糊模态信息。通过学习愚弄模态鉴别器,可以学习更好的特征表示,能够执行文本到图像的匹配。生成的嵌入被馈送到模态鉴别器,该鉴别器对输入特征表示是从视觉模态还是文本模态中提取进行分类。鉴别器由两个完全连接的层组成,这些层将嵌入大小减少到用于预测输入模态的标量值。鉴别器根据以下GAN[损失函数进行优化:

L D = E V i V [ log D ( ϕ ( V i ) ) ] E T i T [ log ( 1 D ( τ ( T i ) ) ) ] L_{D}=-\underset{V_{i} \sim V}{\mathbb{E}}\left[\log D\left(\phi\left(V_{i}\right)\right)\right]-\underset{T_{i} \sim T}{\mathbb{E}}\left[\log \left(1-D\left(\tau\left(T_{i}\right)\right)\right)\right]

其中,V和T分别对应于图像和文本模态。

3.4. Training and Testing Details

用于训练TIMAM的损失函数是两个识别损失( L I L_{I} )、两个跨模态匹配损失( L M L_{M} )和鉴别器的对抗性损失( L D L_{D} )的总和:

L = L I + L M + L D L=L_{I}+L_{M}+L_{D}

上图对这三个学习目标进行了说明。在测试时,将文本描述作为probe,使用余弦相似性计算其文本特征及其在测试集中所有图像特征之间的距离:

s i , j = τ ( T i ) ϕ ( V j ) τ ( T i ) ϕ ( V j ) s_{i, j}=\frac{\tau\left(T_{i}\right) \cdot \phi\left(V_{j}\right)}{\left\|\tau\left(T_{i}\right)\right\| \cdot\left\|\phi\left(V_{j}\right)\right\|}

4.实验

作者根据在CUHK-PEDES数据集上测试过的八种性能最佳的方法对本文的方法进行了评估,并在上表中给出了文本到图像的匹配结果。

上表展示了Flickr30K上的图像文本检索结果。

上表展示了CUB和Flowers数据集的跨模态匹配结果。

作者在cuhk-pedes数据集上进行消融研究,以研究不同的模块对rank-1和rank-10准确性方面的影响。

作者对Flickr30K数据集进行消融研究,以评估不同主干架构深度的影响。

上图展示了不同数据集上,本文方法的定性实验结果。

上图展示了该方法的两个失败案例。虽然检索到的结果都与真实文本ID不匹配,但它们仍然与文本查询非常相关。

5. 总结

学习用于跨模态匹配的判别表示具有重大挑战,例如变化很大的语言输入的差异和测量多模态特征之间距离的困难。为了应对这些挑战,作者引入了TIMAM:一种文本图像匹配方法,该方法使用了一个对抗性鉴别器,旨在识别输入是来自视觉还是文本模态。当鉴别器与识别和跨模态匹配目标联合训练时,会产生判别模态变量嵌入。此外,作者观察到深度语言模型可以提高跨模态匹配能力,因为可以学习更好的文本嵌入。通过大量实验证明,(i)对抗式学习非常适合文本图像匹配,(ii)深度语言模型可以成功地用于跨模态匹配应用。在四个公开可用的数据集中获得了最先进的结果,所有这些数据集都广泛用于该领域。


已建立深度学习公众号——FightingCV,欢迎大家关注!!!

加入交流群,请添加小助手wx:FightngCV666

ICCV、CVPR、NeurIPS、ICML论文解析汇总:github.com/xmu-xiaoma6…

面向小白的Attention、重参数、MLP、卷积核心代码学习:github.com/xmu-xiaoma6…

本文由mdnice多平台发布

猜你喜欢

转载自juejin.im/post/7123000931880271880
今日推荐