我正在阅读BERT模型文件。在预训练BERT模型期间的Masked Language Model任务中,论文说该模型将随机选择15%令牌。在选择的令牌(Ti)中,80%的令牌将被[MASK]令牌替换,10%的Ti保持不变,而10%的Ti被另一个单词替换。我认为该模型只需替换为[MASK]或其他词就足够了。为什么模型必须随机选择一个单词并保持不变?训练前过程仅预测[MASK]令牌还是预测整个随机令牌的15%?
答案 0 :(得分:2)
之所以这样做,是因为他们想预训练双向模型。在大多数情况下,网络会看到带有[MASK]令牌的句子,并且经过训练可以预测应该存在的单词。但是在预训练之后进行的微调中(微调是每个想要在其任务上使用BERT的人员所进行的训练),没有[MASK]令牌! (除非您专门屏蔽了LM)。
预训练和训练之间的这种不匹配([MASK]令牌的突然消失)被它们减轻了,有15%的可能性该单词未被[MASK]代替。任务仍然存在,网络必须预测令牌,但实际上它已经获得了答案作为输入。这似乎违反直觉,但与[MASK]训练结合使用是有道理的。