更多来自于GitHub:Reflection_Summary.
Bert的双向体现在什么地方?
mask+attention,mask的word结合全部其他encoder word的信息
Bert的是怎样实现mask构造的?
- MLM:将完整句子中的部分字mask,预测该mask词
- NSP:为每个训练前的例子选择句子 A 和 B 时,50% 的情况下 B 是真的在 A 后面的下一个句子, 50% 的情况下是来自语料库的随机句子,进行二分预测是否为真实下一句
在数据中随机选择 15% 的标记,其中80%被换位[mask],10%不变、10%随机替换其他单词,这样做的原因是什么?
- mask只会出现在构造句子中,当真实场景下是不会出现mask的,全mask不match句型了
- 随机替换也帮助训练修正了[unused]和[UNK]
- 强迫文本记忆上下文信息
为什么BERT有3个嵌入层,它们都是如何实现的?
- input_id是语义表达,和传统的w2v一样,方法也一样的lookup
- segment_id是辅助BERT区别句子对中的两个句子的向量表示,从[1,embedding_size]里面lookup
- position_id是为了获取文本天生的有序信息,否则就和传统词袋模型一样了,