一、bert的输入处理
(1)如果有token_b就用分割符进行拼接,并返回[0][0][0][0][0][0][0][0][0][1][1][1][1]v1][1]这样的标记
(2)如果没有token_b就用分割符包装token_a,并返回[0][0][0][0][0][0][0][0][0]
二、bert的encoder结构
就和transformers的encoder类似,下面讲区别:
就是多了segment的embedding以及随机初始化的扰动embedding
这里加入可学习的位置编码,也就是不仅仅要用embedding,要加入干扰,要随机初始化一些参数进去
这里的x就加入了随机初始化的参数,使模型可学习
三、masked模型
masked模型就是对输入进行掩盖,并对掩盖位置进行预测
蓝色线上面:
提取被掩盖(要预测的位置)的特征
蓝色下面:
将要预测位置(被掩盖的位置)的特征传入mlp中,输出预测的值
四、两个句子是否是连续的
只有是否:使用输出为2
五、bert模型
这里做的主要就是将上面的各个模块拼接在一起
是否要判断两个句子是连续的,如果不判断就进行下面的掩盖测试,这里面的0是句子的第一个token用来做二分类