【神经网络算法】 一文搞懂BERT(基于Transformer的双向编码器)

本文将从BERT的本质、BERT的原理BERT的应用三个方面,带您一文搞懂Bidirectional Encoder Representations from Transformers | BERT。

图片

Google BERT

一、BERT的本质

BERT架构一种基于多层Transformer编码器的预训练语言模型,通过结合Tokenization、多种Embeddings和特定任务的输出层,能够捕捉文本的双向上下文信息,并在各种自然语言处理任务中表现出色。

图片

BERT架构

  • 输入层 (Input)

    BERT的输入是一个原始的文本序列,它可以是单个句子,也可以是两个句子(例如,问答任务中的问题和答案)。在输入到模型之前,这些文本需要经过特定的预处理步骤。

  • Tokenization 和 Embeddings

    Tokenization: 输入文本首先通过分词器(Tokenizer)被分割成Token。这一步通常包括将文本转换为小写、去除标点符号、分词等。BERT使用WordPiece分词方法,将单词进一步拆分成子词(subwords),以优化词汇表的大小和模型的泛化能力。

    Token Embeddings: 分词后的Token被映射到一个高维空间,形成Token Embeddings。这是通过查找一个预训练的嵌入矩阵来实现的,该矩阵为每个Token提供一个固定大小的向量表示。

    Segment Embeddings: 由于BERT能够处理两个句子作为输入(例如,在句子对分类任务中),因此需要一种方法来区分两个句子。Segment Embeddings用于此目的,为每个Token添加一个额外的嵌入,以指示它属于哪个句子(通常是“A”或“B”)。

    Position Embeddings: 由于Transformer模型本身不具有处理序列中Token位置信息的能力,因此需要位置嵌入来提供这一信息。每个位置都有一个独特的嵌入向量,这些向量在训练过程中学习得到。

    Token Embeddings、Segment Embeddings和Position Embeddings三者相加,得到每个Token的最终输入嵌入。

  • BERT的网络结构 (Network Structure of BERT)

    BERT的核心是由多个Transformer编码器层堆叠而成的。每个编码器层都包含自注意力机制和前馈神经网络,允许模型捕捉输入序列中的复杂依赖关系。

  • 自注意力机制: 允许模型在处理序列时关注不同位置的Token,并计

  • 27
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值