VinVL: Revisiting Visual Representations in Vision-Language Models
老样子边看边写的
这篇是Oscar班子的续作,从另一个角度优化了VLP,提出了VinVL,提出了Oscar+
吐槽:不知道是这个组还是MS的文风啊。。
科普:
Visual Genome:https://zhuanlan.zhihu.com/p/102403048
class-aware sampling: https://blog.csdn.net/m0_45388819/article/details/110099852
整体思路:
都研究模态融合,我研究视觉提取——更强的检测器(both 数据集 and 结构优化)提取richer的目标和属性——改结构提升NMS效率以适应更多的信息
几个词有点乱按我的理解记录一下:
VinVL:指新提出的视觉语义提取方法,有时也做整体模型(Oscar+VinVL)的缩写
Oscar+:整体的模型,指用VinVL替换原Oscar的视觉提取部分,并在更大的数据集上进行预训练
Abstract&Conclusion:
对象:vision language task(VL)中针对图像表示这块,现在的工作太多关注fusion,我们反其道
贡献:改进了一个以目标为核心(object-centric)的图像表示模型
表现:七个benchmarks第一
消融:类别的多样性,视觉属性的训练,训练数据规模,模型大小,模型结构做出了贡献
1 Introduction
VLP分为两部分:一个目标检测器负责图片和目标编码为特征向量。一个跨模态融合器负责混合图文信息。现在研究多针对融合部分,故本文探索目标检测部分。
当前主流的Objection detection(OD)模型是Bottom-up and Top-down那片,他是在Genome dataset训练的。
我们基于ResNeXt-152C4结构搭建了大规模目标属性检测模型。
相比主流模型有着1.更针对VL任务 2. 更大 3.训练数据更多的特点
Table1 描述了用我们的方法替换了视觉特征后诸模型的改进
Figure1意在表明和其他的经典OD模型相比(X152-FPN),我们的模型可以编码更多的目标和概念(下图含1848目标类和524条属性)
这里提出了Oscar+:Oscar的图像提取部分换成新提出的VinVL方法+预训练使用8.85m图文对。对下游任务上fine-tune模型后,都获得了不小的提升
子任务包括:VQA, GQA, NLVR2, COCO text-image retrieval, COCO image capition, NoCaps
Contribution:
1.visual features matter in VL models (black life matters)
2. developed a new object detection model
3. We provide a detailed ablation study
2 Improving Vision (V) in Vision Language (VL)
基于深度学习VL模型一般由视觉理解模型V和跨模态理解模型VL构成,作者以IO的形式整理如下
其中:
q为语义形式的图像表达(e.g. tags,objects),
v为图像在高层空间的分布表示(e.g. box or regiona),
w为或存在的查询信息(e.g.VQA的问题,text-image retrieval的句子),
y为‘回答’(e.g. VQA的回答,text-image retrieval的匹配分数,image caption的caption)
一般的模型输入只有图像信息Img,顺道夸了一波Oscar
近期VLP的研究更多的关心了VL而对于Vision的研究却止步不前,在目标检测领域有以下的进展1. 更大的dataset 2. new insights 3. GPU可支持更大的模型
我们的提出的新的OD模型主要改进为丰富视觉对象和属性类,扩大模型大小以及在更大的dataset上训练。
2.1 Object Detection Pre-training
因为大多数据库没有属性标注,我们遵循pre-training and fine-tune的步骤,首先在四个公开数据集上pre-training,再在Visual Genome上fine-tune属性支
Data.
数据集之间差异比较大,所以按照以下步骤做了一个组合:
1. 对OpenImages和Object365做了一个类显著?(class-aware)的采样保证每类至少有2000张,采出了2.2M张和0.8M张
2. 平衡所有数据集到2.2M张
3. 以VG的词汇和别名作为基础词库,其他三个作为补充
4. 经过3步骤后,形成了总共1848类
Model Architecture (FPN vs C4).
Although有论文指出FPN比C4好,但对于VL task C4的特征更有效,实验发现原因在于:1. C4的特征提取层都是在ImageNet预训练的 2.CNN的结构(a better inductive bias)比MLP的结构在编码视觉信息方面更好
Model Pre-Training.(懒
Following the common practice in object detection training, we freeze the first convolution layer, the first residual block, and all the batch-norm layers. We also use several data augmentation methods, including horizontal flipping and multi-scale training. To train a detection model with the X152-C4 architecture, we initialize the model backbone from an ImageNet-5K checkpoint [40] and train for 1.8M iterations with a batch size of 16 images.
2.2 Injecting attribute information into the model
参考Bottom-up and top-down给预训练OD模型添加了属性分支,然后在VG上fine-tune了模型。因为目标表示部分已经在目标检测阶段预训练过了,所以fine-tune的时候对属性的loss给的大(1.25 compared to 0.5),在对VG的目标和属性检测中显著高于了先前的模型。
2.3 Efficient region feature extractor for VL tasks
在强大的提取器面前,class-aware NMS显得效率太低了,实现了不损失精度下的效率提升,改动如下:
1. 用class-agnostic NMS替换了class-aware NMS
2. 把Bottom-up and top-down中dilation=2的卷积层的dilation去掉了
从上文IO的角度,预训练目标检测模型扮演V的角色,其输出q为检测目标名,v((v^, z)为区域特征v^为P-D(P=2048)特征向量, z为R-D(R=6)位置向量
3 OSCAR+ Pre-training
3.1 Pre-training corpus
总数据量5.65m张图,8.85m个三位一体(Oscar那个),这里的字母应该也是沿用了Oscar的习惯即Word-Tag-Image triple(w,q,v)
字母含义:
image capition:w——人标注的caption,q——生成的标签
VQA:w——问题,q——人标注的答案
image tagging: w——生成的caption,q——人标注的tag
3.2 Pre-training Objectives
(行文顺序略有变动)
根据任务的不同L_CL3涉及了两种训练样本
整体的损失函数
(在附录,摘录至此,为Oscar的指标未改)
L_CL3 is a novel 3-way Contrastive Loss. 首先按三分类问题处理,设计了这个损失
分别污染caption和answer,构造了(w',q,v) for caption 和(w,q',v) for VQA两种负样本
这里将[CLS]token作为(w,q,v)来看待,那么就出现了三种样本1.匹配样本([CLS],c=0)2.caption污染(c=1) 3.answer污染(c=2)。使用FC层进行三分类
三种样本的比例分别为50% c=0,25%c=1or2
我们的loss在针对污染数据在不同的任务下表现都较好(对下游任务泛化强?没懂)
3.3 Pre-trained models
4 Adapting to VL Tasks(略)
5 Experiments & Analysis
5.1 Main Results
定义了个几个state-of-the-art
SoTAs: 小模型在基于 Transformer 的 VLP 模型之前实现的最佳性能。
SoTAb:与 BERT base 大小相似的 VLP 模型实现的最佳性能
SoTAL:大小与 BERT large 相似的模型产生的最佳性能。其实to the best of our knowledge只有UNITER
这边表太多了就不贴了,简单列个表:
任务 | 表现 |
VQA | 干掉了20年底的best ensemble model |
GQA | 第一个超越neural state machine的VLP模型 |
Image Caption | No.1 |
NoCaps | vanilla在CIDEr超越人类;提升VIVO六个CIDEr |
整体上Oscar+的基础模型可以比肩或超越SOTA,Oscar+的lager模型基本都提升了SOTA
5.2 Ablation Analysis
选择用VQA任务来做消融,建立了vqa-dev集采样了2k张图和10.4k imgae-QA pairs。继续这篇文章的主题——研究V对VL的影响其他变量控制为tag——Oscar,model——BERT-base size。
第一组:How much do the V and VL matter to the SoTA?
结果:以Oscar_B+R101-C4作为baseline——OSCAR+ pre-training contributes 5%,vision pre-training (improved visual features) 95%
以no VLP+R101-C4作为baseline——VinVL和VLP的贡献是加和(additive)的(74.90-68.52≈2.82+3.94)。这个证明了VinVL的可推广性
第二组:How much do data and model sizes matter to the new vision model?
表12实际上设计到了数据量的增加,表13对这部分增量继续进行了拆解
结果:VG拥有大量的目标和属性可以学习到丰富的语义概念但缺少用于训练深度模型的大量标注信息。
第三组:How much does OD model architecture matter?
附录的表,简单摘录,原因前文提到过
第四组:How much does OD pre-training matter for object detection tasks?
结果:OD的预训练有助于目标检测
第五组:How much does the diversity of visual concepts, i.e., object and attribute vocabularies, matter?
后四列OD模型,
结果:目标要多,要有属性,要预训练
1.In general, vocabularies with richer objects lead to better VQA results,一些涉及到’景‘的概念很重要,天空,水,山脉 etc.
2.Attribute information is crucial to VL tasks:
3.vision pre-training improves visual features for VQA
下面开展了对区域的研究
结果:有一个取舍问题,GT之类的框位置准但是框的东西少,基于VG-trained的模型框的位置不准但是框的多。作者强调VL领域的OD task不同于经典的OD task需要更多的视觉语义信息去和(丰富得多的)语言语义信息去对齐。并再次证明了V的部分训练时需要尽可能多的词。