bert 模型
BERT的全称是Bidirectional Encoder Representation from Transformers,简单来说就是双向的transformer的编码。
从数据集中抽取两个句子,其中第二句是第一句的下一句的概率是50%,这样就能学习句子外部句与句之间的关系。其次,去除句子中的某些词,并预测这些去除的词是什么,这样就能学习句子内部词与词之间的关系,然后将这样处理好的数据集输入到transformer中去训练,得到的就是Bert模型。
模型的结构
Bert模型既使用了transformer,并且能获取双向信息。
模型的创新点
预训练任务一Masked LM
随机mask句子中的部分token,然后将masked token 位置输出的final hidden vectors送入softmax,来预测masked token
- 随机把一句话中的百分之十五的token替换成以下内容:
–百分之八十替换成[mask]–百分之十的几率替换成任意其他的token
–百分之十的几率不变 - 让模型预测和还原被遮盖掉或替换的部分,最终输出隐藏层的计算结果的维度
将隐藏层hidden [batch size seq_len,embedding_dim]和词表[vocab_size,embedding_dim]做点积,然后softmax,得到一个相似度矩阵(句子中的字和词表每个字之间的相似