概述
要说最近NLP最显著的成果, 自然是几乎无人不知, 无人不晓的Bert.
但其实在Bert出现几个月之前, OpenAI在《Improving Language Understanding by Generative Pre-Training》就提出一个很相似的模型GPT, 取得非常不错的效果, 只可惜没得到太多关注.
模型的目标是学习一个通用的表示,能够在大量任务上进行应用。这篇论文的亮点主要在于,他们利用了Transformer网络代替了LSTM作为语言模型来更好的捕获长距离语言结构。然后在进行具体任务有监督微调时使用了语言模型作为附属任务训练目标。最后在12个NLP数据集上进行了实验,9个任务获得了SOTA。
Framwork
模型训练分为两个阶段:
- 第一阶段在大规模语料上训练语言模型
- 第二阶段为fine-tuing阶段. 利用标注数据进行监督训练
1. 无监督预训练
语言模型极大似然函数为:
其中, k表示上下文窗口大小.
GPT利用多层Transformer的解码器部分作为语言模型.
2.有监督的fine-tuning
做有监督的分类任务来进行fine-tuning