为什么 BERT 模型必须保持 10% MASK 令牌不变?

Why BERT model have to keep 10% MASK token unchanged?

我正在阅读 BERT 模型论文。在预训练 BERT 模型期间的 Masked Language Model 任务中,论文称该模型将随机选择 15% 的 token。在选择的标记 (Ti) 中,80% 它将被替换为 [MASK] 标记,10% Ti 不变,10% Ti 被另一个词替换。我认为模型只需要用 [MASK] 或其他词替换就足够了。为什么模型必须随机选择一个词并保持不变?预训练过程是只预测 [MASK] 标记还是预测整个随机标记的 15%?

这样做是因为他们想要 pre-train 一个双向模型。大多数时候,网络会看到一个带有 [MASK] 标记的句子,并且它被训练来预测应该在那里的单词。但是在 fine-tuning 中,这是在 pre-training 之后完成的(fine-tuning 是每个想在他们的任务中使用 BERT 的人所做的训练),没有 [MASK] 令牌! (除非你专门做蒙面 LM)。

pre-training 和训练之间的这种不匹配([MASK] 标记突然消失)被它们软化了,有 15% 的概率这个词没有被 [MASK] 替换。任务仍然存在,网络必须预测令牌,但它实际上已经得到答案作为输入。这似乎违反直觉,但与 [MASK] 训练结合使用时是有道理的。