《Improving Language Understanding by Generative Pre-Training》
这篇论文《Improving Language Understanding by Generative Pre-Training》由Alec Radford等人撰写,主要介绍了一种通过生成预训练(Generative Pre-Training)来提升模型自然语言理解能力的方法。论文的核心贡献在于提出了一种有效的预训练和微调方法,使得单一模型能够在多个NLP任务上实现优异的性能,推动了无监督学习在自然语言理解领域的研究。
摘要
自然语言理解包括多种任务,如文本蕴含、问题回答、语义相似性评估和文档分类。标记数据稀缺,而未标记文本语料库丰富,这使得基于判别式训练的模型难以表现良好。论文展示了通过在未标记文本上进行生成预训练,然后在特定任务上进行判别式微调,可以在这些任务上实现显著提升。方法在12个研究任务中的9个上超越了特定任务架构的判别式训练模型,显著提高了最先进技术。
引言
从原始文本中有效学习对于减少自然语言处理(NLP)对监督学习的依赖至关重要。深度学习方法需要大量手动标记的数据,这限制了它们在许多领域的应用。预训练词嵌入已被广泛用于提高NLP任务的性能。
相关工作
半监督学习:使用未标记数据来提高监督模型的性能。无监督预训练:作为半监督学习的一种特殊形式,目标是找到一个好的初始化点。
框架
训练过程包括两个阶段:在大量无标记文本上学习高容量的语言模型,然后使用标记数据对模型进行微调以适应特定任务。使用Transformer模型架构,因为它在处理文本中的长期依赖关系方面表现良好。
a.无监督预训练
这个阶段的目标是学习文本的初始参数,而不需要任何标注数据。
目标函数:使用语言模型目标,最大化给定上下文条件下下一个词的概率。
其中,k 是上下文窗口的大小,P 是由神经网络参数 Θ 建模的条件概率。
模型架构:使用多层Transformer解码器,这是一种变体的Transformer模型,应用多头自注意力机制和位置敏感的前馈网络来生成目标词的输出分布。
b.有监督微调
在有监督微调阶段,作者将预训练的模型参数调整到特定的目标任务上,使用标注数据进行微调。
目标函数:在微调阶段,模型的输入通过预训练模型,获得最终Transformer层的激活,然后通过一个额外的线性输出层来预测标签 y。
P(y∣x1,…,xm) = softmax(hlmWy)
其中,hlm 是最后一层的激活, Wy是输出层的参数。
辅助目标:在微调过程中,除了主要的监督目标外,还加入了语言模型作为辅助目标,以提高模型的泛化能力和加速收敛。
实验
在多种语言理解任务上评估方法,包括自然语言推理、问题回答、语义相似性和文本分类。模型在多个数据集上实现了新的最佳结果,包括常识推理、问题回答和文本蕴含。
数据集:使用BooksCorpus进行预训练,包含超过7,000本未出版的书籍,涵盖多种类型。
模型规格:训练了一个12层的Transformer模型,具有768维状态和12个注意力头。
优化器:使用Adam优化器,最大学习率为2.5e-4,并采用余弦退火策略。
分析
研究了从无监督预训练到监督目标任务转移不同层数的影响。分析了预训练模型在没有监督微调的情况下在不同设置下的表现(零样本行为)。进行了消融研究,比较了有无辅助语言模型目标、使用Transformer与LSTM、以及有无预训练的影响。
结论
通过在多样化的语料库上进行生成预训练和判别式微调,可以实现单一任务不可知模型在自然语言理解任务中的强性能。该方法在12个数据集中的9个上改进了最先进技术,表明无监督预训练可以显著提升判别式任务的性能。这种方法不仅提高了模型在特定任务上的性能表现,还减少了对大量标注数据的依赖,为NLP领域提供了一种新的研究方向。
原文: