【论文笔记】再读 UNITER:表征学习通用模型预训练,弥合图文语义鸿沟

940 阅读5分钟

这是我参与2022首次更文挑战的第16天,活动详情查看:2022首次更文挑战

本文发表于 ECCV 2020,第一作者 Yen-Chun Chen 来自微软 。
原文链接:UNITER: UNiversal Image-TExt Representation Learning

Preface

第一次读本文的时候刚开始接触深度学习,总共没看过两篇文章,所以当时看得懵懵懂懂,以至于现在也完全不记得文章内容了。现在又看了几篇文章,感觉稍微进步了一些,所以回过头再读一遍,顺便写一篇阅读笔记,便于积累与分享。

Motivation

过去一段时间 vision and language (V+L) 领域涌现出大量的模型,在各个领域中(如 Visual Question Answering、Image Captioning 等)不断刷新 SOTA,但是这些模型都是专门为了某一种任务而设计,与任务本身高度相关。作者希望能学习一种通用的图像-文本表示,可以用于所有的 V+L 任务。

Model

模型结构比较简单,作者设计了基于 Transformer 的模型架构,将 faster-RCNN 提取出的视觉信息(视觉特征和边界框)和文本信息(文本 tokens 和位置编码)编码到公共嵌入空间中作为 Transformer 的输入,整体结构如下:

image.png

Pre-training

作者通过四个预训练任务对 UNITER 进行预训练,分别是:

  • 面向图像的 Masked Language Modeling (MLM)。
  • 面向文本的 Masked Region Modeling (MRM)。为了进一步研究MRM的有效性,作者又提出了三种 MRM 变体:Masked Region Classification (MRC)、Masked Region Feature Regression (MRFR)、Masked Region Classification with KL-divergence (MRC-kl);
  • Image-Text Matching (ITM);
  • Word-Region Alignment (WRA)。

image.png

Masked Language Modeling

类似于 BERT 中的 MLM,从输入中以15%的概率随机 MASK 一些单词,并学习恢复单词作为 Transformer 的输出。通过周围单词和所有图像区域来预测屏蔽词。所用 loss 为 negative log-likelihood:

image.png

作者将 MLM 与 MRM 分开,每次只随机屏蔽一个模态的单词或区域,以防屏蔽的单词刚好描述了屏蔽的区域进而对模态间的语义对齐产生影响。

Masked Region Modeling

与 MLM 类似,以15%概率屏蔽输入的区域特征,模型被训练依靠剩余的区域特征和所有 tokens 来预测被屏蔽的区域,但与 tokens 预测不同的是,图像特征是高维、连续的,作者在此设计了三种不同的变体,但损失函数是一致的:

image.png

Masked Region Feature Regression (MRFR):作者将 Transformer 的输出投影至与输入 ROI 特征一致的维度,通过预测视觉特征进行回归。

Masked Region Classification (MRC):掩蔽区域分类预测,由于物体类别 ground truth,作者利用 fast-RCNN 给检测到的对象加标签。

Masked Region Classification with KL-Divergence (MRC-kl):分类任务中输出的各种类别的概率分布,用 KL 散度来刻画与真实值(自监督得到的伪真实值)的差异。

Image-Text Matching

ITM 的输入是一个句子和一组图像区域,输出为句子和图像区域是否匹配(0/1),用二元交叉熵 loss 来优化:

image.png

Word-Region Alignment

为了在单词标记和图像区域之间提供更细粒度的对齐,作者提出了 WRA,使用 Optimal Transport (OT) ,有效地计算了将上下文化图像嵌入传输到单词嵌入(以及反过来)的最小成本。损失函数:

image.png

Datasets

作者用了当前最大的4个 image captions 数据集进行预训练,分别是 COCO、VG dense captions、Conceptual captions 和 SBU captions。

Experiments

作者将预训练的模型迁移到目标任务,通过微调在6个 V+L 下游任务上测试 UNITER 的性能;并针对4个预训练任务及其变体在不同数据集和不同下游任务上进行了消融实验。

Downstream Tasks

  • Visual Question Answering:输入图像和文本问题,输出答案的分布,选取概率最高的答案作为预测结果,loss 选用 binary cross-entropy。

  • Visual Entailment:输入图像和文本描述,输出文本是否正确描述图像 { Entailment/Neutral/Contradiction },类似于雅思阅读的{ T/F/NG (Not Given) },用 cross-entropy 作为 loss。

  • Natural Language for Visual Reasoning:输入两张图像和一个文本描述,目标是预测描述和图像的对应关系 { T/F }。UNITER 的输入还是一个图片和一个文本序列,作者把文本重复一遍,用两个 UNITER ,在经过一个 Bi-Attention,得到预测结果。作者展示了 UNITER 的可扩展性,即经过稍微的改动就能适应一个完全不同的下游任务。

image.png

  • Visual Commensense Reasoning:类似于阅读理解,有四个选项,作者通过四个 UNITER 分别预测四个选项的概率,用 cross-entropy 作为 loss。

image.png

  • Referring Expression Comprehension:输入是一个句子,模型要指出图片中对应的区域。对每一个区域都输出一个得分,得分最高的最为预测结果。

  • Image-Text Retrieval:用一个 UNITER 来预测输入的图文对是否匹配。

Performance

UNITER-large 在这些下游任务中都达到了 SOTA。

image.png

Ablation Study

作者发现了以下几个结论:

  • 预训练的比不预训练的好;
  • V+L 预训练的比 V/L 单独预训练的好;
  • 最佳组合:MLM+ITM+MRC-kl+MRFR+WRA
  • 数据越多,模型效果越好

image.png

Metrics

此外,作者使用了三个技巧来加速训练:

  • Dynamic Batching:Transformer 的复杂度与输入序列长度成平方相关,如果所有 batch 都以最长的序列为长度,浪费了很多计算空间。作者采用动态 batching,先对输入序列做一个排序,这样同一个 batch 中的序列长度相近,短的序列可以用短的 batch 来装载。
  • Gradient Accumulation:UNITER-large 的训练主要瓶颈来源于节点间的 network communication overhead,因此采用梯度累加减少 communication 次数。
  • Mixed-precision Training:同时用了 16-bit 和32-bit 节省了空间。

Summary

作者设计了一个为视觉与语言任务提供通用图像-文本表示的大规模预训练模型,结合四个预训练任务,在众多下游任务中达到了 SOTA。