BERT

BERT

  • BERT 参数量 340M parameters
  • GPT-3 :175B
  • Switch Transformer: 1.6T

Self-supervised Learning(自监督学习)

监督学习(supervised Learning) : 使用Label进行训练的模型.
自监督(self-supervised Learning):在没有Label的情况下,自己想办法做supervised learning。self-supervised learning其实是一种非监督学习(unsupervised learning)

upload successful

BERT- Encoder

BERT的encoder部分和Transformer中的encoder部分一样

Masking input

  • 类似让BERT制作填空题

Masking input

在BERT 的encoder中有一个Masking机制,改变输入的向量,(图片黑色部分表示mask)有两种操作方式将mask部分替换成其它字段

  1. 将某向量替换成特殊的Token
  2. 将某向量随机的替换成某个数

类似操作如下图:

upload successful

Mask的部分也有输出,把盖住的部分的输出作一个Linear操作(即:乘以一个向量)然后再做softmax得到一个包含所有字符的分布

upload successful

训练方式:

upload successful

训练的过程就是让BERT能够成功的预测出Ground truth的值,即被masking的部分的值(‘湾’)

Next Sentence Prediction

  • 判断两个句子的关联性

用于预测两个句子是否是连接的(研究表明这种方法实际作用不大)

upload successful

BERT 的 Fine-tune( 微调 )

用预训练好的某些BERT模型参数初始化模型

upload successful

How to use BERT

  • Sentiment analysis: 判断句子好坏(分类)

模型的初始化有两个部分,一个是Linear连接部分,一个是BERT模块

Linear 模块: 使用Random initialization进行初始化
BERT模块: 使用预训练好的模型参数进行初始化,比如上图中Masking Input阶段完成填空训练的模型参数

upload successful

POS tagging 词性标注(输入输出相同长度)

upload successful

NLI(Natural Language Inferencee)

给出两个句子,判断句子间是否矛盾

例如:
句子1: 前提:一个人坐在马上跳过一架坏掉的飞机
句子2: 猜测: 人在一个小餐车上

=》 让模型判断是连个句子是否矛盾

upload successful

upload successful

QA (Question Answering)

  • 前提是答案已经嵌入在Q当中

upload successful

上图说明,问答模型的实现,D是给出的文章的文字集合,Q是问题的文字字段集合。
将D,Q输入到模型中,让模型输入s,e这两个整数,s和e就是正确答案的初始位置和结束位的下表

upload successful

  • 上例中QA训练过程(前提是正确答案已经在文章当中)

训练过程分为两个部分,训练s,和e (s,e表示答案在文章中的起始位和终止位置坐标)

  • 随机初始化两个向量,向量大小和BERT的单个输出大小相同。 (如图:橙色,蓝色模块)

upload successful

    1. 将一个向量和BERT中document部分输出的值做内积
    1. 使用softmax计算每个单词做出内积的概率分布,然后得到最大概率的值的下标就是S

使用同样的方式计算出结束位置

upload successful

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2018-2023 CXX
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信