FILIP(Fine-grained Interactive Language-Image Pretrain)是一种基于交互的细粒度图文预训练模型,用于解决图文双塔匹配模型中的细粒度匹配问题。本文对该论文进行阅读笔记。
前言
FILIP(Fine-grained Interactive Language-Image Pretrain)是一种基于交互的细粒度图文预训练模型,用于解决图文双塔匹配模型中的细粒度匹配问题。本文对该论文进行阅读笔记,如有谬误请联系指出,本文遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明并且联系笔者,谢谢。
e-mail: FesianXu@gmail.com
github: https://github.com/FesianXu
知乎专栏: 计算机视觉/计算机图形理论与应用
微信公众号:机器学习杂货铺3号店
FILIP [1] 提出是为了解决图文匹配中的细粒度匹配问题。我们之前在博文 [2] 中曾经讨论过,在图文双塔匹配中,由于需要对图片塔的向量提前进行刷库,一些长尾的,形态较小的物体可能会在训练过程中被忽略,导致图文匹配的时候缺少对细粒度匹配的能力。为了解决这个问题,我们需要提供模型以图片和文本在线交互(online interaction)的能力,将图片以某种形式提取出每个区域的信息(ROI Detector检测每个ROI区域,或者单纯的划分patch,如ViT所做的那样),然后将文本和图片每个区域进行交互,从而模型有能力挖掘出图片中的一些细粒度信息。以第一种方式为例,如Fig 1.1所示,如果采用ROI Detector首先对图片的ROI区域进行提取,如红框所示,通过对文本『黄色桌子上的小黄人』进行在线匹配,即可实现对场景中的小黄人的细粒度匹配。
当然,这个前提是有一个足够好的ROI detector,并且其计算复杂度的代价也很高,对于在线应用比如图片搜索来说是一个比较大的负担。FILIP用了一种比较直接,也比较聪明的方法实现在线交互,其方法就是『迟交互(Late Interaction)』,想办法尽可能把交互的操作后移,从而使得pipeline的前端结果可以刷库,减少在线交互的代价。
如Fig 1.2所示,FILIP的图片编码器是ViT [3-4],对输入图片进行简单的分块后,进行线性映射输入到Transformer中,其输出就是对应每个Image Patch的Embedding向量,文本侧同样采用Transformer,其输出就是每个token的embedding。如果用
我们发现这种对每个模态的token,求另外模态的最大相似度的方法,其实类似于Fig 1.1中的交互方法,只是其没有采用ROI的方式进行匹配,而是以图片patch和文本token依次匹配的方式,如Fig 1.3所示,显然这种方式同样可以实现细粒度的图文匹配。在线上应用时候,需要对每张图片都进行刷特征并且存入正排库,刷特征的时候需要对图片每个patch的特征都进行落盘,以便在线上进行交互时候使用。如公式(1-3)所示,线上交互时可以计算
作者采用了Prompt Learning的方式,对数据集采用了Prompt模版的优化,本文就不展开了。在论文中作者对图文细粒度匹配的结果进行了可视化,如Fig 1.4所示,此处的label分别为“Balloon(气球)”,"Lifeboat(救生艇)",“Small white butterfly(小白蝶)”,“Electric Iocomotive(电力机车)”,而label后面的数字表示label的某位单词在label模版中的位置。举个例子,此处的模版为
Label模版:a photo of a {label}
当label为"Small white butterfly"的时候,label模版即为“a photo of a small white butterfly”,small在该模版中的第5位,white在第6位而butterfly在第7位。按照前文描述的交互方式,我们求出每个图片patch与label模版单词,其中的最大相似度匹配的模版位置ID,然后将这些位置ID中为label位置ID的进行高亮,这样就绘制出了如Fig 1.4所示的结果。我们可以发现这些label物体有些是非常细粒度的,如气球在原图中的视觉占比非常小,CLIP的结果和我们预期的一致,压根没有对这种细粒度物体进行响应。而FILIP的结果则能对图中patch中有气球部分的进行响应。FILIP不仅能对细粒度物体进行响应,对于大物体同样效果不俗,如Fig 1.4(c)所示,这个蝴蝶占据了大半个图片,此时FILIP匹配效果同样能够超过CLIP。
Reference
[1]. Yao, Lewei, Runhui Huang, Lu Hou, Guansong Lu, Minzhe Niu, Hang Xu, Xiaodan Liang, Zhenguo Li, Xin Jiang, and Chunjing Xu. "Filip: Fine-grained interactive language-image pre-training." arXiv preprint arXiv:2111.07783 (2021).
[2]. https://blog.csdn.net/LoseInVain/article/details/122735603, 图文多模态语义融合前的语义对齐——一种单双混合塔多模态模型
[3]. https://blog.csdn.net/LoseInVain/article/details/116031656,将Transformer用在图片上:Vision Transformer论文杂谈
[4]. Dosovitskiy, Alexey, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani et al. “An image is worth 16x16 words: Transformers for image recognition at scale.” arXiv preprint arXiv:2010.11929 (2020).