本次分享将主要关注OpenAI在自然语言处理领域的两个预训练的工作GPT和GPT-2.0. 通过分析GPT的两个模型,重点探讨基于单向语言模型的NLP预训练过程对序列生成任务的作用以及利用预训练模型进行NLP多种任务无监督测试的方式和效果。GPT-2.0在机器翻译、问答系统、文本摘要等复杂任务上的性能展示出NLP预训练模型的强大功能以及其在自然语言序列生成中性能。
讲者介绍
马聪:2017年获北京科技大学工学学士学位,专业智能科学与技术,现保送至中国科学院自动化研究所模式识别国家重点实验室,研究兴趣为自然语言处理、机器翻译、多模态信息处理等。曾任中国科学院大学人工智能技术学院首届学生会主席。研究生入学至现在,以第三作者的身份分别参与了一篇EMNLP会议论文和一篇TKDE期刊论文。
报告题目:Generative Pre-Training in NLP & Its Generalization
报告摘要:本次分享将主要关注OpenAI在自然语言处理领域的两个预训练的工作GPT和GPT-2.0. 通过分析GPT的两个模型,重点探讨基于单向语言模型的NLP预训练过程对序列生成任务的作用以及利用预训练模型进行NLP多种任务无监督测试的方式和效果。GPT-2.0在机器翻译、问答系统、文本摘要等复杂任务上的性能展示出NLP预训练模型的强大功能以及其在自然语言序列生成中性能。本次分享还将简要介绍利用预训练模型在后续任务利用监督信息进行fine-tune的一些近期工作。
Spotlight:
- 分享GPT、GPT-2.0的设计思路和性能分析;
- 介绍GPT系列模型所应用的各种NLP任务定义及示例;
- 介绍NLP领域无监督预训练搭配监督微调的近期工作。
论文推荐
Language Models are Unsupervised Multitask Learners
推荐理由:Open AI提出的自然语言处理中的预训练模型GPT-2.0版本。该篇论文中的预训练模型基本延续了GPT-1.0的模型结构,是基于Transformer的自注意力网络结构进行单向语言模型训练,其改进在于层归一化(Layer Norm)的位置,以及对层数的增加(最多达到48层)。另外该论文中使用了800万的丛Reddit上爬取的WebText数据资源来进行预训练,更大规模的训练数据,更大规模的网络架构使得GPT-2.0在语言模型上的预训练效果得到了进一步的提升。值得注意的是,GPT-2.0在一系列NLP的任务上进行了无监督测试的实验和分析,即在预训练过后,不进行fine-tune而直接进行测试。GPT-2.0在阅读理解、自动摘要、机器翻译、问答系统等较为复杂的NLP任务上都进行了无监督的测试,虽然无监督测试的结果同监督训练的性能还有一定的距离,但是GPT-2.0的无监督测试效果已经比无监督测试的一些state-of-the-art有了不小的提升。同时GPT-2.0在文本生成的效果上得到了非常流畅的结果,这大大归功于大规模语言模型的训练,也展示出了语言模型训练对文本生成的重要作用。
Improving Language Understanding by Generative Pre-Training
推荐理由:GPT-1.0的工作,该篇论文采取单向语言模型预训练的思想搭配fine-tune在一系列的NLP任务上达到了state-of-the-art的效果。预训练的过程中使用Transformer的解码器作为特征提取器,预训练过程以语言模型的目标函数作为优化目标;在fine-tune阶段,使用语言模型配合具体任务的损失函数线性加权进行训练。从整个工作的框架上分析,该篇工作属于半监督的范式。在成分分析实验部分,论文发现不进行模型预训练而直接进行监督训练会使得性能有较大的损失,而对于fine-tune部分删去语言模型损失函数与监督损失函数的线形叠加,只使用监督损失函数,会使得NLI任务的性能有一定下降,但是问答系统及文本分类的性能并没有受到影响,反而有小幅提升。总结来说,本文利用单向语言模型预训练Transformer在NLP预训练配合无监督及监督fine-tune做了初探性的工作,并展示出NLP任务也能受到预训练的益处。
Pre-trained Language Model Representations for Language Generation
推荐理由:这篇工作发表在NAACL’19中。该论文主要是利用预训练ELMO模型,并将其后续搭配机器翻译、自动摘要工作来训练其在文本生成上的实验效果。在机器翻译任务上,该论文发现,当预训练完成后,在监督学习的fine-tune部分,如果监督的语料规模比较小,会使得预训练的模型好于只利用小规模训练的翻译模型;但是当翻译任务的语料规模较大时,预训练模型所展现出来的优势便不再明显。此外在文本摘要的任务上,利用预训练模型并配合fine-tune也会使得实验性能有一定的提升。
Multi-Task Deep Neural Networks for Natural Language Understanding
推荐理由:这一篇工作是微软提出的利用多任务训练的架构MT-DNN在自然语言处理中进行预训练。该工作的基础模型共享Transformer,即把Transformer作为预训练的特征提取器,在不同的任务上共享该部分的参数。在下游任务上对应不同的task-specific架构,并搭配对应任务的损失函数,训练的过程进行整体模型的参数修改。该工作所使用的多任务搭配预训练的架构展示出不同的任务协同训练,可以一定程度为模型参数学习提供正则化的效果,是预训练模型并应用在下游任务的一种重要方式。
ETNLP- A Toolkit for Extraction, Evaluation and Visualization of Pre-trained Word Embeddings
推荐理由:这篇工作发布了一个工具包,来帮助研究工作人员对预训练的词向量进行抽取使用、评估以及可视化分析。文章中对预训练的词向量的分析主要基于词级别的语义相似度的分析上。作者开源了工具包的代码,同时分析了ELMO、BERT等预训练模型所学到的词向量以及效果分析。研究者在使用NLP预训练的模型前,可以利用该工具包分析一下不同预训练模型的特点和效果,以选择更适合研究任务的预训练模型。
参考资料
https://www.bilibili.com/video/BV1N4411Y7zT/
https://bbs.sffai.com/d/61-bert-nlp