多模态基础---BERT

1. BERT简介

BERT用于将一个输入的句子转换为word_embedding,本质上是多个Transformer的Encoder堆叠在一起。

其中单个Transformer Encoder结构如下:
多模态基础---BERT_第1张图片
BERT-Base采用了12个Transformer Encoder。
BERT-large采用了24个Transformer Encoder。

2. BERT的输入

原始的句子中包含[CLS] 和 [SEP]两个字符,其中 [SEP]是两个句子间的分隔符,[CLS]则用于做二分类任务,即判断前后两个句子是否相邻。

BERT的输入由三部分组成:
Input = Token Embedding + Segment Embedding + Position Embedding

Token Embedding:将原始句子(包含字符)进行编码
Segment Embedding :第一个句子中每个word彼此编码一致,第二个句子中每个word彼此编码一致,
Position Embedding:位置编码,不同于原始Transformer中的positional encoding的正余弦编码方式,这里采用可学习参数的编码方式。

多模态基础---BERT_第2张图片

3. BERT的预训练

BERT的训练任务包括:

  1. 预测被遮挡的单词
  2. 预测两个句子是否是相邻的句子

1和2是同时训练的

3.1 MLM 任务(Model Language Mask)

多模态基础---BERT_第3张图片
由于BERT在预训练时的数据集很多都是无标签的,因此采用无监督学习方式。

常见的无监督模型包括:

  1. Auto Regressive(AR),自回归模型,只能考虑单侧信息,典型的就是GPT。

    在这里插入图片描述
  2. Auto Encoding, 自编码模型,可使用上下文信息,BERT使用的就是AE。

    在这里插入图片描述

AE的缺点:忽略了mask和mask之间的联系

多模态基础---BERT_第4张图片

3.2 NSP 任务 (Next Sentence Prediction)

多模态基础---BERT_第5张图片

3.2.1 NSP样本

  1. 正样本:从训练语料库中取出两个连续的段落作为正样本。
  2. 负样本:从不同文档中随机创建一对段落作为负样本。

缺点:
将主题预测和连贯性预测合并为一个单项任务。由于主题预测任务比较简单,因此降低了整体任务的难度。

改进方式:
从同一篇文档中抽取两个不连续的段落作为负样本

4. BERT的四种用法

  1. 预测句子的类别:输入一个句子,输出一个类别
  2. 预测句子中每个单词的类别:输入一个句子,输出每个单词的类别
  3. 预测两个句子是否相邻:输入两个句子,输出判断是否相邻的类别
  4. 预测某个问题在文章中的答案:输入一个问题和一篇文章,输出问题在文章中答案的位置(索引)didj

case1:

多模态基础---BERT_第6张图片
case2:

多模态基础---BERT_第7张图片case3:

多模态基础---BERT_第8张图片case4:

多模态基础---BERT_第9张图片

多模态基础---BERT_第10张图片
多模态基础---BERT_第11张图片

你可能感兴趣的:(AIGC,bert,人工智能,深度学习)