从多篇2021年顶会论文看多模态预训练模型最新研究进展

299ad4df36e941ef33911dad945a52f8.gif

©PaperWeekly 原创 · 作者 | 小马

单位 | FightingCV公众号运营者

研究方向 | 计算机视觉

8905d8c25c969b6c7c060aa1fb70eaed.png

背景

1.1.什么是预训练

目前随着数据量爆炸式的增长,靠人工去标注更多数据是非常昂贵,并且也不太现实的。因此预训练的方式就出现了,也逐渐成为了一种主流的方法。那到底什么是预训练呢?简单地说,预训练就是:“使用尽可能多的训练数据,从中提取出尽可能多的共性特征,从而能让模型对特定任务的学习负担变轻。”

预训练将学习分成了两步:

1)首先将大量低成本收集的训练数据放在一起,经过某种预训方法去学习其中的共性知识

2)然后,再使用相关特定域的少量标注数据进行微调,模型就可以从共性知识出发,学习这些特定领域数据的特性知识

893284dcf4daf3da5fccd43fbd1ea2ea.png

举个例子,如上图所示,比如我们要学习“英文法律文书关键词提取”这个任务,最直接的方法就是 A 中的学习步骤一样,直接从这些已经标注好的英文法律文书关键词的数据集上进行学习,这也就是深度学习里面最常见的一种学习方法——监督学习 ;还有一种方法就是,我们先在大量不需要标注的英文资料和法律资料上进行学习,然后再在标注好的“英文法律文书关键词”数据集上进行学习,由于我们在学习大量英文资料和法律资料的时候已经具备了一定的知识基础,所以在学习特定任务的时候就会有更高的效率,这就是“预训练+微调”的思路。通常情况下,“预训练+微调”的方法能够比传统监督学习的方法具有更快的拟合速度和更高的性能上限

1.2 NLP 单模态预训练

9ae5526925edc4d44f2d7f8965c5b911.png

在多模态预训练模型出现之前,预训练首先是在 NLP 中出现的,上图展示了 NLP 任务中预训练近几年的发展。因为过去几年,文字数据是非常多的,所以不少研究者爬取了大规模的本文数据,基于这些大规模的文本数据,用一些简单的预训练任务进行预训练,然后在下游任务上进行微调,实现了非常好的效果。

下面简单的介绍一个 NLP 预训练中比较经典的模型——BERT:

c4ddbfbbf73e77f3efff776642dddc5a.png

1384f9963bf84c44ce84f42f6870e6e5.png

Token Embedding:对输入的句子采用 WordPiece embeddings 之后的结果。

Segment Embedding:相邻句子采用不同的标志分隔,形如 111111111100000011111100000。

Position Embedding:Transformer 中的绝对位置编码,赋予句子中每个单词位置信息。

BERT 的结构如上图所示,首先就是将三类 embedding 的结果进行相加得到输入,然后利用基于 Transformer 的结构对输入的特征进行建模。在预训练过程中,主要执行两个任务:

1)Mask LM :在选择 mask 的 15% 的词当中,80% 情况下使用 mask 掉这个词,10% 情况下采用一个任意词替换,剩余 10% 情况下保持原词汇不变。MLM 的任务就是去预测这些被 mask 的词,这个任务让模型学习了单词之间的建模

2)NSP (Next Sentence Prediction ) :它将训练语料分为两类,一是将 50% 语料构建成正常语序的句子对,比如对于 A-B 句子对,B 就是 A 的实际下一个句子,那么标记为 isnext;二是将 50% 语料构建成非正常语序句子对,B 是来自语料库的随机句子,标记为 notnext。然后模型预测 B 到底是不是 A 句子的下一个句子,使模型具有句子级别的识别能力

通过这两个预训练任务,模型可以学习到语言领域上的一些通用知识,因此可以促进 NLP 领域下游任务的训练。

1.3 CV 单模态预训练

358009122bf200b441200b9389dd8ded.png

CV 领域中,和“微调+预训练”模式比较接近的方法,应该就是对比学习。对比学习同样用的是没有标注的数据,也就是说数据集里只有图片而没有标签。对比学习的目标是学习一个编码器,此编码器对同类数据进行相似的编码,并使不同类的数据的编码结果尽可能的不同 。也就是说对比学习本质上其实就是用了聚类的思想:缩小与正样本间的距离,扩大与负样本间的距离 。如下面的公式所示:

a42fd6ebc8918ef229f9462606e83a55.png

其中   代表样本之间的距离。

b25fdd9d5a56f34354a551b162711b35.gif

现在就能把问题转换成了,如何构建正负样本的问题。如上图所示,大多数都是通过数据增强的方法来创建正负样本的,即,同一张图片进行不同数据增强方法得到样本就是正样本,不同图片数据增强得到的样本就是负样本,然后根据上面聚类的思想来进行训练。因此,大部分对比学习的 pipeline 都如下图所示:

626135da056af7a1e50ba0a68d4d4c15.png

1.4 多模态预训练

在多模态领域中,由于高质量的多模态标注数据较少,所以这几年也出现了基于 Transformer 结构的多模态预训练模型,通过海量无标注数据进行预训练,然后使用少量的标注数据进行微调即可。

多模态预训练模型能够通过在大规模数据上的预训练学到不同模态之间的语义对应关系,比如对齐文本形式的“狗”和图片中的“狗”的语义信息。

c36dedc0848f7dfcbffa486517258480.png

目前的多模态预训练模型按照网络的结构分类,大致可以分为两类,第一类为单流(single-stream)模型 ,第二类为双流(two-stream)模型 。如上图所示,单流模型中,视觉特征和文本特征一开始就 concat 在一起,然后直接输入到 Encoder 中;双流模型就是将视觉特征和文本特征首先在两个独立的 Encoder 中进行编码,然后再输入到 cross

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值