男生做污污事的视频网站,泰达建设集团网站,wordpress菜单的功能,天元建设集团有限公司第八分公司一、背景信息#xff1a;
Bert是2018年10月由Google AI研究院提出的一种预训练模型。 主要用于自然语言处理#xff08;NLP#xff09;任务#xff0c;特别是机器阅读理、文本分类、序列标注等任务。 BERT的网络架构使用的是多层Transformer结构#xff0c;有效的解决了长…一、背景信息
Bert是2018年10月由Google AI研究院提出的一种预训练模型。 主要用于自然语言处理NLP任务特别是机器阅读理、文本分类、序列标注等任务。 BERT的网络架构使用的是多层Transformer结构有效的解决了长期依赖问题。
二、整体结构
BERT由多个Transformer Encoder一层一层地堆叠起来。 BERT全名叫做Bidirectional Encoder Representation from Transformers下图中用Trm表示Transformer中的Encoder模块。Encoder中在编码一个token的时候会同时利用了其上下文的token即为Bidirectional双向的体现。 三、Bert 的输入
Bert 的输入向量由x的三种向量求和而成三种向量分别为x的词向量、句子分类向量、位置向量。 其中 词向量Token Embeddings第一个词是[CLS]标志,通常会用在分类任务中[SEP]标志分句符号用于断开输入语料中的两个句子或者表示句子的结束。 句子分类向量Segment Embeddings用来区别两种句子有两种情况问答等任务全部所有token全为0其余任务第一句句所有token为0第二句所有为1。 位置向量Position Embeddings这里的位置向量为可学习的绝对位置编码优点是可以学习到不同位置的不同编码而不是固定的编码。因为位置编码的维度是固定的需要设定最大长度不能预测超过长度的句子。
四、Bert训练
BERT的训练包含预训练和fine-tune两个阶段。
Bert预训练:
Bert预训练Pre-training任务是由MLM和NSP两个自监督任务组成。
MLM:
MLM随机在输入语料上Mask掉一些词并通过上下文预测该词。其中15%的WordPiece Token会被随机Mask掉。
80%的时候会直接替换为[Mask]10%的时候将其替换为其它任意单词10%的时候会保留原始Token。
1、若句子中的某个Token 100%都会被mask掉那么在fine-tuning的时候模型就会有一些没有见过的单词。
2、加入随机Token的原因是因为Transformer要保持对每个输入token的分布式表征。
3、因为一个单词被随机替换掉的概率只有15%*10% 1.5%单词带来的负面影响可以忽略不计。
4、每次只预测15%的单词因此模型收敛的比较慢。
# 优点
# 10%的概率用任意词替换赋予Bert一定文本纠错能力
# 10%的概率保留原始Token缓解了finetune时与预训练时的输入不匹配。
# 缺点
# Mask汉字割裂了连续汉字之间的相关性NSP:
Next Sentence PredictionNSP任务判断句子B是否是句子A的下文。如果是的话输出’IsNext‘否则输出’NotNext‘。
Bert的微调
基于Bert模型的微调应用近些年来已经越来越丰富了下面介绍三种具有代表性的简单版本的微调应用。当然如今的bert微调应用是不仅仅只有下面这零星的几个例子。
1、单文本分类
在需要进行分类的文本的开头和结尾分别加上CLS和SEP标记
[CLS] 文本 [SEP]Bert模型输出的[CLS]标记的向量表示整个文本序列的语义信息。 文本分类微调需要新增一个全连接层将[CLS]标记的向量输入到全连接层输出各类别的概率分布。
2、问答任务
从给定的上下文中找到问题的答案。输入包含上下文和问题两部分
[CLS] 上下文 [SEP] 问题 [SEP]Bert模型的顶部添加两个分类层分别用于预测答案的起始位置和终止位置。
3、信息抽取
对句子中语义连贯的词汇或短语逐个字的标注。 Bert模型的最后一层输出每个token的表示向量。通常在Bert模型顶部添加一个分类器用于预测每个token是否是命名实体的token。例如TPLinker Reference
1.Attention Is All You Need 2.BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding