BrambleXu / knowledge-graph-learning

A curated list of awesome knowledge graph tutorials, projects and communities.
MIT License
736 stars 120 forks source link

arXiv-2019/06-XLNet: Generalized Autoregressive Pretraining for Language Understanding #225

Open BrambleXu opened 5 years ago

BrambleXu commented 5 years ago

一句话总结:

解决了BERT忽视了mask position和pretrain-funetune上差异的缺陷。整合了Transformer-XL。

资源:

论文信息:

笔记:

1 Introduction

autoregressive (AR) language modeling 和 autoencoding (AE) 是两个比较成功的预训练目标。

AR language model用于预测文本的概率分布。只能对context进行forward或backward这两种方向的编码,对于deep bidirectional context他的建模效果并不好。但是一些下游的task需要deep bidirectional context的信息。

另一方面,基于AE的预训练目的则是为了从corrupted input (masked) 来重建原始的数据。比较代表的是BERT。BERT能利用到deep bidirectional context用于重建数据,但是在pretrian中使用的MASK,在finetuning的时候是没有的,这造成了一种不一致。BERT假设predicted tokens与其他unmasked tokens是对立的,这种关系过分简化了自然语言中的依赖了。

基于上面的优缺点,提出了XLNet,本质上是一个AR模型,但能利用AR和AE的优点,避免缺点。

  1. 上面提到了AR只能使用forward 或 backward的分解顺序(factorization order),但是XLNet最大化了一个序列的expected log likelihood (预期对数似然), 这里的一个序列指的是,all possible permutations of the factorization order (分解顺序的所有可能的排列)。因为有了排列的操作,所有position的context都能有左右两边的token决定。这样能利用到所有position的context, 即能捕捉到bidirectional context。
  2. 因为用的是AR语言模型,XLNet并不会造成数据破坏(mask)。因此,XLNet也不会受到pretrain-finetune的不一致问题。

除了上面提出的新颖的预训练目标,XLNet还提高了预训练的系统设计

模型图:

image

image