Preserving Semantic Neighborhoods for RobustCross-modal Retrieval
1 Introduction
现存的的跨模态检索方法依赖于各种度量学习损失,这些损失规定了图像和文本在学习空间中的接近程度。然而,大多数先前的方法都集中在图像和文本传达冗余信息的情况下;相比之下,现实世界的图像-文本对传达的互补信息几乎没有重叠。此外,新闻文章和媒体中的图像以视觉上多样化的方式描绘主题;因此,需要特别注意以确保有意义的图像表示。本文提出了新的模态内损失,促使文本和图像子空间中的语义一致性,但是不一定与视觉一致性保持一致。本文的方法不仅确保配对的图像和文本接近,而且还观察到预期的图像-图像和文本-文本关系。与五个基线相比,本文的方法改进了四个数据集的跨模态检索结果。
如图所示。像COCO这样的标题数据集包含图像和文本重叠显著的样本(图像和文本都提到或显示相同的对象)。在这种情况下,跨模态检索意味着在两种模式中找到单一概念的表现(例如学习嵌入,使单词“香蕉”和“香蕉”的像素在学习空间中靠近)。
相比之下,现实世界的新闻文章包含了具有相同主题的图像和文本对,但显示了互补的信息(抗议标志vs关于特定事件的信息;枪支与权利讨论;彩虹旗vsLGBT权利)。虽然人类仍然可以猜出哪些图像与文本一致,但图像和文本之间的对齐是抽象的和象征性的。此外,新闻文章中的图像被孤立地显得模棱两可。
![image-20211219202710250](https://i-blog.csdnimg.cn/blog_migrate/eff30a9b1eeed1c012b329e0ff77ad94.png)
2 Method
![image-20211219202628180](https://i-blog.csdnimg.cn/blog_migrate/c811f902529b335ccf7a2002e3fc7c22.png)
设 D = { I , T } D=\{I,T\} D={I,T}为一个文本对, I = { x 1 , x 2 , . . . , x n } , T = { y 1 , y 2 , . . . , , y n } I=\{x_1,x_2,...,x_n\},T=\{y_1,y_2,...,,y_n\} I={x1,x2,...,xn},T={y1,y2,...,,yn}。
在训练时,期望检索一个给定输入图像的真值对应的文本,反之亦然。一种常见的技术是Triplet Loss,它假定成对的样本应该比非成对的样本更接近彼此。设 T = ( x i a , y i p , y j n ) T=(x_i^a,y_i^p,y_j^n) T=(xia,yip,yjn)表示有锚点 ( a ) (a) (a),正对 ( p ) (p) (p),负对 ( n ) (n) (n):
![image-20211219203512438](https://i-blog.csdnimg.cn/blog_migrate/eb9062afc9c31857eb2b74a8409a2d79.png)
这种损失可能是跨模态检索任务中最常见的一种,但也有一些缺陷。例如,triplet loss的梯度wrt,每一点只考虑两点,而忽略了它们与第三点的关系,如:
![image-20211219203657300](https://i-blog.csdnimg.cn/blog_migrate/8c49d481faebc08e9ca8833529e4f3ff.png)
所以Angular Loss考虑了所有三个点的角关系:
![image-20211219203751638](https://i-blog.csdnimg.cn/blog_migrate/7fa37a88d52f437e9f622cee63a91ca3.png)
其中 C i = ( x i a + y i p ) / 2 C_i=(x_i^a+y_i^p)/2 Ci=(xia+yip)/2,为以锚点和正对的圆的中心。
这些损失的一个具有挑战性的方面是在三组中选择一个好的负项。如果负值离锚点太远,损失将变为0,没有学习发生。相反,如果负极选择得太近,模型可能难以收敛到一个合理的解决方案,因为它不断地试图移动样本,以避免与负极重叠。所以又有N-Pair Loss:
![image-20211219204021374](https://i-blog.csdnimg.cn/blog_migrate/3598edf14b96e19a9929c92422fa8d88.png)
对称约束也可以添加来显式地解释双向检索,即文本到图像,通过交换图像和文本的作用来形成对称的三联体:
![image-20211219204059052](https://i-blog.csdnimg.cn/blog_migrate/2d4f94db3b8ae260ccdcb3223853bdea.png)
本文在上述工作的基础上,制定了两个损失函数来加强模态内语义局部性。第一个,Text Loss,用来强制文本投影的局部性:
![image-20211219204233712](https://i-blog.csdnimg.cn/blog_migrate/9401fbba136b085fcbd5a329f1d3ee77.png)
同样的对于图像模态:
![image-20211219204305194](https://i-blog.csdnimg.cn/blog_migrate/8a84650487ec56889bfe9b2d470ad41f.png)
最后,再添加一个如式(4)的对称损失,给予权衡参数,得到:
![image-20211219204510682](https://i-blog.csdnimg.cn/blog_migrate/22f3eccaef5ddebfe1d55f703224c078.png)
3 Conclusion
![image-20211219204611790](https://i-blog.csdnimg.cn/blog_migrate/3567e6d0e3ad9c8e11d9d8640924beb3.png)
由图所示,将此损失施加在PVSE模型上进行跨模态检索,效果相比之前有略微提升,如果通过调参可能能得到更好的收益。本损失可以作为一个基本模块加入框架之中,增加框架的完备性。但迁移到哈希模态的实验还没有进行,准备下周开始编写代码实验。