目录
一、Self-supervised Learning
1、supervised
对于训练集,需要为其打上标签(lable),才能对模型(Model)进行正常训练。
2、Self-supervised
将训练集x分为两部分,一份作为训练输入数据,另一部分作为lable,输出的y和lable进行比较,越接近就越好。
二、BERT
1、对输入集的处理
BERT多用于自然语言处理部分,即输入大多数是一段文字,当然将语音或者影像都作为输入也是可以的。BERT基于 Transformer 的双向编码器表示,是一个预训练的语言表征模型。
BERT模型在训练的时候,输入一个句子,随机将其中的中文字盖起来。盖住文字有两种方法,一是用特地的代表盖住的符号或者随机用其他文字来将它盖住。
2、如何对BERT模型进行训练
BERT模型训练目的是要将被盖住的地方是什么文字,在训练时是BERT和Linear的mode一起进行训练。输出的值经过softmax函数处理,生产特征向量。
3、Next Sentence Prediction
从资料库中拿两个句子出来,用特定的符合对句子进行分割,以便于模型能识别出来是两个不同的句子。
[CLS]是用来预测这两个句子是否是相接的,yes代表相接,no不相接。
即预测两个句子是否应该接在一起。
三、如何使用BERT
1、Downstream Tasks
BERT的两个作用,一个是盖住一些输入的数据,二是预测两个句子是否能接在一起。 BERT在Downstream Tasks中发挥重要作用。
2、使用举例
输入一个句子,输出一个类别。例如:输入this is good,输出positive。、
CLS输出一个向量,之后乘上一个矩阵,通过softmax判断出类别。
输入一个sequence,输出另一个sequence,但二者长度是不一样的。经过BERT模型最后将输入的词汇判断为哪一种类别的词汇。
在BERT的encode部分的参数不是随机初始化,在之前已经找到一组比较好的初始化参数
输入两个句子,输出一个类别(以自然语言处理为例子)。给出假设和推论,然后给出两个句子之间的关系,是矛盾、包含或者自然等关系。
只需要将CLS部分输出的乘以Linear矩阵,即决定输出什么类别。需要有标注的资料才能对模型进行训练,BERT同样不是随机初始化。
3、Why does BERT work
输入文字后,输出的向量是每个文字的代表意思(Represent the meaning of word),意思越相近的字,它们的向量就越接近,如果上下文意思不同,同一个字的向量也不同。最后则通过向量关系来对文字进行类别判断。