X-VLM: Multi-Grained Vision Language Pre-Training

Contents

  • Introduction
  • Method
  • Experiment
  • References

Introduction

  • 大部分 VLM (Visual-Language Model) 依赖于目标检测模型抽取视觉特征,因此会难以学得多个物体间的关系。为了解决上述问题,作者提出了端到端的多模态模型 X-VLM 来进行 “multi-grained vision language pre-training” (align the text with fine-grained (object-centric) features + learn alignments between the texts and coarse-grained (overall) features of the image). 例如在下图中,数据集包含 image caption、region annotations such as “man wearing backpack”、object labels such as “backpack”
    X-VLM: Multi-Grained Vision Language Pre-Training_第1张图片

Method

  • Overview: X-VLM 由 image encoder I t r a n s I_{trans} Itrans (swin transformer), text encoder T t r a n s T_{trans} Ttrans (6-layer transformer; 由 BERT base 的前 6 层初始化) 和 cross-modal encoder X t r a n s X_{trans} Xtrans (6-layer transformer; 由 BERT base 的后 6 层初始化) 组成,所有 encoders 均为 Transformer. 同时,X-VLM 更充分地利用了预训练数据集中的物体检测框信息,每个样本可以表示为 ( I , T , { ( V j , T j ) } N ) (I,T,\{(V^j,T^j)\}^N) (I,T,{(Vj,Tj)}N),其中 I I I 为 image, T T T 为 text, { ( V j , T j ) } N \{(V^j,T^j)\}^N {(Vj,Tj)}N 为图片中 N N N 个 bbox 的图像和文本信息 (对于某些样本而言,可能有 T = NaN T=\text{NaN} T=NaN,即图像没有描述文本,或 N = 0 N=0 N=0,即没有物体检测框信息)
  • Vision Encoding: I t r a n s I_{trans} Itrans 为 Swin transformer. 对于 224 × 224 224\times224 224×224 的输入图像 (预训练时图像尺寸为 224 × 224 224\times224 224×224,微调时图像尺寸为 384 × 384 384\times384 384×384),patch 大小为 32 × 32 32\times32 32×32 时, I t r a n s I_{trans} Itrans 输出为 { v 1 , . . . , v N I } \{v_1,...,v_{N^I}\} {v1,...,vNI} ( N I = 49 N^I=49 NI=49),其中 v p i v_{p_i} vpi 编码了 patch p i p_i pi 的视觉信息。因此对于视觉对象 V j V^j Vj (object, region, or the image) 而言,它的视觉编码为 I t r a n s ( V j ) = { v c l s j , v p 1 j , . . . , v p M j } I_{trans}(V^j)=\{v_{cls}^j,v_{p_1^j},...,v_{p_M^j}\} Itrans(Vj)={vclsj,vp1j,...,vpMj} ( j ∈ [ 0 , N ] j\in[0,N] j[0,N]),其中 p 1 j , . . . , p M j p_1^j,...,p_M^j p1j,...,pMj V j V^j Vj 包含的 M M M 个 patch, v c l s j v_{cls}^j vclsj v p 1 j , . . . , v p M j v_{p_1^j},...,v_{p_M^j} vp1j,...,vpMj 的均值,代表 V j V^j Vj 整体的视觉特征。对于整张图像而言, I t r a n s I_{trans} Itrans 可以编码出 N + 1 N+1 N+1 个视觉对象,包括 N N N 个 bbox V 1 , . . . , V N V^1,...,V^N V1,...,VN 和整张图像 I = V 0 I=V^0 I=V0
    X-VLM: Multi-Grained Vision Language Pre-Training_第2张图片
  • Cross-Modal Modeling:
    在这里插入图片描述
    • Bounding Box Prediction: 作者让模型根据图像 I I I V j V^j Vj 对应的文本描述 T j T^j Tj 去预测 V j V^j Vj 对应 bbox b j b^j bj 的位置,这可以帮助模型更好地进行跨模态细粒度语义对齐
      在这里插入图片描述其中,Sigmoid 是用于输出归一化的 bbox 坐标, x c l s j x_{cls}^j xclsj 为 cross-modal encoder 输入 I , T j I,T^j I,Tj 后输出的 [CLS] 对应的特征向量
      X-VLM: Multi-Grained Vision Language Pre-Training_第3张图片损失函数采用 L1 损失 (scale-variant) 和 generalized IoU loss (scale-invariant) 之和
      在这里插入图片描述
    • Contrastive Learning: 和 CLIP 类似,X-VLM 也使用了对比损失。随机采样 N N N 个图像文本对 (1 个 batch),可以计算如下的 in-batch vision-to-text similarity
      在这里插入图片描述其中, ( V , T ) (V,T) (V,T) 为正样本, V V V 和同一 batch 内的其他文本 T i T^i Ti 组成 N − 1 N-1 N1 个负样本。 s ( V , T ) = g v ( v c l s ) T g w ( w c l s ) s(V,T)=g_v(v_{cls})^Tg_w(w_{cls}) s(V,T)=gv(vcls)Tgw(wcls) 为余弦相似度, v c l s , w c l s v_{cls},w_{cls} vcls,wcls 分别为 V V V T T T 的 [CLS] 对应的输出, g v , g w g_v,g_w gv,gw 分别将 v c l s , w c l s v_{cls},w_{cls} vcls,wcls 变换为低维的归一化特征表示。类似地,text-to-vision similarity
      在这里插入图片描述损失函数
      在这里插入图片描述其中, y v 2 t ( V ) , y t 2 v ( T ) y^{v2t}(V),y^{t2v}(T) yv2t(V),yt2v(T) 为 ground-truth one-hot similarity (only the positive pair has the probability of one), H H H 为交叉熵损失
    • Matching Prediction:对于每个 V V V,根据 in-batch vision-to-text similarity p v 2 t ( V ) p^{v2t}(V) pv2t(V) 从 batch 内采样出一个 in-batch hard negative text,与 V V V 更相近的 text 被采样的几率更大;同理,对于每个 T T T,也采样出一个 in-batch hard negative visual concept,由此得到 N N N 个正样本和 2 N 2N 2N 个负样本。损失函数为交叉熵损失
      在这里插入图片描述其中, p m a t c h p^{match} pmatch 为模型预测的匹配概率
    • Masked Language Modeling:随机 mask 25% 的文本,其中 10% 替换为随机 token,10% 不变,80% 替换为 [MASK],然后使用 cross-modal encoder 的输出加上线性层和 Softmax 重构 mask 掉的 token. 损失函数
      在这里插入图片描述其中, T ^ \hat T T^ 为 masked text, p j ( V , T ^ ) p^j(V,\hat T) pj(V,T^) 为 masked token t j t_j tj 的预测概率
      X-VLM: Multi-Grained Vision Language Pre-Training_第4张图片

Experiment

Pre-training Datasets

  • 为了便于比较,X-VLM 准备了 2 种预训练数据集设置 (4M / 16M),其中 Ann(otations) 为图片的 object annotations 和 region annotations
    X-VLM: Multi-Grained Vision Language Pre-Training_第5张图片

Image-Text Retrieval

X-VLM: Multi-Grained Vision Language Pre-Training_第6张图片

Visual Question Answering, Natural Language for Visual Reasoning (NLVR2), Visual Grounding, Image Captioning

X-VLM: Multi-Grained Vision Language Pre-Training_第7张图片

References

  • paper: Zeng, Yan, Xinsong Zhang, and Hang Li. “Multi-Grained Vision Language Pre-Training: Aligning Texts with Visual Concepts.” (ICML 2022).
  • code: https://github.com/zengyan-97/X-VLM

你可能感兴趣的:(#,多模态,计算机视觉,深度学习,人工智能)