Pre-train
屏蔽输入
BERT的处理像Transformer的Encoder(输入一排矩阵,输出一排矩阵),在训练的时候,我们会将输入的矩阵中的随机一个输入盖住(用一个字符替换,或者用其他字替换),将bert得到的结果进入Linear矩阵计算后进行softmax,我们要将训练得到的结果和盖住的结果越接近越好。
预测俩个句子是不是相接的
我们在俩个句子中间加上分割符号[SEP]在俩个句子的开头加上特殊符号[CLS],将这样子的矩阵输入到BERT中,得到[CLS]的输出,将这个输出进行Linear的权重计算,训练到真正可以判断俩个句子是不是可以相邻的
Fine-tune
分类问题
分类问题就是将特殊符号[CLS]和文字一起输入到BERT中,将[CLS]得到的结果进行Linear矩阵计算,得到最后的分类结果。这边BERT的参数用之前pre-train中屏蔽输入得到的结果,而Linear的参数用数据标注的资料训练得到的结果。
相同长度的输入输出问题
将输入的文字和[CLS]连接后输入到BERT中,得到后面输入文字的结果,分别进行Linear的计算,得到相应的结果,其中BERT的参数也是取pre-train得到的结果。
得到俩个句子之间的关系问题
在俩个句子中间加上分割符号[SEP]在俩个句子的开头加上特殊符号[CLS],将这样子的矩阵输入到BERT中,得到[CLS]的输出,将这个输出进行Linear的权重计算,来判断俩个句子的关系
问答系统(在题干中找到答案类型的问题)
将问题和文本用[SEP]分隔符分开,并在开头加上[CLS]起始符号一起输入到BERT中得到一排输出,用来个和输出一样长的向量表示答案的开始和答案的结束位置。
将起始向量和结束向量分别和文本进行inner product计算,得到的结果进行softmax计算,找到最大的那个结果,分别表示答案在文中的起始位置和答案在文中的结束位置