Bert

黎 浩然/ 4 10 月, 2023/ 序列模型/SEQUENCEMODEL, 机器学习/MACHINELEARNING/ 0 comments

BERT(Bidirectional Encoder Representations from Transformers)是在Transformer模型基础上的一种改进,主要有以下几点:

  1. 双向编码
    • Transformer是一个编码器-解码器结构的模型,主要用于序列到序列的任务(如机器翻译)。BERT则改变了这种结构,只使用了Transformer的编码器部分,并且是双向的,即可以同时考虑上下文的信息。这使得 BERT 可以更好地捕捉词与词之间的关系,从而提升模型的性能。
    • BERT 使用Transformer的编码器部分来实现双向编码。具体来说,BERT 使用一个特殊的符号 [MASK] 来遮住输入句子中的某些词,然后让模型预测这些被遮住的词是什么。这种方式使得模型能够在预测一个词的时候,同时考虑到它前面和后面的词,从而实现双向编码。
    • 在BERT的训练过程中,会随机选择一些词,并用[MASK]符号将它们替换掉,然后模型需要预测这些被遮住的词是什么。通过这种方式,模型可以学习到词与词间的关系,从而更好地理解语言的语义。
    • 需要注意的是,由于 [MASK] 符号在实际的测试或使用过程中是不会出现的,在BERT 的微调阶段,会移除这种Masking操作,使得模型能够正常处理没有被遮住词的输入。
  2. 预训练和微调
    • BERT 的另一个重要创新是采用了预训练+微调的训练方式。在预训练阶段,BERT 通过大量无标签的文本数据学习语言的通用表示,然后在微调阶段,根据具体任务的标签数据进行优化。这种方式使得BERT能利用海量的无标签数据获得更强的泛化能力。

Transformer的编码器的输入是一个序列,输出也是一个序列。Transformer编码器的输入和输出序列的长度是一样的。每个输入词都会产生一个对应的输出向量,这个向量包含了该词的语义信息,以及它与其他词的关系信息。 Transformer编码器内部的前馈神经网络(Feed-Forward Network, FFN)的输入和输出数量是一样的。具体来说,前馈神经网络的作用是对每个位置的词的表示进行非线性变换,因此对于每个输入位置,都会有一个对应的输出位置。

  1. 新的训练任务
    • BERT 引入了两种新的训练任务:Masked Language Model(MLM) 和 Next Sentence Prediction(NSP)。MLM的目标是预测被遮住的词,这样可以使模型学习到更丰富的词汇关系。NSP的目标是判断两个句子是否是连续的,使模型学习到句子之间的关系。
    • 在 Masked Language Model (MLM) 任务中,BERT 的目标是预测被遮住的词是什么。具体步骤如下:
      1. 随机选择一些词,并用一个特殊的符号 [MASK] 将它们替换掉。
      2. 将这个被遮住的词的序列输入到 BERT 模型中。
      3. BERT 模型会输出一个序列,其中包含了每个词的表示。
      4. 从被遮住的词的表示中,使用一个线性层和 softmax 操作,预测被遮住的词。
    • 在 Next Sentence Prediction (NSP) 任务中,BERT 的目标是判断两个句子是否是连续。具体步骤如下:
      1. 输入两个句子 A 和 B,其中 B 可能是 A 的下一句,也可能不是。
      2. 在句子A和B之间插入一个特殊的符号[SEP],并在句子A前面插入特殊符号 [CLS]。
      3. 将这个序列输入到 BERT 模型中。
      4. BERT 模型会输出一个序列,其中包含了每个词的表示。
      5. 从[CLS]符号对应表示中,使用一个线性层和softmax操作,判断B是否是A下一句。
  2. 模型大小
    • BERT模型通常比原始的Transformer模型更大,包含更多的参数,这使得它能够捕捉更多的信息,从而提供更好的性能。
Share this Post

Leave a Comment

您的邮箱地址不会被公开。 必填项已用 * 标注

*
*