百度UNIMO模型--统一模态理解、跨模态对比学习

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有如下优点:

  1. 利用了大规模的不成对的(单独的)文本、图片数据。
  2. 我们的模型可以在单模和多模的下游任务,包括理解和生成任务,进行微调(fine-tuned)。
  3. 视觉和文本知识可以彼此增强,比其他模型表现更好。

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效果也较好

猜你喜欢

转载自blog.csdn.net/zephyr_wang/article/details/130871673
今日推荐