文献阅读-图文匹配的相似性推理和过滤
Title:《Similarity Reasoning and Filtration for Image-Text Matching》
Published:2021AAAI
code:https://github.com/Paranioar/SGRAF
这篇论文提出的模型SGRAF是当前跨模态检索SOTA,属于跨模态相似性度量方法一类。
Abstract:图像-⽂本匹配在连接视觉和语⾔⽅⾯起着⾄关重要的作⽤,并且通过利⽤图像和句⼦之间的全局对⻬或区域和单 词之间的局部对⻬已经取得了很⼤进展。然⽽,如何充分利⽤这些⽐对来推断出更准确的匹配分数仍然没有得到充 分探索。在本⽂中,我们提出了⼀种新颖的相似图推理和注意⼒过滤 (SGRAF) ⽹络,⽤于图像-⽂本匹配。具体来说,⾸先学习基于向量的相似性表⽰以更全⾯的⽅式表征局部和全局对⻬,然后引⼊依赖于⼀个图卷积神经⽹络的相似图推理(SGR)模块来推断与两者的关系感知与局部和全局对⻬的相似性。进⼀步开发了相似性注意过滤 (SAF) 模块,通过选择性地关注重要且具有代表性的对⻬⽅式,同时排除⽆意义对⻬⽅式的⼲扰,从⽽有效地整合这些对⻬⽅式。我们通过⼴泛的定性实验和分析证明了所提出的⽅法在 Flickr30K 和 MSCOCO 数据集上实现最先进性能的优越性,以及 SGR 和 SAF 模块的良好可解释性。
创新点:
- 学习用于图像-文本匹配的基于向量的相似性表示,这使得在表征图像和句子之间的全局对齐以及区域和单词之间的局部对齐方面具有更大的能力。(相对于基于标量的相似性表示)
- 提出了相似图推理(SGR)模块,通过图推理来推断图像-文本的相似性,该模块可以识别更复杂的匹配模式,并通过捕获局部和全局对齐之间的关系来实现更准确的预测。
- 尝试在相似性聚合中考虑无意义词的干扰,并提出一种有效的相似性注意过滤(SAF)模块来抑制不相关的相互作用,以进一步提高匹配精度。
1. 引言
图文匹配是指测量图像和文本之间的视觉语义相似性,这在各种视觉和语言任务中变得越来越重要,如跨模态检索、图像字幕、文本到图像合成和多模态神经机器翻译。尽管近年来已经取得了很大的进展,但由于图像和文本之间的复杂匹配模式和较大的语义差异,图像-文本匹配仍然是一个挑战性的问题。
为了准确地建立视觉和文本观察之间的关联,大部分方法利用深度神经网络首先将图像和文本编码为紧凑的表示,然后学习在匹配标准的指导下测量它们的相似性。例如,将整个图像和整个句子映射到一个公共向量空间中,并计算全局表示之间的余弦相似度。
为了提高统一嵌入的判别能力,开发了许多策略,例如语义概念学习和区域关系推理,通过结合局部区域来增强视觉特征 区域语义。
然而,这些方法无法捕捉图像区域和句子片段之间的局部交互,导致可解释性和性能提升有限。 为了解决这个问题,提出发现图像区域和句子片段之间所有可能的对齐方式,这会产生令人印象深刻的检索结果并激发大量工作探索更准确的细粒度对应。 尽管通过设计各种机制来编码更强大的特征或捕获更准确的对齐方式已经取得了显着的进步,但这些方法忽略了相似度计算的重要性,而相似度计算是探索图像和文本之间复杂匹配模式的关键。
更具体地说,以前的⽅法存在三个缺陷。
- 这些⽅法计算基于标量的余弦相似性不足以描述单词和区域间的关联模式
- ⼤多数仅通过最⼤池化来聚合区域和单词之间的所有潜在对⻬或平均池化 ,这阻碍了局部和全局对⻬之间的信息交流
- 没有考虑⽆意义对⻬的⼲扰
SGRAF ⽰意图。红⾊和其他颜⾊的节点分别编码图 像-⽂本和区域-单词对⻬。SGR模块捕获它们的关系以实 现全⾯的相似性推理,SAF模块减少⽆意义对⻬的⼲扰
为了解决这些问题,在本⽂中,我们提出了⼀种新颖的 相似图推理和注意过滤(SGRAF)⽹络,⽤于图像-⽂本 匹配。具体来说,我们⾸先捕获整个图像和完整句⼦之间 的全局对⻬,以及图像区域和句⼦⽚段之间的局部对⻬。 我们建议学习基于向量的相似性表⽰来更有效地建模跨模 态关联,⽽不是⽤基于标量的余弦相似度来表征这些对 ⻬。然后我们介绍了相似图推理 (SGR) 模块,该模块依赖 于图卷积神经⽹络 (GCNN) 通过捕获局部和全局对⻬之间 的关系来推理更准确的图⽂相似度。此外,我们开发了相 似性注意过滤(SAF)模块来聚合所有具有不同显着性分 数的对⻬,从⽽减少了⽆意义对⻬的⼲扰并获得更准确的 跨模态匹配结果。
2. Related Work
2.1 图文匹配
2.1.1 特征编码
许多先前的⽅法专注于跨模态检索的特征提取和优化。
对于⽂本特征:
- 采⽤ Skip-Gram来提取单词表⽰。
- 探索了Fisher Vectors (FV) ⽤于⽂本表⽰。
- 采用GRU 作为⽂本编码器。
对于视觉特征:
- 采用Recurrent Residual networks(RRN)提取全局嵌入
- 采用多头自注意力将全局上下文与局部引导特征相结合
- 基于块的视觉注意来收集特征图上的语义
- 使用Visual Genomes上的预训练模型获得视觉对象的基于区域的特征
- 探索了Bi-GRU来获得高级对象特征
- 提出基于GCN的网络来生成关系增强的对象特征
本文利用自注意力在区域或单词特征上获得图像或文本的表示,专注于对全局图像文本和局部区域-单词对齐进行全面的建模的相似性编码机制,并充分编码图像和文本之间的细粒度关系。
2.1.2 相似性预测
现在对于图像和文本匹配的大多数工作学习了联合嵌入和跨模态匹配的相似性度量 。
对于全局对齐:
- 探索联合空间并计算用于相似性计算的内积(如余弦距离)
- 引入一种有序表示来测量反对称的视觉语义层次
对于局部对齐:
- 计算基于标量的对齐并采用简单的操作融合局部对齐。
例如:研究区域和词对之间的潜在语义对齐,并通过平均值或LogSumExp集成了局部余弦对齐。
不同的是,本文的网络探索基于向量的对齐之间的全局-局部关系来减少意义不大的对齐的干扰来聚合相似性。
2.2 图卷积网络
基于 Graph 的研究建模了概念之间的依赖关系并促进了图推理,例如 GCNN和⻔控图神经⽹络 (GGNN) 。 这些图神经⽹络已⼴泛应⽤于各种视觉语义任务,例如图 像字幕, VQA和基础引⽤表达式 。
近年来,有⼏种⽅法可以利⽤图结构来增强参考图像-⽂本匹配的单 ⼀视觉或⽂本特征。
- 采⽤场景概念图(SCG),将图像场景图和经常同时出现的概念对作 为场景常识知识。
- 提出了视觉语 义推理来建⽴连接图像区域之间的关系并⽣成具有语义关系的视觉表⽰。
- 采⽤视觉场景图和⽂本场景图,每 ⼀个都分别提炼视觉和⽂本特征,包括对象和关系。
他们都通过学习单模态上下⽂表⽰来关注“特征编码”.
本文的 SGR 以“相似性推理”为⽬标,并通过全局和局部 跨模态对⻬探索更复杂的匹配模式。
2.3 注意力机制
注意机制已应⽤于⾃然语⾔处理中的⾃适应过滤和聚合信息。在图像-⽂本匹配⽅⾯,它旨在关注视觉和⽂本数据 的某些部分。
- 开发了 Stacked Cross Attention 以使⽤图像区域和⽂本词作为 上下⽂来匹配潜在对⻬。
- 设计了更复杂的 Cross Attention 来改善图⽂匹配。
- 提出了⼀种带有循环 注意记忆的迭代匹配,以逐步探索细粒度的区域词对应。
我们采⽤ text-to-visual attention 使⽤ 区域-单词对并计算⽂本参与对⻬。 在本⽂中,我们的 SAF 旨在丢弃语义较少的对⻬,⽽不是利⽤精确的跨模态注意⼒。
3. Method
在本节中,专注于通过捕获局部和全局对⻬之间的关 系来改进视觉语义相似性学习,并抑制不太有意义的对⻬的⼲扰。
如图所⽰2,我们⾸先介绍如何对视觉和⽂本观 察进⾏编码,然后计算所有局部和全局表⽰对的相似性表 ⽰。
然后,我们详细阐述了⽤于关系感知相似性推理的相 似图推理(SGR)模块和⽤于代表性相似性聚合的相似性 注意过滤(SAF)模块。
最后,我们介绍了 SGR 和 SAF 模块的训练⽬标和推理策略的详细实现。
⽤于图像⽂本匹配的 SGRAF ⽹络。图像和句⼦⾸先被编码为局部和全局特征表⽰,然后是相似度表⽰计算模块来 捕获所有局部和全局跨模态对之间的对应关系。Similarity Graph Reasoning (SGR) 模块通过考虑所有对⻬之间的关系来推理相似性,Similarity Attention Filtration (SAF) 模块关注更多信息的对⻬,以实现更准确的相似性预测
3.1 通用表示提取
3.1.1 视觉表示
对于每一个输入的图像,Faster R-CNN模型在Visual Genomes上的预训练 用于提取K个区域视觉特征;经过全连接,转换为d维向量作为局部区域表示;利用自注意力机制以图像区域的平均特征作为query,聚合所有区域获得全局表示
3.1.2 文本表示
给定一个句子,我们用标记化技术分成L个单词,将单词嵌⼊顺序馈送到双向 GRU;每个词的表⽰是 通过平均每个时间步的前向和后向隐藏状态获得;同样全局文本表示是通过自注意力方法在所有单词特征上计算出来的。
3.2 相似性学习表示
3.2.1 向量相似函数
以往的⽅法⼤多利⽤余弦或欧⼏⾥得距离 来表⽰两个特征向量之间的相似性,可以在⼀定程度上捕 捉到相关性,但缺乏详细的对应关系。
在本⽂中,我们计算了⼀个相似度表⽰,它是⼀个相似度向量⽽不是⼀个相似度标量,以捕获来⾃不同模态的特征表⽰之间的更详细 的关联。
任意两个向量x和y之间的相似度函数为:
3.2.2 全局相似表示
我们用全局图像特征v和句子特征t和等式来计算相似性表示。
3.2.3 局部相似性表示
捕捉一个特定单词与其对应的图像区域之间的关联,从而利用局部的细粒度的视觉-语义对齐来提高相似度预测。
利用文本与区域之间的注意力机制得到每个局部特征的权重,c_ij是指第i个图像区域vi与文本单词tj之间的相似度。
a_jv表示对于特定单词j的图像表示。
3.3 相似图推理(SGR)
3.3.1 图形构建
为了实现更全⾯的相似性推理,我们构建了⼀个相似性图来在局部和全局级别的可能对⻬之间传播相似 性消息。更具体地说,我们采⽤所有单词参与的相似 性表⽰和全局相似性最为图节点
图的构建:节点即为相似性向量,边的计算方式如下,S代表节点,Win, W out代表入度出度学习参数:
3.3.2 图推理
我们用相似图推理来更新节点和边:
迭代推理N步的相似度,并将最后一步的全局节点的输出作为相似度推理的表示,然后将其输入全连接层以推断最终的相似度得分。SGR模块支持局部和全局对齐之间的信息传播,可以捕获更全面的交互以促进相似性推理。
3.4 相似性注意力过滤 (SAF)
尽管利⽤局部对⻬可以通过发现图像区域和句⼦⽚段之间 更细粒度的对应关系来提⾼匹配性能,但我们注意到,当 以未区分的⽅式聚合所有可能的对⻬时,意义较⼩的对⻬ 会阻碍区分能⼒。因此,我们提出了⼀个相似性注意过滤 (SAF)模块来增强重要的对⻬,以及抑制⽆效的对⻬。
在做匹配的时候每个文本单词给相似度的贡献应该是不一样的,应该给无意义单词匹配(eg:the\be等)分配较低权重。
权重计算方式如下,BN表示batch normalize,激活函数是sigmoid:
最后将权重与对应相似度向量加权求和得到SAF这一路的相似度。
3.5 训练目标和推理策略
本文分为两个模块,作者制定了两种训练方式。第一种是联合训练,即将SGR和SAF的损失函数加和一起训练模型。第二种是分开训练,即分别训练两个模块。验证阶段的相似度是这两个模块得到的相似度进行平均。实验发现,分开训练效果更好。
我们利用双向排序损失来训练SGR模块和SAF模块。给定一个匹配的图像-文本对(v,t)和对应的最难负图像v-和最难负文本t-在一个minbatch中 ,r是边缘参数,Sr( ,)表示用SGR实现的相似性预测函数,将SAF模块的训练目标定义为Lf。
- 联合训练:结合Lr和Lf同时训练SGR模块和SAF模块,其中相似性表示是为了提出的两个模块所共享的
- 独立训练:分别训练SGR模块和SAF模块
推理阶段:对SGR和SAF模块预测的相似度进行平均,以进行检索评估。
4. Experiment
为了验证模型的有效性,在本节中,在两个基准数据集上进行了广泛的实验。 还介绍了所提出的 SGRAF 模型的详细实现和训练策略。
4.1 数据集和设置
数据集。在 MSCOCO 上评估我们的模型和 Flickr30K数据集。MSCOCO 数 据集包含 123,287 张图像,每张图像都带有 5 个带注释的 标题。该数据集分为 113,287 张⽤于训练的图像、5000 张⽤于验证的图像和 5000 张⽤于测试的图像。我们通过 平均超过 5 倍的 1K 测试图像并测试完整的 5K 图像来报告 结果。Flickr30K 数据集包含 31,783 张图⽚,每张图⽚有 5 个对应的标题。在分裂之后(弗罗姆等⼈。2013),使⽤ 1000 张图像进⾏验证,1000 张图像⽤于测试,其余⽤于训练。
4.2 定量结果与分析
表 1:MSCOCO 1K 测试集和 Flickr30K 测试集的双向检索结果⽐较(R@K (%))。VSRN* 表⽰与 SGR 进⾏公平⽐较的单 个模型。SGRAF 表⽰具有独⽴训练的整个框架
表 2:在 MSCOCO 5K 测试集上的双向检索结果对⽐ (R@K (%))
4.3 Ablation Studies
表 3:SGR 配置的影响。GLO 和 LOC 分别表⽰使⽤全局 对⻬和局部对⻬,Step 表⽰图推理步骤
GLO、LOC代表在构图过程中有无全局、局部相似度向量。Step表示图更新次数。Joint,Split表示联合训练还是模块分开地训练。从实验结果来看,同时考虑全局和局部相似度能够更全面得到相似度信息,提升模型效果。在SGR模块中,图的更新需要4次。
表 4:相似性配置的影响。I2T 和 T2I 表⽰视觉到⽂本和 ⽂本到视觉的注意⼒,分别⽣成局部相似性表⽰。SS 表 ⽰基于标量的余弦相似度,SV 表⽰基于向量的相似度, AA 表⽰所有对⻬的平均聚合
表 5:训练配置对 MSCOCO 1K 测试集和 Flickr30K 测试 集的影响。Split and Joint表⽰两个模块的独⽴联合训练
SGR和SAF并不兼容,独立训练比联合训练效果好。SGR 模块通过在局部和全局对齐之间传播信息来捕获几个关键线索,也会得到一些相对不重要的交互。SAF 模块尝试收集所有有意义的对齐并消除完全不相关的交互。
5. 结论
在这项工作中,提出了一个由相似图推理(SGR)和相似注意过滤(SAF)模块组成的 SGRAF 网络。 SGR 模块基于全局和局部相似性节点执行多步推理,并通过信息传播捕获它们的关系,而 SAF 模块更多地关注用于相似性聚合的判别性和有意义的对齐。 我们证明了利用局部和全局对齐之间的关系并抑制不太有意义的对齐的干扰是很重要的。 在基准数据集上的大量实验表明,SGR 和 SAF 模块都可以有效地发现图像和文本之间的关联,并在相互配合时取得进一步的改进。
文献阅读-图文匹配的相似性推理和过滤相关推荐
- 文献阅读-用于图文检索的跨模态信息交互推理网络
DOI:10.3778/j.issn.1002-8331.2205-0056 引用格式: 魏钰琦,李宁.用于图文检索的跨模态信息交互推理网络[J/OL].计算机工程 与应用. https://kns. ...
- 【知识图谱】本周文献阅读笔记(3)——周二 2023.1.10:英文)知识图谱补全研究综述 + 网络安全知识图谱研究综述 + 知识图谱嵌入模型中的损失函数 + 图神经网络应用于知识图谱推理的研究综述
声明:仅学习使用~ 对于各文献,目前仅是泛读形式,摘出我认为重要的点,并非按照原目录进行简单罗列! 另:鉴于阅读paper数目稍多,对paper内提到的多数模型暂未细致思考分析.目的是总结整理关于KG ...
- 【预训练视觉-语言模型文献阅读文献阅读】最新BERT模型——UNITER: UNiversal Image-TExt Representation Learning
[预训练视觉-语言模型文献阅读文献阅读]最新BERT模型--UNITER: UNiversal Image-TExt Representation Learning 文章目录 [预训练视觉-语言模型文 ...
- CBMI 2022 | 蒸馏细粒度对齐分数以实现高效的图文匹配和检索
CBMI 2022-<ALADIN>-蒸馏细粒度对齐分数以实现高效的图文匹配和检索 [写在前面] 在涉及视觉和语言的共同理解的任务中,图像-文本匹配正在发挥主导作用.此任务通常被用作预训练 ...
- 【文献阅读】将VQA视作元学习(Damien Teney等人,ECCV,2018)
一.背景 文章题目:<Visual Question Answering as a Meta Learning Task> ECCV2018的一篇文章.元学习和VQA的结合,非常值得关注. ...
- 文献阅读_Document-Level Event Argument Extraction by Conditional Generation
前言 小白读论文 文献阅读汇总 Proceedings of the 2021 Conference of the North American Chapter of the Association ...
- 文献阅读High-throughput sequencing of the transcriptome and chromatin accessibility in the same cell
文献阅读汇报 High-throughput sequencing of the transcriptome and chromatin accessibility in the same cell ...
- 细胞亚器文献阅读二~An ER-Mitochondria Tethering Complex Revealed by a Synthetic Biology Screen
细胞亚器文献阅读二~An ER-Mitochondria Tethering Complex Revealed by a Synthetic Biology Screen 通过合成生物学筛选ER和Mi ...
- 【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)
[预训练视觉-语言模型文献阅读]VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020) 文章目录 ...
最新文章
- Linux系统中的Page cache和Buffer cache
- i春秋30强挑战赛pwn解题过程
- BoW词袋模型Bag of Words cpp实现(stable version 0.01)
- java图形界面应用程序(转)
- 为什么重写equals()和hashcode()
- [MyBatis]DAO层只写接口,不用写实现类
- 全系统翻译 macOS Monterey这个新功能简直了
- dataframe scala 修改值_python – 使用Scala的API替换DataFrame的值
- C# if---else---练习题整理
- 【IDEA】idea 运行测试类报错 Failed to resolve org.junit.platform:junit-platform-launcher:1.5.2
- windows10安装虚拟机virtualbox详细步骤
- 文本语音阅读器——Python简单实现
- NISP证书换取CISP证书需要哪些条件?
- GitHub与微信开启“秘密扫描”计划,来确保数据安全
- Sentinel-2(哨兵-2)L1C数据辐亮度(辐射定标)和TOA反射率的获取说明
- vnpy量化回测怎么做?一文带你了解
- WireGuard 全互联模式终极指南(上)!
- 参数传递是什么?参数传递的是什么?
- 文档编辑之markdown语法(typora)
- java 合并pdf报错,[Java教程]java合并PDF文件
热门文章
- 设计模式(三)—— 装饰者模式
- 荧光标记肽(Arg)9, FAM-labeled
- iTunes升级 如何获取app stores 应用连接
- MS iCraft Z790ITX WIFI 电脑 Hackintosh 黑苹果efi引导文件
- 常用的虚拟机软件有哪些?linux操作系统基础
- 【python与数据分析】实验十四 北京市空气质量回归分析
- cs七龙珠怎么添加机器人_cs七龙珠怎么添加机器人_怎么调能让CS龙珠版2.1的机器人笨一点?...
- V神是谁?他是以太坊创始人,是区块链界的真正大佬
- java实现RGB调色板
- 用项目管理的方法管理考研