[PLM#1] (Arxiv 2018) Improving Language Understanding by Generative Pre-Training

image-20200205172527217

1. 背景

  • 动机:(1)未知何种优化目标学习到的文本表征是最有利于迁移;(2)没有一种统一有效的方法迁移学习到的文本表征到目标任务上。

  • 工作:本文探索了一种半监督的语言理解方法,结合了无监督的预训练(pre-training)和有监督的微调(fine-tuning)。

  • 目标:学习一种通用的表征,能够通过小的调整迁移到不同的任务中。

  • 前提假设:大量的未标记文本以及几种人工标记的数据集。

  • 方法:(1)使用语言模型(Language Model)目标函数进行预训练;(2)使用有监督的目标函数在下游任务上进行参数微调。

  • 模型结构:(1)使用Transformer;(2)迁移(transfer)阶段,使用任务特定的输入适应,处理结构化的文本输入成单一的连续token序列。

  • 效果:(1)在四种语言理解任务上进行测试(natural language inference,question answering,semantic similarity,text classification);(2)在12个任务中取得了9个SOTAs。

2. 相关工作

2.1 NLP半监督学习

  • 早期的方法统计无标记文本的数据,并且作为监督任务的特征。
  • 利用word embedding在无标记文本上训练,但是它们主要迁移word-level的信息,而本文capture更high level的语义。

2.2 无监督预训练

  • 目前,图像上有很广泛的应用。
  • 目前pre-training的工作使用的是LSTM,而没有用到Transformer。

2.3 辅助训练目标

  • 目前,在目标任务上加上Language Model 目标函数。

3. 框架

训练步骤分为两步:(1)首先在无标记文本上学习一个高性能的语言模型;(2)然后在具体的任务上进行有监督的训练。

3.1 无监督预训练

  • 给定一个无标记文本,使用标准的语言模型目标进行训练:
image-20200205184147394
  • 实验中,使用了多层Transformer解码器,产生了一个关于target tokens的分布:
image-20200205184357604

其中,$U$是tokens的context vectors,$W_{e}$是token embedding matrix,$W_{p}$是position embedding matrix。

3.2 有监督微调

  • 给定一个特定的数据集$C$,其中$x^{1}, …, x^{m}$是input tokens,$y$是标签,目标函数表示为:
image-20200205185557163 image-20200205185619137
  • 除此之外,增加了Language Model的目标函数作为辅助目标函数,目的是(1)增加泛化性能;(2)加速收敛。
image-20200205185805380

此时,需要额外训练的参数为$W_{y}$以及新的token embedding。

image-20200205185947286

3.3 任务特定的输入转换

  • 为了避免在不同的任务中大量的改变,引入了一种检索式的方法,将结构化的输入转化为顺序序列。
  • Textual entailment:合并了premise p和假设h,并且在中间加入了$。
  • Similarity:在这个任务中,句子没有顺序关系,因此同时处理了两种顺序,并且生成两个序列表示$h_{l}^{m}$,加于线性输出层之前。
  • Question Answering and Commonsense Reasoning:在这个任务中,给定了文档、问题和答案,合并这三者,并且在答案之前加上$。

4. 实验

4.1 设置

  • 无监督预训练:BooksCorpus数据集,其中有700本未出版的书;1B Word Benchmark,ELMo所使用。
  • 模型结构:12层decoder-only的transformer(768维状态,12个关注头)。

4.2 监督微调

image-20200205192131050

  • Natural language inference:
image-20200205192258795
  • Question answering and commonsense reasoning:
image-20200205192352731
  • Semantic similarity and classification:
image-20200205192714585

5. 分析

  • 层数的影响以及zero-shot的表现
image-20200205193139585
  • 分解实验
image-20200205193351111