BERT论文解读及实现(一)

这篇具有很好参考价值的文章主要介绍了BERT论文解读及实现(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

BERT: Pre-training of Deep Bidirectional Transformers for
Language Understanding

1 论文解读

1.1 模型概览

  • There are two steps in our framework: pre-training and fine-tuning.
    bert由预训练模型+微调模型组成。
    pre-training, the model is trained on unlabeled data over different pre-training tasks.
    预训练模型是在无标注数据上训练的
    For fine-tuning, the BERT model is first initialized with
    the pre-trained parameters,
    and all of the parameters are fine-tuned using labeled data from the downstream tasks
    微调模型在有监督任务上训练的,不通下游任务训练不同的bert模型,尽管预训练模型一样,不同下游任务都有单独的微调模型

下图中,左边为预训练的bert模型,右边为问题答案匹配微调模型。
BERT论文解读及实现(一),NLP,bert,人工智能,深度学习,语言模型

1.2 模型架构

  • BERT’s model architecture is a multi-layer bidirectional Transformer encoder
    bert模型架构是基于原始transorformer的encoder层

常用参数表示:
L : Transformer blocks 的层数
H: embedding的维度大小
A: 多头注意力机制中的头数,代表使用多少个self attention
BERTBASE (L=12, H=768, A=12, Total Parameters=110M) and BERTLARGE (L=24, H=1024,A=16, Total Parameters=340M).

模型输入:

  • 将两个句子拼接在一起,组成单个句子,句子之间使用 [SEP] token连接

  • 在句子第一个位置加入 [CLS] token ,代表了这个句子的聚合信息。

  • 单独构建句子token 拼接句子用0,1和来表示每个字是属于句子1,还是句子0。

For a given token, its input representation is constructed by summing the corresponding token,segment, and position embeddings。
对应给定的一个token,embedding 表征由三部分组成,分别由字embeddign, segment(句子) embedding,和位置embedding相加而成。,如下图所示。

BERT论文解读及实现(一),NLP,bert,人工智能,深度学习,语言模型

1.3 预训练BERT

模型完成两个任务;
任务①: Task #1: Masked LM
任务②:下一个句子预测
Task #1: Masked LM
-In order to train a deep bidirectional representation, we simply mask some percentage of the input tokens at random, and then predict those masked tokens.
为了学习句子的双向表征,通过一定比例随机mask句子中的一些token,然后去预测这些token。

  • In all of our experiments, we mask 15% of all WordPiece tokens in each sequence at random
    我们在每个句子中随机mask 掉15%的tokens

  • Although this allows us to obtain a bidirectional pre-trained model, a downside is that we are creating a mismatch between pre-training and fine-tuning, since the [MASK] token does not appear during fine-tuning.
    尽管这种mask机制可以解决双向模型训练问题,但是由于在模型fine-tuning时,并没有mask tokens,导致pre-training 和 fine-tuning节点不一致。

  • 我们采样如下策略处理上面问题
    ① 每个句子随机选择15%的token进行mask
    ② 在选择的mask token中,其中80%替换为[mask],10%被随机替换为其他词,剩下10%保持原token不变

Task #2: Next Sentence Prediction (NSP)
背景:许多下游任务是基于2个句子完成的,如 Question Answering (QA) 、 Natural Language Inference (NLI)。

In order to train a model that understands sentence relationships, we pre-train for a binarized next sentence prediction task

任务设计:

  • 对每一个训练,样本选择句子A和句子B
  • 50%的句子B,真的是句子A的下一句,label=IsNext
  • 50%的句子B随机从预料库中选择的,label=NotNext

1.4 Fine-tuning BERT

For applications involving text pairs, a common pattern is to independently encode text pairs before applying bidirectional cross attention BERT instead uses the self-attention mechanism to unify these two stages, as encoding a concatenated text pair with self-attention effectively includes bidirectional cross attention between two sentences.文章来源地址https://www.toymoban.com/news/detail-541899.html

到了这里,关于BERT论文解读及实现(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【NLP】什么是语义搜索以及如何实现 [Python、BERT、Elasticsearch]

    语义搜索是一种先进的信息检索技术,旨在通过理解搜索查询和搜索内容的上下文和含义来提高搜索结果的准确性和相关性。与依赖于匹配特定单词或短语的传统基于的搜索不同,语义搜索会考虑查询的意图、上下文和语义。 语义搜索在搜索结果的精度和相关性至关重

    2024年02月04日
    浏览(47)
  • 人工智能任务1-【NLP系列】句子嵌入的应用与多模型实现方式

    大家好,我是微学AI,今天给大家介绍一下人工智能任务1-【NLP系列】句子嵌入的应用与多模型实现方式。句子嵌入是将句子映射到一个固定维度的向量表示形式,它在自然语言处理(NLP)中有着广泛的应用。通过将句子转化为向量表示,可以使得计算机能够更好地理解和处理

    2024年02月13日
    浏览(41)
  • 基于Bert+Attention+LSTM智能校园知识图谱问答推荐系统——NLP自然语言处理算法应用(含Python全部工程源码及训练模型)+数据集

    这个项目充分利用了Google的Bert模型,这是一种基于Attention的大规模语料预训练模型,以及LSTM命名实体识别网络。项目的目标是设计一套通用的问答系统处理逻辑,以实现智能问答任务。 首先,我们采用了Bert模型,这是一种在自然语言处理领域非常强大的预训练模型。它具备

    2024年02月09日
    浏览(63)
  • 【NLP】BERT和原理揭示

            BERT(来自transformer的双向编码器表示)是Google AI Language研究人员最近发表的一篇论文。它通过在各种NL

    2024年02月15日
    浏览(40)
  • [NLP] BERT模型参数量

    BERT_base模型的110M的参数具体是如何组成的呢,我们一起来计算一下: 刚好也能更深入地了解一下Transformer Encoder模型的架构细节。 借助transformers模块查看一下模型的架构: 得到的模型参数为: 其中,BERT模型的参数主要由三部分组成: Embedding层参数 Transformer Encoder层参数 L

    2024年02月11日
    浏览(46)
  • NLP——ELMO;BERT;Transformers

    ELMo(Embeddings from Language Models)是一个在2018年由Allen AI研究所开发的新型深度语义词嵌入(word embedding)。 ELMo词嵌入是基于上下文的,这意味着对于任何给定的词,它的表示都会根据它出现的上下文而变化。 这是一个重要的进步, 因为传统的词嵌入,如Word2Vec或GloVe,为每个

    2024年02月09日
    浏览(51)
  • NLP之Bert介绍和简单示例

    官网访问:https://huggingface.co/ 注意力模型,可以参考知乎博客:https://zhuanlan.zhihu.com/p/37601161 即适合于图形和图像,也适合于自然语言处理。可以帮助我们快速识别重点。 例如在识别一张图片的时候,我们并不知道哪个地方是重点。在开始读一本书的时候,不知道哪个章节是

    2024年02月05日
    浏览(38)
  • 走近人工智能|NLP的语言革命

    前言: 自然语言处理(NLP)是指使用计算机处理和理解人类语言的技术。 自然语言处理(Natural Language Processing,NLP)是人工智能领域中一门研究如何让计算机理解和处理人类语言的技术。 它的目标是使计算机能够读取、理解、解释和生成自然语言文本,从而实现与人类的自

    2024年02月08日
    浏览(42)
  • nlp系列(7)实体识别(Bert)pytorch

    本项目是使用Bert模型来进行文本的实体识别。 Bert模型介绍可以查看这篇文章: NLP系列(2)文本分类(Bert)pytorch_bert文本分类-CSDN博客 Bert模型的模型结构: 数据网址:​​​​​​https://github.com/buppt//raw/master/data/people-relation/train.txt 实体1  实体2  关系 文本 输入中文句子

    2024年02月10日
    浏览(33)
  • 带你熟悉NLP预训练模型:BERT

    本文分享自华为云社区《【昇思技术公开课笔记-大模型】Bert理论知识》,作者: JeffDing。 语言模型演变经历的几个阶段 word2vec/Glove将离散的文本数据转换为固定长度的静态词向量,后根据下游任务训练不同的语言模型 ELMo预训练模型将文本数据结合上下文信息,转换为动态

    2024年01月22日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包