1. AR与AE语言模型
AR: Autoregressive Language modeling
AE: AutoEncoding Language modeling
AR语言模型:指的是,依据前面(或后面)出现的tokens来预测当前时刻的token,代表有ELMO,GPT等。
AE语言模型:通过上下文信息来预测被mask的token,代表有 BERT , Word2Vec(CBOW) 。
二者有着它们各自的优缺点:
AR 语言模型:
缺点: 它只能利用单向语义而不能同时利用上下文信息。ELMO 通过双向都做AR 模型,然后进行拼接,但从结果来看,效果并不是太好。
优点: 对生成模型友好,天然符合生成式任务的生成过程。这也是为什么 GPT 能够编故事的原因。
AE 语言模型:
缺点: 由于训练中采用了 [MASK] 标记,导致预训练与微调阶段不一致的问题。BERT独立性假设问题,即没有对被遮掩(Mask)的 token 之间的关系进行学习。此外对于生成式问题, AE 模型也显得捉襟见肘。
优点: 能够很好的编码上下文语义信息(即考虑句子的双向信息), 在自然语言理解相关的下游任务上表现突出。
总结
所以,AR方式所带来的自回归性学习了预测 token 之间的依赖,这是 BERT 所没有的;而 BERT 的AE方式带来的对深层次双向信息的学习,却又是像ELMo还有GPT单向语言模型所没有的,不管是有没有替换 [MASK]。于是,自然就会想,如何将两者的优点统一起来?这时就到了XLNet登场的时间。
2. Permutation Language Model
具体实现方式是,通过随机取一句话的一种排列,然后将末尾一定量的词给遮掩(和 BERT 里的直接替换 [MASK] 有些不同)掉,最后用 AR 的方式来按照这种排列依次预测被遮掩掉的词。
3. Transformer-XL
4. Relative Positional Encoding
简单知识点
1. bert mask之间相互独立
BERT进行了独立假设,比如句子[New, York, is, a, city], 假定MASK掉New York,输入为[MASK, MASK, is, a, city], Bert根据is a city 预测New; 根据is a city预测York. 也就是预测New和预测York是独立的,不相关的。
作者提出的Generalized Autoregressive LM在预测York依赖了New。
总结:BERT: Masked Language Model, 使用了双边的context信息,但是忽略了masked token之间的依赖关系。