首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OpenAI最新研究:如何通过无监督学习提升自然语言理解能力?

原文来源:amazonaws.com

作者:Alec Radford、Karthik Narasimhan、Tim Salimans、Ilya Sutskever

「雷克世界」编译:嗯~阿童木呀

导语:长期以来,使用无监督(预)训练来提高区别性任务的性能表现一直是机器学习研究的一个重要目标。最近,OpenAI通过使用一个具有可扩展性的任务不可知系统,在一系列不同的自然语言任务上实现了当前最先进的研究成果。而该系统将两种现有的方法进行了联合,即transformers和无监督预训练。接下来,我们就来了解一下。

一般来说,自然语言理解涵盖各种各样的任务,如文本蕴涵(textual entailment)、问题回答(question answering)、语义相似度评估(semantic similarity assessment)和文档分类(document classification)。尽管大型未标记的文本语料非常丰富,但用于学习这些特定任务的已标记数据却很少,从而使得那些经过区别性训练的模型充分发挥其作用变得具有挑战性。我们研究证明,在这些任务上的巨大收益可以通过对未标记文本的不同语料库中的语言模型进行生成式预训练,然后在每个特定任务上进行区别性微调来实现。与以往的方法相比,我们在微调过程中利用任务感知输入转换来实现有效的迁移,同时需要对模型体系结构进行最小程度化的更改。我们在大量的自然语言理解基准上展示了我们所提出方法的有效性。我们的通用任务不可知模型(task-agnostic model)的性能表现要远远优于那些使用针对每项任务专门设计的体系结构进行区别性训练的模型,在所研究的12项任务中,有9项都显著地对现有的最先进技术有了改进。例如,我们在常识推理(commonsense reasoning)(Stories Cloze Test)方面实现了8.9%的绝对性改进,在问题回答(RACE)方面的改进为5.7%,在文本方面(MultiNLI)改进为1.5%。

图1:(左)本研究中使用的Transformer架构和训练目标。(右)在不同任务中用于微调的输入变换。我们将所有结构化输入转换为标记序列,以便由我们的预训练的模型进行处理,然后再用线性+ softmax层进行处理。

可以这样说,从原始文本中进行有效学习的能力对于缓解自然语言处理(NLP)中对监督学习的依赖具有至关重要的作用。大多数深度学习方法都需要大量的手动标记数据,而这限制了它们在许多缺乏注释资源的领域内的适用性。在这些情况下,可以利用未标记数据中语言信息的模型为收集更多注释提供了一个有价值的替代性选择方法,而这些注释可能是非常耗时且昂贵的。此外,即使在有相当多的监督可用的情况下,以无监督的方式学习良好的表征也可以提供显著的性能提升。到目前为止,最令人信服的证据就是,使用了大量的预训练词嵌入(word embeddings)以提高一系列NLP任务的性能改进。

然而,对于未标记文本中词级以上信息的利用是具有挑战性的,主要有两个原因。首先,不清楚什么类型的优化目标在学习那些对于迁移有用的文本表征时是最有效的。最近的研究着眼于各种目标,如语言建模、机器翻译、以及语篇连贯(discourse coherence),且每种方法在不同任务上的性能表现都要优于其他方法;其次,对于最有效的方法而言并没有达成一种共识从而将这些已学习的表征迁移到目标任务中。现有技术涉及到一种使用错综复杂的学习方案和添加辅助学习目标,对模型架构进行特定于任务的更改的组合。这些不确定性使得难以为语言处理开发出一种有效的半监督学习方法。

图2:我们实验中所使用的不同任务和数据集列表。

在本文中,我们使用无监督预训练和监督微调的组合,探索了一种用于语言理解任务的半监督方法。我们的目标是学习一种通用的表征方式,而这种表征能够几乎不做任何调整就迁移到各种各样的任务中。我们假设可以访问大量未标记文本的语料库以及若干个具有手动注释的训练样本(目标任务)的数据集。我们的设置不要求这些目标任务与未标记的语料库处于相同的域中。我们采用了一个两阶段的训练程序。首先,我们在未标记的数据上使用一个语言建模目标来学习神经网络模型的初始参数。随后,我们使用一个相应的监督目标将这些参数调整为目标任务中。

对于我们的模型体系结构,我们使用的是Transformer,它已被证明在诸如机器翻译、文档生成和句法分析等各种任务中的性能表现非常好。这种模型选择为我们提供了一个更加结构化的记忆,用于处理文本中的长期依赖关系,与循环网络等替代方案相比,它可在各种任务中实现具有鲁棒性的迁移性能。在迁移过程中,我们利用来自遍历式方法(traversal-style approaches)的特定于任务的输入调整,它将结构化文本输入作为单个连续的标记序列进行处理。正如我们在实验中所展示的那样,这些适应性调整使得我们能够对已预训练模型的体系结构进行最小限度的更改,从而进行有效的微调。

图3:(左)从RACE和MultiNLI上的预训练语言模型迁移越来越多层的效果。(右图)显示了随着LM预训练函数的更新,不同任务中零样本性能表现的演变情况。每个任务的性能在随机猜测基线和单一模型当前最先进的技术水平之间进行归一化。

在本文中,我们在四种语言理解任务上——自然语言推理、问题回答、语义相似度和文本分类,对我们所提出的方法进行了评估。我们的通用任务不可知模型的性能表现要远远胜过那些使用针对每项任务专门设计的体系结构进行区别性训练的模型,在所研究的12项任务中,有9项都对现有的最先进技术进行了显著改进。例如,我们在常识推理(Stories Cloze Test)获得了8.9%的改进、在问题回答(RACE)获得了5.7%的改进、在文本蕴涵(MultiNLI)获得了1.5%的改进,以及在最近引入的GLUE多任务基准上获得了5.5%的改进。我们还在四种不同的环境设置中分析了预训练模型的零样本(zero-shot)行为,并证明它为下游任务获取有用的语言知识。

我们引入了一个框架,通过生成式预训练和区别性微调,用单个任务不可知模型实现强大的自然语言理解。通过对具有长距离连续文本的多样语料库进行预训练,我们的模型获得了重要的世界知识和处理远程依赖的能力,而这种能够随后将成功地迁移到解决诸如问题回答、语义相似度评估、蕴涵确定、文本分类等区分性任务,改进我们所研究的12个数据集中的9个当前最先进技术的性能表现。长期以来,使用无监督(预)训练来提高区别性任务的性能表现一直是机器学习研究的一个重要目标。而我们的研究表明,实现显著的性能收益确实是可能的,并提供了一些有关对于什么样的模型(Transformers)和数据集(具有长距离依赖关系的文本)来说,使用这种方法将最有效的提示。我们希望这将有助于开展在自然语言理解和其他领域中对无监督学习的新研究,从而进一步提高我们对无监督学习将如何以及何时发挥作用的理解。

原文链接:https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180612A1AX4500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券