云主机是不是可以搭建无数个网站,广州做营销型网站哪家好,一个域名多个网站,廊坊seo按天计费BERT#xff08;Bidirectional Encoder Representations from Transformers#xff09;是由Google于2018年提出的一种预训练的语言表示模型#xff0c;它基于Transformer架构并能够处理自然语言处理#xff08;NLP#xff09;中的多种任务。BERT的核心创新是其使用了双向编… BERTBidirectional Encoder Representations from Transformers是由Google于2018年提出的一种预训练的语言表示模型它基于Transformer架构并能够处理自然语言处理NLP中的多种任务。BERT的核心创新是其使用了双向编码器的思想相比于之前单向的语言模型如GPTBERT能同时利用上下文信息。
论文链接BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 一、BERT整体架构 BERT由Transformer中的encoder组成其中BERT模型有多个版本主要有BERT-Base和BERT-Large。BERT-Base包含12层的Transformer编码器每层有768个隐藏单元和12个自注意力头。BERT-Large则有24层Transformer编码器每层有1024个隐藏单元和16个自注意力头其中BERT-Large有更多的参数通常能够获得更好的效果。encoder由三个部分组成——输入部分、多头注意力机制部分和前馈网络部分。对于BERT中的encoder我们重点关注的是输入部分对于Transformer来说输入部分分为input embedding和positional encoding但在BERT中输入部分为token embedding、segment embedding和 position embedding。 如下图所示input的内容有三种——普通词汇、CLS、SEP而CLS和SEP的存在是为了NSP任务处理两个句子之间的关系属于二分类任务。SEP将两个不同的句子进行分隔通过这个特殊的标记区分句子CLS是每个序列的第一个标记将CLS的输出向量接一个分类器可以去做二分类任务但CLS并非是代表整个句子的语义信息。Token Embeddings就是将所有输入进行正常的embeddingSegment Embeddings是由于我们处理的是两个句子所以需要将两个句子进行区分在Position Embeddings中BERT没有像Transformer中的positional encoding一样采用正余弦函数而是随机初始化让模型自己学习出来。一旦输入标记准备好它们就会在层叠中流动。每一层都应用自注意力将其结果通过前馈网络传递并将其交给下一个编码器。 二、BERT 训练 BERT的目的是想基于微调的NLP模型预训练的模型抽取了足够多的信息新的任务只需要增加一个简单的输出层。因此BERT的训练包含pre-train和fine-tune两个阶段。pre-train阶段模型是在无标注的标签数据上进行训练fine-tune阶段BERT模型首先是被pre-train模型参数初始化然后所有的参数会用下游的有标注的数据进行训练。 2.1. BERT预训练 BERT在大规模语料库上进行无监督预训练学习到丰富的语言表示。对于无监督的目标函数来说有两种目标函数比较受到重视 Masked Language ModelMLMARautoregressive自回归模型只能考虑单侧的信息典型的就是GPT。如果输入“我喜欢苹果”P我喜欢苹果 P我P喜|我P欢|我喜P苹|我喜欢果|我喜欢苹。 Next Sentence PredictionNSPAEautoencoding自编码模型从损坏耳朵输入数据中预测重建原始数据。可以使用上下文的信息BERT就是使用的AE。如果输入“我喜欢苹果”需要经过maskmask之后得到 “ 我喜欢苹mask”那么 P我喜欢苹果|我喜欢苹mask Pmask果|我喜欢苹。 在MLM任务中BERT使用了掩码语言模型来进行预训练随机遮蔽输入文本中的某些单词并让模型预测这些被遮蔽的单词。这种方式让BERT可以捕捉到更丰富的上下文信息。当我们进行两个词的mask之后得到“我喜欢mask mask”P我喜欢苹果|我喜欢mask mask P苹|我喜欢P果|我喜欢这样的话我们可以看到“苹”和“果”两个词是独立的但其实并不是这也是mask的缺点之一。在BERT中80%概率下将选中的词元变成mask10%概率下换成一个随机词元10%概率下保持原有的词元。
for index in mask_indices:if random.random() 0.8:masked_token [MASK]else:if random.random() 0.5:masked_token tokens[index]elsemasked_token random.choice(vocab_list) 在NSP任务中BERT通过预测两个句子是否是连续的即判断句子A是否紧跟在句子B后来增强其句子级别的理解能力。NSP样本分为正样本和负样本正样本是从训练语料库中去除两个连续的段落负样本是从不同的文档中随机创建一堆段落。但是NSP将主题预测和连贯性预测合并成了一个单项任务。
2.2 BERT的微调 在海量的语料上训练完BERT之后便可以将其应用到NLP的各个任务中了。 微调(Fine-Tuning)的任务包括基于句子对的分类任务基于单个句子的分类任务问答任务命名实体识别等。 基于句子对的分类任务需要判断两个句子之间的关系或相似性。 MNLI (Multi-Genre Natural Language Inference): 任务描述给定一个前提Premise根据这个前提推断假设Hypothesis与前提的关系。任务的目标是确定假设与前提之间的关系是否成立。关系分类任务的标签有三种类型 蕴含关系Entailment假设在语义上可以从前提推导出。矛盾关系Contradiction假设与前提在语义上相互矛盾。中立关系Neutral假设与前提之间没有明确的推导关系。例子 前提“The cat sat on the mat.”假设“A cat is resting on a rug.”标签蕴含关系Entailment QQP (Quora Question Pairs): 任务描述判断Quora上两个问题句是否表示的是一样的意思。目标判断两个问题是否问的是同一件事从而判断它们是否具有相同的意图。例子 问题1“What is the best way to lose weight?”问题2“How can I shed fat fast?”标签相同Duplicate QNLI (Question Natural Language Inference): 任务描述用于判断一个文本是否包含问题的答案类似于阅读理解的定位问题。目标给定一个问题和一段文本判断这段文本是否包含问题的答案。例子 问题“What is the capital of France?”文本“France is a country in Europe. Paris is its capital.”标签是Yes STS-B (Semantic Textual Similarity - Benchmark): 任务描述预测两个句子的相似性输出一个数值0到5之间。目标评估两个句子的语义相似度。这个任务是一个回归问题不是分类问题。例子 句子1“I like to play football on Sundays.”句子2“Football is a sport I enjoy playing on weekends.”标签4非常相似 MRPC (Microsoft Research Paraphrase Corpus): 任务描述判断两个句子是否是等价的是否语义相同。目标判断两个句子是否是同义句。例子 句子1“I will arrive in the morning.”句子2“I will reach there by the morning.”标签相同Paraphrase RTE (Recognizing Textual Entailment): 任务描述类似于MNLI但仅对蕴含关系进行二分类判断。目标判断两个句子之间是否有蕴含关系。例子 前提“The dog is running in the park.”假设“A dog is playing outside.”标签蕴含关系Entailment SWAG (Situations With Adversarial Generations): 任务描述从四个选项中选择一个作为前句的自然下文。目标通过选择合适的下文来理解前句的意义和场景。例子 句子“He opened the door and stepped outside.”选项 “He turned around and closed the door.”“He felt the warm sun on his face.”“The door slammed shut behind him.”“He heard a car honking from the street.”标签选项2自然下文 基于单个句子的分类任务主要是针对单个句子的分类问题。 SST-2 (Stanford Sentiment Treebank): 任务描述电影评价的情感分析判断句子的情感是正面还是负面。目标基于给定的电影评论句子判断情感极性正面或负面。例子 句子“The movie was amazing and heartwarming.”标签正面PositiveCoLA (Corpus of Linguistic Acceptability): 任务描述判断句子是否语法上可接受。目标判断给定的句子是否符合语言的语法规则。例子 句子“He is running.”标签可接受Acceptable 问答任务涉及从给定文本中提取答案。 SQuAD v1.1 (Stanford Question Answering Dataset): 任务描述给定一个问题和一段描述文本输出问题的答案。目标通过模型在文档中定位问题的答案类似于做阅读理解的简答题。例子 问题“What is the capital of France?”文本“France is a country in Europe. Paris is its capital.”答案Paris 命名实体识别任务NER这类任务的目标是识别句子中的命名实体。 CoNLL-2003 NER (Named Entity Recognition): 任务描述判断句子中的单词是否是命名实体如人名、组织名、地点名等。目标从给定的文本中提取出命名实体并进行分类。例子 句子“Barack Obama was born in Hawaii.”实体Barack Obama人名Hawaii地点名 三、BERT,GPT,ELMO的区别 下面是BERT、GPT和ELMO的对比表格
特性BERTGPTELMO模型架构Transformer 编码器 (双向)Transformer 解码器 (单向)双向LSTM训练目标Masked Language Model (MLM)Next Sentence Prediction (NSP)自回归语言模型 (预测下一个词)上下文相关的词嵌入 (基于LSTM)训练方式双向左右文同时考虑单向仅考虑左侧上下文双向前向和反向LSTM应用场景文本分类、问答、命名实体识别、推理任务等文本生成、对话生成、翻译等情感分析、问答、文本分类、命名实体识别等优点强大的上下文理解能力适合推理任务和理解任务强大的文本生成能力适合生成任务动态生成词嵌入能够捕捉上下文的词义变化主要优势适用于理解类任务处理句子对之间的关系适用于生成类任务生成流畅的文本提供上下文相关的词嵌入灵活性强任务示例文本分类SST-2问答SQuAD推理MNLI文本生成翻译问答等情感分析问答文本分类等
参考资料
一文彻底搞懂 Bert图解代手撕_bert详解-CSDN博客https://blog.csdn.net/weixin_42029738/article/details/139578563
读懂BERT看这一篇就够了 - 知乎https://zhuanlan.zhihu.com/p/403495863
预训练之NSP任务详解_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Ey4y1874y?spm_id_from333.788.player.switchvd_source0dc0c2075537732f2b9a894b24578eedp4https://www.bilibili.com/video/BV1Ey4y1874y?spm_id_from333.788.player.switchvd_source0dc0c2075537732f2b9a894b24578eedp4
预训练之MLM详解_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Ey4y1874y?spm_id_from333.788.videopod.episodesvd_source0dc0c2075537732f2b9a894b24578eedp3https://www.bilibili.com/video/BV1Ey4y1874y?spm_id_from333.788.videopod.episodesvd_source0dc0c2075537732f2b9a894b24578eedp3
Bert输入部分详细解读_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Ey4y1874y?spm_id_from333.788.videopod.episodesvd_source0dc0c2075537732f2b9a894b24578eedp2https://www.bilibili.com/video/BV1Ey4y1874y?spm_id_from333.788.videopod.episodesvd_source0dc0c2075537732f2b9a894b24578eedp2
70 BERT微调【动手学深度学习v2】_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV15L4y1v7ts?spm_id_from333.788.recommend_more_video.0vd_source0dc0c2075537732f2b9a894b24578eed