Bert说明

本文详细介绍了Bert模型的结构,包括Embedding层、transformer encoder层的self-attention、feedforward和add&norm层。此外,还阐述了Bert的预训练过程,包括mask词预测和下句预测任务。最后讨论了Bert的fine-tuning阶段,展示其如何适应各种NLP任务。
摘要由CSDN通过智能技术生成

1 模型结构

1.1 说明
  • Bert的结构 = Embedding层 + transformer encoder层 x N个

  • Bert的输入文本序列,根据具体任务不同,即可以是一句话,也可以是两句话,下文以两句话为例进行说明。两句话的文本结构如下:[CLS] + 上句 + [SEP] + 下句 + [SEP] 。

  • Bert的特殊token

    1. [CLS] 分类token,输入序列的第一个token,起分类作用
    2. [SEP] 标明上句或下句结束的token
    3. [MASK] 被遮住的token
  • 超参数说明

    1. V 词袋长度,即词的个数
    2. L 最大序列长度,[CLS] + 上句 + [SEP] + 下句 + [SEP] 的最大长度
    3. E Embedding维度,即一个token用E维向量表示,也等于transformer encoder层的隐层维度
    4. F feedforward全连接层的维度
    5. H multi-head的head个数
    6. M transformer encoder层的个数
  • 为方便,下文不考虑batch_size,只以1个输入序列为例进行说明,且该序列的长度即等于最大序列长度L。该序列用X表示。同时,也不考虑激活函数层和dropout层。

1.2 Embedding层

在这里插入图片描述

  • 任何一个token的embedding向量 = word embedding + segment embedding + position embedding

    1. word embedding : 词汇表里的每一个词对应一个向量,即上图的Token embedding。矩阵的大小 (V, E)
    2. segment embedding : 上句或下句对应一个向量。矩阵的大小 (2, E)
    3. position embedding : 输入序列里的每一个位置对应一个向量。矩阵的大小 (L, E)
  • 经过Embedding层,X大小由(L) 变为 (L, E)

1.3 transformer encoder层

在这里插入图片描述

  • 由self-attention层 + feedforward层 + add&norm层构成
  • multi-head的每个head平均处理 E/H 个维度,每个head的处理结果再拼接起来,经过add&norm层,再传给feed-forward层,再经过add&norm层输出给下一个encoder层。
  • 最后一个encoder层的输出即bert的输出。
1.3.1 self-attention层
  • 每个head经由3个全连接层,输入X,生成Q, K, V,即。

    1. Q = Linear(X) Q的大小(L, E/H)
    2. K = Linear(X) K的大小(L, E/H)
    3. V = Linear(X) V的大小(L, E/H)
  • s o f t m a x ( Q K T

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值