Pre-Training Tasks

1015汇报

1、补充知识

1.1transformer(http://t.csdn.cn/3z2sU)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i9ZZwvDF-1668665609465)(C:\Users\86188\AppData\Roaming\Typora\typora-user-images\1665817262311.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0lV2UFjn-1668665468481)(C:\Users\86188\AppData\Roaming\Typora\typora-user-images\1665817332402.png)]

img

Transformer模型讲解
1)不同于以往主流机器翻译使用基于RNN的seq2seq模型框架,该论文用attention机制代替了RNN搭建了整个模型框架。
2)提出了多头注意力(Multi-headed attention)机制方法,在编码器和解码器中大量的使用了多头自注意力机制(Multi-headed self-attention)。
3)在WMT2014语料中的英德和英法任务上取得了先进结果,并且训练速度比主流模型更快。

《Attention Is All You Need》是一篇Google提出的将Attention思想发挥到极致的论文。这篇论文中提出一个全新的模型,叫 Transformer,抛弃了以往深度学习任务里面使用到的 CNN 和 RNN ,Bert就是基于Transformer构建的,这个模型广泛应用于NLP领域,例如机器翻译,问答系统,文本摘要和语音识别等等方向。关于Transrofmer模型的理解特别推荐一位国外博主文章《The Illustrated Transformer》。

