NLP-BERT

Input Embedding

BERT
Bert采用两阶段模型,首先是语言模型预训练,其次是使用 Fine-Tuning 模式解决下游任务。BERT 预训练模型分为以下三个步骤:Embedding、Masked LM、Next Sentence Prediction。

  1. Embedding 由三种 Embedding 求和而成:
    Token Embeddings 是词向量,第一个单词是 CLS 标志,可以用于之后的分类任务;Segment Embeddings 用来区别两种句子,因为预训练不光做 LM 还要做以两个句子为输入的分类任务;Position Embeddings 和之前文章中的 Transformer 不一样,不是三角函数而是学习出来的。
    在这里插入图片描述
  2. MLM 可以理解为完形填空,作者会随机mask每一个句子中 15% 的词,用其上下文来做预测,例如:my dog is hairy → my dog is [MASK],此处将 hairy 进行了 mask 处理,然后采用非监督学习的方法预测mask位置的词是什么。
  3. 选择一些句子对 A 与 B,其中 50% 的数据 B 是 A 的下一条句子,剩余 50% 的数据B是语料库中随机选择的,学习其中的相关性。

Transformer

Transformer
**加粗样式**
Positional Encoding
transformer 给 encoder 层和 decoder 层的输入添加了一个额外的向量 Positional Encoding,维度和 embedding 维度一样,通过模型学习,这个向量能决定当前词的位置,或者说在一个句子中不同的词之间的距离。在偶数位置,使用正弦编码,在奇数位置,使用余弦编码,最后把 Positional Encoding 与 embedding 的值相加,作为输入送到下一层。
在这里插入图片描述
在这里插入图片描述
Self-Attention
通过 query 和 key 的相似性程度来确定 value 的权重分布(scaled dot-product attention)。计算出 Query, Key, Value 的矩阵,然后把 embedding 的值与三个矩阵直接相乘,把得到的新矩阵 Q 与 K 相乘,乘以一个常数,做 softmax 操作,最后乘上 V 矩阵。
在这里插入图片描述
Multi-Headed Attention + Feed Forward Neural Network
初始化 8 组 Q、K、V 的矩阵,得到的结果是8个矩阵。把 8 个矩阵连在一起,得到一个大的矩阵,再随机初始化一个矩阵和这个组合好的矩阵相乘,最后得到一个最终的矩阵。
在这里插入图片描述
将模型分为多个头,形成多个子空间,可以让模型去关注不同方面的信息,最后再将各个方面的信息综合起来。多次attention综合的结果能够起到增强模型的作用,也可以类比 CNN 中同时使用多个卷积核的作用,有助于网络捕捉到更丰富的特征或信息。

masked mutil-head attetion
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值