• BERT架构简介


    一、BERT模型架构

      BERT沿用原始Transformer模型中的编码器层,具有编码器的堆叠。但BERT没有使用解码器层,因此没有掩码多头注意力子层。(BERT的设计者认为,对序列后续部分进行掩码会阻碍注意力过程)。于是,BERT引入了双向注意力机制,即一个注意力头从左到右,另一个注意力头从右到左注意所有单词。
    在这里插入图片描述

    图1 BERT模型架构

    二、BERT模型训练

      BERT的训练过程分为两项任务:掩码语言建模(Masked Language Modeling,MLM)和下一句预测(Next Sentence Prediction, NSP)

    2.1 掩码语言建模

      BERT对句子进行双向分析,随机对句子中的某一个单词进行随机掩码。

    原句:The cat sat on it because it was a nice rug.
    Transformer:The cat sat on it .
    BERT:The cat sat on it [MASK] it was a nice rug.
    
    • 1
    • 2
    • 3

      上述掩码过程只是一个注意力子层的效果,当使用多个注意力子层时,就可以看到整个序列,运行注意力过程,然后观测被掩码的词元。

    2.2 下一句预测

      在这个过程中会添加两个新的词元:

    • [CLS]词元:二分类词元,添加到第一个句子的开头,用于预测第二个句子是否跟随第一个句子。

    • [SEP]词元:分隔符词元,添加到每个句子的结尾,用于分隔不同的句子。

    在这里插入图片描述

    图2 输入嵌入过程

    2.3 总结

    • 使用WordPiece对句子进行词元化
    • 使用[MASK]词元随机替换句子中的单词
    • 在序列的开头插入[CLS]分类词元
    • 在序列的两个句子结尾插入[SEP]词元
    • 句子嵌入是在词嵌入的基础上添加的,因此句子A和句子B具有不同的嵌入值
    • 位置编码采用了可学习方法,而没有采用原始Transformer中的正弦-余弦位置编码方法

    参考文献

    [1] 丹尼斯·罗斯曼.《基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理》 [M]. 北京: 清华大学出版社, 2024

  • 相关阅读:
    安卓--多指触控
    SBF vs. 火柴大王
    信息系统项目管理师必背核心考点(四十七)项目分包合同
    前缀和题型总结 I: leetcode 467、795、904、992、1109
    软件外包开发需要注意的问题
    OAuth2+JWT新一代认证技术
    vivado报错警告之[Vivado 12-1017] Problems encountered:
    微服务实战系列之玩转Docker(十六)
    保持数据库唯一的三种方式
    联盟快应用-如何进行测试?
  • 原文地址:https://blog.csdn.net/python_plus/article/details/136178549