Improving Language Understandingby Generative Pre-Training
Abstract
本文为了解决自然语言理解任务,提出了pre-training和fine-tune模式,在无标注的文本中pre-training模型,再在具体任务中有标注地进行fine-tune,模型相比那些专门任务设计的模型,都展现了更好的效果
Introduction
大部分文本无标注,而标注会花费很多。所以会采用pre-trained的方法获得word的表示,本文目标实现一个很小的改变就适应大部分任务的模型。本文先在大量无标注文本进行语言模型训练,初始化模型参数,然后放到下游任务进行微调。模型基于transformer,在transfer阶段将结构化文本视作单个连续token序列。我们还分析了pre-trained模型在四个不同设置上的zero-shot表现,并证明它获得了用于下游任务的有用的语言知识
Related Work
- Semi-supervised learning for NLP(Phrase-level or sentence-level embeddings)
- Unsupervised pre-training(LSTM模型依赖太短)
- Auxiliary training objectives(对应任务模型由其他任务训练帮助)
Framework
在fine-tune阶段对结构性文本进行变换:
Task-specific input transformations:
- Textual entailment:用分隔符$分割前提和假设
- Similarity:用分隔符$分割,并独立处理输入两种可能的顺序得到h并加起来
- Question Answering and Commonsense Reasoning: [ z ; q ; < s > ; a k ] [z;q; <s>;a_k] [z;q;<s>;ak]
Experiments
模型参数:
- pretrain:12层transformer的decoder层使用768维12头的mutihead, d f f = 3072 d_{ff}=3072 dff=3072 学习率2.5e-4,GELU激活函数(Gaussian Error Linear Unit)
- fine-tune
l
r
=
6.25
e
−
5
,
b
a
t
c
h
s
i
z
e
=
32
,
λ
=
0.5
lr = 6.25e-5, batchsize=32,\lambda=0.5
lr=6.25e−5,batchsize=32,λ=0.5
Analysis
随着transfer层数增加效果增加,不同模型zero-shot对比
在许多数据集中Transformer表现更好,auxiliary是必要的