BERT 在一个句子中掩盖 2 个单词的动机是什么?

数据挖掘 nlp 伯特 语言模型
2022-03-02 04:19:47

bert和最近的t5消融研究一致认为

与语言模型相比,使用去噪目标总是会产生更好的下游任务性能

其中去噪 == masked-lm == 完形填空。

我明白为什么学习根据双向环境来表示一个词是有意义的。但是,我不明白为什么学习在同一个句子中屏蔽 2 个单词是有益的,例如The animal crossed the road=> The [mask] crossed the [mask]animal为什么在没有上下文的情况下学习表示有意义road

注意:我知道掩蔽概率是 15%,对应于 1/7 个单词,这使得同一个句子中的 2 个单词被掩蔽是非常罕见的,但为什么它是有益的,即使概率很低?

注意2:请忽略掩蔽过程有时用随机/相同的词而不是替换掩码[mask],T5 对这个选择进行了相当长的调查,我怀疑这只是一个经验性发现:)

1个回答

因为 BERT 接受了掩码令牌之间独立性的人为假设,大概是因为它使问题更简单,但结果却很好。文章中的作者或据我所知的其他任何地方都没有讨论过这个问题。

后来的XLNet等工作致力于消除这种独立性假设,以及 BERT 中发现的其他潜在问题。然而,尽管 BERT 在下游任务上的结果有所改进,但 XLNet 并没有获得同等程度的关注和衍生作品的数量。在我看来,这是因为改进并不能证明置换语言建模目标引入的复杂性是合理的。

其他预训练方法也做出了相同的假设,例如Electra的对抗性训练。作者认为这个假设并不算太糟糕,因为实际上很少有标记被掩盖,并且它简化了方法。