1.2 bert(http://t.csdn.cn/7A9j4)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XmnoPKE7-1668665468482)(C:\Users\86188\AppData\Roaming\Typora\typora-user-images\1665817178415.png)]

BERT的预训练过程

接下来我们看看BERT的预训练过程,BERT的预训练阶段包括两个任务,一个是Masked Language Model,还有一个是Next Sentence Prediction。
Masked Language Model

MLM可以理解为完形填空,作者会随机mask每一个句子中15%的词,用其上下文来做预测,例如:my dog is hairy → my dog is [MASK]

此处将hairy进行了mask处理,然后采用非监督学习的方法预测mask位置的词是什么,但是该方法有一个问题,因为是mask15%的词,其数量已经很高了,这样就会导致某些词在fine-tuning阶段从未见过,为了解决这个问题,作者做了如下的处理:

80%的时间是采用[mask],my dog is hairy → my dog is [MASK]

10%的时间是随机取一个词来代替mask的词,my dog is hairy -> my dog is apple

10%的时间保持不变,my dog is hairy -> my dog is hairy

那么为啥要以一定的概率使用随机词呢?这是因为transformer要保持对每个输入token分布式的表征,否则Transformer很可能会记住这个[MASK]就是"hairy"。至于使用随机词带来的负面影响,文章中解释说,所有其他的token(即非"hairy"的token)共享15%*10% = 1.5%的概率,其影响是可以忽略不计的。Transformer全局的可视,又增加了信息的获取,但是不让模型获取全量信息。
注意:

有参数dupe_factor决定数据duplicate的次数。
其中,create_instance_from_document函数,是构造了一个sentence-pair的样本。对每一句,先生成[CLS]+A+[SEP]+B+[SEP],有长(0.9)有短(0.1),再加上mask,然后做成样本类object。
create_masked_lm_predictions函数返回的tokens是已经被遮挡词替换之后的tokens
masked_lm_labels则是遮挡词对应位置真实的label。

1.3 uniter(跨模态编码的关键)(http://t.csdn.cn/32xnf)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0i6hKBpQ-1668665468483)(C:\Users\86188\AppData\Roaming\Typora\typora-user-images\1665647715524.png)]

UNITER的结构由三个部分构成,第一个部分是Image Embedder,具体来说就是用Faster-RCNN抽取每个region的region feature,同时用一个7维的向量(可能是四个坐标位置加上宽高或者面积等信息构成的7维向量,UNITER并没有直接使用检测器针对每个region输出的类别信息)来encode每一个region的position,将region feature和location feature通过fc层再相加构成了一个Image feature。

在Text Embedder中,就和bert中类似,就是一个token embedding和position embedding相加之后经过一个Layer Norm层,得到了Text Feature。把前面两部分特征经过transfomer就得到了UNITER Model。

除此之外UNITER还设计了三个预训练的任务去训练UNITER模型。第一个是Masked Language Modeling(MLM),即随机mask掉一些词,然后训练模型尝试让他去recover这个词。相同的MRM表示的是我们随机mask掉图片中提取出来的一些区域,然后recover这些缺失的区域。第三个任务是Image-Text-Matching(ITM),在这个任务中我们抽取整样本图文pair或者负样本图文pair,让模型去预测输入时正还是负。

项目源码
在这里插入图片描述

UniterTextEmbeddings类

此类的作用是将训练语料中的text信息转化成embedding向量,embedding向量的构成分为三个部分words_embeddings(词嵌入向量)、position_embeddings(位置嵌入向量)、token_type_embeddings(是否为前后语句对嵌入向量)。

UniterImageEmbeddings类

Uniter模型中Image转化为embedding向量是关键,img_feat和img_pos_feat是如何生成的可以去前面2.1小节看一下,简单来说就是使用Faster-RCNN检测出多个region,region feature特征经过reshape或者dnn等方式转为img_feat,region的location转为img_pos_feat。然后分别经过fc层至相同维度,相加再经过LN层就生成了既含有图片特征又含有位置信息的embedding。

UniterAudioEmbeddings类(紫东太初特有)

将Audio信息转化为embedding向量
在这里插入图片描述

在这里插入图片描述

UniterEncoder类

Uniter模型中的Encoder部分使用的就是原始Bert中的encoder层,具体的可以去看pytorch版bert源码。
在这里插入图片描述

Pre-Training Tasks

2、modality-level modeling

提出的模态级掩蔽机制来学习三种模态之间的对齐,即文本、视觉和音频。模态级屏蔽与令牌级屏蔽机制并行。它从输入中屏蔽出一个或两个模式。

具体地,每个模态以0.3的概率被独立地屏蔽,并且跳过所有模态被屏蔽的情况。这带来了巨大的好处- 允许OPT使用单通道、双通道或三通道输入处理不同的下游任务。

2.1 denoising text reconstruction 去噪文本重建 (DTR)(文本生成、视觉问答、以文生图第一阶段)

我们在交叉模式编码器顶部附加了一个基于transformer的解码器[41],以学习重建输入文本。损失函数为,
在这里插入图片描述

在这里插入图片描述

2.2 denoising image reconstruction 去噪图像重建 (DIR)(以文生图用到)

使用了一个视觉解码器DVAE来赋予OPT模型图像生成能力。解码器经过训练,学会重建输入图像。如图2所示,视觉解码器由Transformer解码器和dVAE解码器组成。transformer解码器生成sequence of image codes(一系列图像代码)。我们强制执行自回归语言建模损失,如公式9所示,以学习好的图像代码。
在这里插入图片描述

在这里插入图片描述

第一阶段的预训练的dVAE解码器,在我们的OPT训练期间被冻结。损失函数如下:

在这里插入图片描述

启动两阶段训练,在第一阶段训练VQVAE,采用训练好的VQVAE提取图像token;在第二阶段训练Transformer解码器,建模文本token和图像token的跨模态关联关系:
在这里插入图片描述

src/scripts/test_txt2img.py

步骤一:分别加载dVAE模型和OPT模型

在这里插入图片描述

步骤二:将使用dVAE模型解析OPT模型产生的图像代码 seq生成图像在这里插入图片描述

3、sample-level modeling

src/scripts/pretrain_three_ms.py

src/model_mindspore/pretrain_ms.py

设计了一个三模态预训练的样本级建模任务。具体来说,给定每个样本(即文本、图像、音频三元组),我们将一个或两个输入随机替换为其他样本的输入。该模型需要预测哪些输入是匹配的。因此,我们有五种情况:(1)所有三个输入都匹配;

(2) 只有图像和音频匹配;

(3) 只有文本和图像匹配;

(4) 只有文本和音频匹配;

(5)没有匹配。
在这里插入图片描述

我们提取[CLS]标记的输出表示作为文本图像音频三元组的联合表示,然后将其输入FC层和sigmoid函数以预测分数。我们将输出分数表示为sθ(T,I,A)∈ R5.损失函数是二进制交叉熵(BCE)损失:

4、类之间的依赖关系(下游任务驱动)

任务一: 文本生成(Image Caption)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cx1z6nOg-1668665468492)(C:\Users\86188\AppData\Roaming\Typora\typora-user-images\1665803279344.png)]

任务二: 视觉问答(Visual Question Answer, VQA)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hhJbvWVU-1668665468494)(C:\Users\86188\AppData\Roaming\Typora\typora-user-images\1665803337727.png)]

任务三: 跨模态检索(Cross-modal Retrieval)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fvkTHckV-1668665468494)(C:\Users\86188\AppData\Roaming\Typora\typora-user-images\1665803361882.png)]

任务四: 以文生图(Text-To-Image)

VQVAE

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0UxZPFXZ-1668665468495)(C:\Users\86188\AppData\Roaming\Typora\typora-user-images\1665803381382.png)]

OPT

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YLJP9deV-1668665468495)(C:\Users\86188\AppData\Roaming\Typora\typora-user-images\1665803420760.png)]

任务五: 语音合成(Text To Speech)

任务四: 以文生图(Text-To-Image)

VQVAE

[外链图片转存中…(img-0UxZPFXZ-1668665468495)]

OPT

[外链图片转存中…(img-YLJP9deV-1668665468495)]

任务五: 语音合成(Text To Speech)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qVRcIce2-1668665468495)(C:\Users\86188\AppData\Roaming\Typora\typora-user-images\1665803440336.png)]

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值