我是靠谱客的博主 奋斗老鼠,这篇文章主要介绍关于BERT的相关问题,现在分享给大家,希望可以做个参考。

Transformer和BERT的位置编码有什么区别?

BERT的位置编码是学习出来的,Transformer是通过正弦函数生成的。

原生的Transformer中使用的是正弦位置编码(Sinusoidal Position Encoding),是绝对位置的函数式编码。由于Transformer中为self-attention,这种正余弦函数由于点乘操作,会有相对位置信息存在,但是没有方向性,且通过权重矩阵的映射之后,这种信息可能消失。

BERT中使用的是学习位置嵌入(learned position embedding),是绝对位置的参数式编码,且和相应位置上的词向量进行相加而不是拼接。

BERT模型结构是什么?

利用Transformer结构构造了一个多层双向的encoder网络。

BERT预训练任务是什么?

任务1:遮挡语言模型(Masked Language Model)。方法:随机遮挡每个sequence中的15%的词(替换为统一标记[MASK]),然后预测这些被遮挡的词。

任务2:下一句预测(Next Sentence Prediction)。方法:把50%输入sequence中的句子对的B句子随机替换,然后预测B是否是A的下一句。

BERT学习目标是什么?

利用大规模无标注语料训练,获得文本的语义表示,然后将文本的语义表示在特定NLP任务中作微调,最终应用于该NLP任务。

怎么设计让BERT学到语义信息的?

通过遮挡语言模型(Masked Language Model),预测被[MASK]代替的词,不断的“对比”上下文的语义,句法和词义信息,从而学到了大量相关的知识。

BERT embedding layer有三个嵌入层的含义?

Token-embedding:将单词转换为固定维的向量表示形式,在BERT-base中,每个单词都表示为一个768维的向量。

Segment-embedding:BERT在解决双句分类任务(如判断两段文本在语义上是否相似)时是直接把这两段文本拼接起来输入到模型中,模型是通过segment-embedding区分这两段文本。对于两个句子,第一个句子的segment-embedding部分全是0,第二个句子的segment-embedding部分全是1。

Position-embedding:BERT使用transformer编码器,通过self-attention机制学习句子的表征,self-attention不关注token的位置信息,所以为了能让transformer学习到token的位置信息,在输入时增加了position-embedding。

Position-embedding可以拼接吗?

引入外部知识源时,会出现多个embedding,输入给模型时一般不要直接相加,会损失信息,可以把不同的embedding拼接在一起,如果维度过高的话,可以在通过一个全连接层降低维度。

如何加速Bert模型的训练。 

混合精度训练。

BERT的CLS向量为什么可以用来分类?

与文本中已有的其它token相比,这个无明显语义信息的符号会更“公平”地融合文本中各个字/词的语义信息。

为什么已经有85%不进行“mask策略”修改的token,还需要在15%进行“mask策略”的token中选取10%保持原词不变?

BERT预训练模型在训练阶段采用MLM任务,会给数据引入[mask]这种标记。但是在下游任务的数据中是没有这种标记的。因此BERT作者设计了“mask策略”的数据修改方式。

BERT的输入数据
BERT预训练模型会对输入数据进行“mask策略”的修改。具体为:
保留85%的token不进行“mask策略”的修改(也就是单词还是其本身
对15%的token进行“mask策略”的修改

“mask策略”
对于被选中 需要进行“mask策略”的token:
以80%的概率替换为[MASK]标记;
以10%的概率替换为词表中的任意一个随机的词;
以10%的概率保持原词不变,即不替换。(也就是单词还是其本身

原因分析:
核心原因1:想让模型“明白” 输入的数据中包含真实的单词
核心原因2:85%的那部分token不参与梯度更新
虽然BERT模型会将全部输入的token最终转化为词向量,并预测出来对应的token,但是只有15%进行“mask策略”的token才会计算loss并进行反向传播,能够影响模型。因此,虽然数据中存在85%的token没做任何修改,但是并不能让模型“明白”输入的数据中包含真实的单词。恰恰需要15%能够影响模型的token中,10%不进行替换的单词才能让模型“明白”输入数据中也不全是有错误的。因此能够缓解预训练阶段有[mask],而下游任务没有[mask]这个不一致问题。
 

最后

以上就是奋斗老鼠最近收集整理的关于关于BERT的相关问题的全部内容,更多相关关于BERT内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部