1 简介
本文根据2022年3月百度的《UNIMO: Towards Unified-Modal Understanding and Generation via Cross-Modal Contrastive Learning 》翻译总结的。
git地址:https://unimo-ptm.github.io。
目前预训练模型仅使用单模态数据(文本或者图片),或者仅使用多模态数据(图片-文本对)。我们提出了UNIMO(UNIfied-MOdal ),可以同时使用单模态数据和多模态数据,在理解和生成任务。采用了跨模对比学习(cross-modal contrastive learning (CMCL) )。
统一不同模态的最大挑战是对齐和统一它们(不同模态数据)到相同的语义空间。我们采用CMCL方法将他们统一到相同语义空间,使用了图片数据、文本数据、图片-文本对数据。
UNIMO有如下优点:
- 利用了大规模的不成对的(单独的)文本、图片数据。
- 我们的模型可以在单模和多模的下游任务,包括理解和生成任务,进行微调(fine-tuned)。
- 视觉和文本知识可以彼此增强,比其他模型表现更好。
2 UNIMO

如上图,使用了图片数据、文本数据、图片-文本对数据。
其中文本数据表示为:
图片表示为如下,有采用Faster R-CNN检测显著的图片区域,提取每个区域的视觉特征(pooled ROI features ):
图片-文本对数据表示为:
2.1 Cross-Modal Contrastive Learning
文本重写(Text Rewriting ):我们重写图片说明文字,从句子水平、短语水平、单词水平这3个角度进行重写。其中句子水平重写,利用反向翻译(back-translation )获得多个positive样本;同时利用TF-IDF相似性获得hard negative样本。对于短语水平、单词水平重写,随机替换图中的不同物体,如上图”in the room“
损失函数如下:
2.2 视觉学习
采用mask方法。公式如下:
2.3 语言学习
采用了两种类型,bidirectional prediction and sequence-to-sequence (Seq2Seq) generation. 在预训练阶段会交替使用这两种类型。
其中bidirectional方法也是采用mask方法,如下
Seq2Seq方法,从文本中选出一段文本T作为预测目标,剩下的文本为S,如下,通过S预测T:
3 实验
3.1 实验细节
UNIMO-base :12层Transformer block。训练花了7天,在32个V100 32GB GPU上。
UNIMO-large :24层Transformer block。训练花了10天,在64个V100 32GB GPU上。
文本最大长度512,图片区域特征长度为100.
3.2 实验结果
在多模态任务上,UNIMO效果较好
在单模态任务上,UNIMO效果也较好