Bookshelf 📖

Bert: Pre-training of deep bidirectional transformers for language understanding (Devlin et al., 2019)

Citation

Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2019, June). Bert: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 conference of the North American chapter of the association for computational linguistics: human language technologies, volume 1 (long and short papers) (pp. 4171-4186).

My thoughts

Transformer

计算步骤

  1. 计算vector q and vecotr k的点积 (q * k),计算两个向量的点积可以知道它们之间的相似度 (点积越大,相似度越多)
  2. 计算q * k / 键向量的维度的平方根 = 获得稳定的梯度
  3. softmax进行归一化处理 (每个词和所有词的相关程度)
  4. 计算注意力vector z (再乘以vector v),注意力vector z = 值向量与分数加权之后求和所得的结果
    • 两个部分组成
      • encoder = 主要功能是提取原句中的特征,(一组N个编码器串联而成,特征会成最后一个编码器输出)
        • 编码器:多头注意力层 -> 前馈网络层
    • 多头注意力层
      • 使用多个注意力vector,而不是单一的vector,可以提高注意力的准确度
      • multi-head attention = concatenate(z1, z2, z3 …)w0
    • positional encoding (word order)
    • 位置编码vector (p) 添加到输入vector x (vector x + vector p)
    • 使用cosin/sin来计算位置编码
      • P (pos, 2i) = sin (pos / 10000^2i/dmost) = 如果i是偶数
      • P (pos, 2i + 1) = cosin (pos / 10000^2i/dmost) = 如果i是奇数
        • pos = 词在句子中的位置,i表示输入vector中的位置
    • 前馈网络层
      • 两个有ReLU激活函数的全连接层 (ReLU 通常能够比 sigmoid 和 tanh 更快地收敛,因为它避免了梯度消失(负值直接变为 0,不会压缩输出))
      • 叠加和归一组件 (残差链接与层的归一化) image

BERT

BERT(Bidirectional Encoder Representations from Transformers)是一个通用的预训练语言模型,旨在通过双向Transformer架构,生成深层的上下文语言表示。它的核心创新在于双向预训练(bidirectional pre-training)和微调(fine-tuning方法,使其能够在广泛的自然语言处理(NLP)任务中实现卓越表现。

BERT 的核心架构

BERT 的架构基于 Transformer 编码器(Encoder, 只有encoder的transformer),具体如下:

BERT 的输入表示

BERT 的输入使用了一个统一的表示方法,能够适应单句任务和句子对任务。输入包含以下三种嵌入信息 (标记,分段,位置):

标记嵌入:

[CLS]:表示分类任务的全局句子表示。 [SEP]:用于分隔句子或句子片段。

Segment Embedding 分段嵌入:

Position Embedding 位置嵌入:

单句任务:[CLS] 句子 [SEP] 句子对任务:[CLS] 句子 A [SEP] 句子 B [SEP]

WordPiece 词元分析器,Token Embedding(词嵌入):

BERT 的预训练任务

BERT 的创新点之一是它设计了两个预训练任务,帮助模型学习通用的语言表示:

Masked Language Model (MLM) 掩码语言模型构建 or 完形填空任务

例子: 输入:“我喜欢[MASK]苹果。” 模型任务:预测 [MASK] 为“吃”。

优势:

双向上下文:MLM 允许模型同时利用左侧和右侧的上下文信息,生成深度双向表示。

whole word masking 全词掩码

Next Sentence Prediction (NSP) binary task

优势:

NSP 提升了模型对句子对任务(如问答和自然语言推理)的理解能力。

BERT 的微调机制

优点: