Bert预训练模型

Bert预训练模型

1 架构

bert的输入是input_emb + pos_emb + seg_emb,分别是词向量,位置编码,句子编码
bert的编码端是由相同的编码层堆叠而成,每个编码层包括:多头自注意力机制,残差连接,layer norm, ffn, layer norm组成。

bert的编码层层数:12(base), 24(large)
维度:768

2:bert的预训练任务

2.1 MLM(masked language model)

bert的MLM是对于输入文本,随机选取15%的token对其进行操作,操作的方法:80%替换程MASK,10%保持不变,10%替换成其他词。

目的:bert进行MLM是为了获得输入句子的上下文与被mask词的语义关系,但是为了适应下游任务(下游任务没有MASK符号)且获得该词本身的语义信息,选择80%MASK, 10%保持不变。同时为了防止模型偷懒记住这些MASK词本身的信息,引入10%的替换,这样模型就必须通过双向语义信息去推断预测词

2.2 NSP(next sentence prediction)

bert的第二个任务是预测输入的两个句子是否为连续,这是考虑到下游任务中存在任务需要对两个句子进行建模,因此bert引入了这个任务,并不是必须的。

你可能感兴趣的:(预训练模型,自然语言处理)