基于的BERT的一些改进模型及思路
BERT的成功主要在于几大因素:超大模型+超大语料;利用Transformer;新的Loss即MLM(Masked Language Model)+NSP(Next Sentence Prediction)。其后有很多的研究在BERT的基础上进行了各种修正和改良,甚至对原Loss(比如NSP)提出了不同的看法和尝试。这里做一个简单的总结。主要涉及到的论文:RoBERTa,
ALBERT,ELECTRA。
被遗弃的NSP
BERT的loss由两部分组成(MLM+NSP)。MLM在各种研究中得到了越来越多的认可,相信LM会让位给MLM或者新的形态的LM(比如XLNet提出的PLM)。但是NSP自问世以来一直受到各种诟病和质疑。
NSP(Next Sentence Prediction)给定一个句子对,判断在原文中第二个句子是否紧接第一个句子。正例来自于原文中相邻的句子;负例来自于不同文章的句子。RoBERTa,ALBERT,XLNet都做过实验表明NSP没有必要。它们都摒弃了NSP而取得了更好的效果,ALBERT提出了更好的替代品SOP(Sentence Order Prediction)并从理论上解释了SOP之余NSP的优越性。
ALBERT的作者认为,NSP作为一项任务,和MLM相比,没有什么难度。它把主题预测和一致性预测混淆在了一起,而主题预测比一致性预测要容易。具体而言,由于正例来自于同样一篇文章,而负例来自于不同的文章,很可能判别正负例仅仅需要判别两个句子的主题是否一致,而这些信息已经在MLM中学习过了。
作为NSP的替代,SOP显然更有挑战性。它使用同一篇文章的相邻的两个句子作为正例,把句子的位置互换作为负例。任务是判断句序是否正确。而这仅属于一致性预测,大大提高了预测的难度。实验也表明SOP能较好的解决NSP任务,而NSP对SOP任务没有任何助益。在下游的多句子编码类任务中,SOP的效果得到了很好的体现。
具体实验如图:
NSP在解决SOP问题时精度仅为52%,而SOP在NSP任务上的精度是78.9%
SOP在几乎所有的下游任务中(除了SST-2)都相比NSP有提升。我个人的看法是NSP很快会被无情抛弃,仅使用MLM或者使用MLM加上一个更强的句子对任务会成为预训练的主流。