0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenAI介绍可扩展的,与任务无关的的自然语言处理(NLP)系统

电子工程师 2018-06-17 22:20 次阅读

近日,OpenAI 在其官方博客发文介绍了他们最新的自然语言处理(NLP)系统。这个系统是可扩展的、与任务无关的,并且在一系列不同的 NLP 任务中都取得了亮眼的成绩。但该方法在计算需求等方面仍存在改进的空间。下面我们来看他们的博文:

我们即将发布一个可扩展的,与任务无关的自然语言处理系统,该系统在一系列不同的语言任务上都取得了目前最先进的成绩。我们的方法结合了两种现有的 NLP 网络架构:Transformer 和无监督预训练。大量任务数据集上的测试结果表明,这种方法将监督学习方法与无监督预训练结合得非常好;当然,这也是之前许多人在探索的想法。我们希望我们的工作能够激发该方向进一步的研究,并鼓励大家将这一想法应用到更大更多的不同数据集上。

先看结果:

我们的系统的工作流程分为两个阶段:首先,以无监督的方式在大量数据上训练一个 Transformer 模型——使用语言建模作为训练信号——然后,在小得多的监督数据集上对这个模型进行 fine-tuning,以帮助它解决特定的任务。这项研究是建立在我们之前一项关于情绪神经元(Sentiment Neuron)的工作基础之上的,在那项工作中我们注意到,当训练数据足够多时,无监督学习技术可以产生惊人的判别性特征。

在本项研究工作中,我们这个想法进行了进一步的探索:我们可以开发一个模型,以无监督的方式对大量数据进行训练,然后对模型进行 fine-tuning,以在许多不同任务上获得良好的性能。我们的研究结果表明,这种方法的效果非常好。针对不同的任务,只需要对同一个的核心模型进行最少的调整就可以进行应用。

这项工作建立在半监督序列学习(Semi-supervised Sequence Learning)的基础之上,其中半监督序列学习方法展示了如何通过使用 LSTM 的无监督预训练,然后进行有监督的 fine-tuning 来提高文档分类性能。

我们的工作还对ULMFiT进行了拓展,说明了为了在各个文档分类数据集上获得最先进的性能,应该如何对单个与数据集无关的 LSTM 语言模型进行 fine-tuning;我们的工作展示了如何使用基于 Transformer 的模型来实现文档分类之外的更广泛的任务,如常识推理,语义相似性和阅读理解。

它和 ELMo 也有一些类似,但比 ELMo 更加通用。(编辑注:ELMo 是目前最先进的上下文词嵌入技术,同样使用了预训练技术,但为了在各种任务中获得最先进的结果针对不同任务使用了定制架构。)

我们的实验结果只需要进行非常少的调整就可以实现。其中所有数据集都使用单一的正向语言模型,没有任何集成,并且大多数报告结果都使用了完全相同的超参数设置。

值得一提的是该方法在三种关于测试常识推理和阅读理解的数据集(COPA,RACE和ROCStories)上的表现。我们的模型以远超第二名的成绩在这些数据集上获得了最先进的结果。这些数据集普遍被认为需要借助多语句推理和有意义的世界知识进行解决,而我们的模型主要通过无监督学习来提高这些技能。这也表明了通过无监督技术来开发复杂的语言理解功能的可能。这让我们特别兴奋。

▌为什么是无监督学习?

监督学习是机器学习最近成功的关键。但是,它可能需要大量的、经过仔细清理的、昂贵的数据集才能发挥非常好的作用。而无监督学习则有可能解决这些不足,这是非常有吸引力的。由于无监督学习没有了显式人工标签的限制,在当前计算量和原始数据不断增加的趋势下,这项技术表现出了非常好的扩展性。 不过虽然无监督学习是一个非常活跃的研究领域,但其实际用途仍然有限。

最近有人试图通过无监督学习用大量无标记数据进行增强以进一步提高系统的自然语言处理能力。通过无监督技术训练的词向量表示可以使用由 TB 级信息组成的大型数据集,并且当它与监督学习相结合时,可以提高各种 NLP 任务的性能。之前,这些 NLP 的无监督技术(例如GLoVe和word2vec)使用的都还是简单模型(词向量)和训练信号(词局部共现,the local co-occurence of words)。

Skip-Thought Vectors是早期的一个值得注意的方法,展示了通过更复杂的方法实现的改进的可能性。而现在正在使用的新技术则进一步提高了性能,这包括使用预训练的语句表示模型,上下文词向量(主要是ELMo和CoVE),以及使用定制架构来融合无监督预训练和监督 fine-tuning 的方法(也就是我们的方法)。

在大量文本上对我们的模型进行预训练,可显著提高其在诸如 Winograd Schema Resolution 等具有挑战性的自然语言处理任务上的表现。

我们还注意到,该方法可以直接使用底层语言模型开始执行任务,而无需对其进行任何训练。例如,随着基础语言模型的改进,像在选择题中选择正确答案这种任务的性能会稳步增加。

虽然这些方法的绝对性能相对于最新的监督技术而言仍然很低(对于问答式任务,它仅比简单的滑动窗口基线结果好),但令人鼓舞的是,这种行为在大量任务中表现的非常鲁棒。这种不使用任务和世界信息的随机初始化网络表现的和使用这些信息的随机网络一样好。这为我们了解为什么生成式预训练可以提高下游任务的性能提供了一些有意义的参考。

我们还使用模型中现有的语言功能进行了情感分析。对于斯坦福 Sentiment Treebank 数据集(该数据集包含了电影评论中的正面和负面语句),我们可以使用语言模型来猜测评论是正面还是负面(在语句后面输入单词“very”即可进行预测),并且观察模型是倾向于将词性预测为“积极”还是倾向于将词性预测为“消极”。 这种方法根本不需要根据任务对模型进行调整,并且其性能与经典基线准确率相当,可达 80% 。

我们的工作也验证了 Transformer 架构的鲁棒性和实用性,表明它具有足够的灵活性,可在广泛的任务中实现最先进的结果,而无需复杂的任务定制或超参数调整。

▌不足之处

这个项目也有一些突出问题非常值得注意:

计算需求:以前的许多自然语言处理方法都是从头开始在单个 GPU 上训练相对较小的模型。但我们的方法预训练步骤计算需求则相当昂贵——在 8 个 GPU 上训练 1 个月。幸运的是,这只需要做一次,我们正在将我们的模型发布出来,以方便其他人不用重复这一步骤。

它也是一个大型模型(与之前的工作相比),因此使用了更多的计算和内存——我们使用了37层(12块)Transformer 架构,并且在最多可达 512 个 tokens 的序列上训练。并且大多数实验都是在 4 个和 8 个 GPU 的系统上进行的。该模型针对新任务进行 fine-tuning 的速度非常快,有助于减轻额外的资源需求。

通过文本学习世界的局限性和偏见:互联网上随时可用的书籍和文本所包含的关于世界的信息并不完整,甚至并不准确。最近的研究(https://arxiv.org/abs/1705.11168)表明,某些类型的信息很难通过文本进行学习。而另外一些研究(https://arxiv.org/abs/1803.02324)则表明了数据分布中存在的模型学习和开发偏见。

依旧脆弱的泛化性能:尽管我们的方法提升了自然语言处理系统在大量任务上的性能,但目前的深度学习 NLP 模型仍然表现出了令人惊讶的反直觉的行为——尤其是在以系统性、对抗性或分布性的方式进行评估时。尽管我们已经观察到一些研究进展,但我们的方法对这些问题并不是免疫的。

这种方法表现出比先前的面向文字蕴含(Textual entailment)的神经网络方法更好的词法鲁棒性。在 Glockner 等人介绍的数据集(https://arxiv.org/abs/1805.02266)上,我们模型的准确率达到了 83.75%,其性能类似于通过 WordNet 整合外部知识的KIM。

▌工作展望

方法规模化拓展:我们已经观察到,语言模型的性能改进与下游任务的改进密切相关。目前我们正在使用商用硬件(一台 8 GPU 计算机)以及仅包含几千本书(约 5 GB 文本)的训练数据集。这表明经过充分验证该方法在处理越来越大的计算量和数据时还有很大提升空间。

改进的 fine-tuning:我们在 fine-tuning 上的策略目前非常简单。通过使用更复杂的自适应和转换技术(例如ULMFiT中的技术)可能为我们的系统带来实质性的改进。

更好地理解生成式预训练带来提升的原因:尽管我们已经讨论了一些关于这个问题的想法,但更有针对性的实验和研究将有助于我们对那些相互矛盾的解释进行判断。例如,我们观察到的提升有多少是由于对处理更广泛上下文能力的改进,以及多少是由于对世界知识的改进?

▌附录:数据集示例

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

原文标题:OpenAI NLP最新进展:通过无监督学习提升语言理解

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ASR与自然语言处理的结合

    ASR(Automatic Speech Recognition,自动语音识别)与自然语言处理NLP)是人工智能领域的两个重要分支,它们在许多应用中紧密结合,共同构成了自然语言理解和
    的头像 发表于 11-18 15:19 255次阅读

    自然语言处理与机器学习的区别

    在人工智能的快速发展中,自然语言处理NLP)和机器学习(ML)成为了两个核心的研究领域。它们都致力于解决复杂的问题,但侧重点和应用场景有所不同。 1. 自然语言
    的头像 发表于 11-11 10:35 324次阅读

    nlp自然语言处理基本概念及关键技术

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个重要分支,它致力于使计算机能够理解、解释和生成人类语言
    的头像 发表于 07-09 10:32 505次阅读

    nlp自然语言处理框架有哪些

    自然语言处理(Natural Language Processing,简称NLP)是计算机科学和人工智能领域的一个重要分支,它致力于使计算机能够理解和处理人类
    的头像 发表于 07-09 10:28 487次阅读

    nlp自然语言处理的主要任务及技术方法

    自然语言处理(Natural Language Processing,简称NLP)是人工智能和语言学领域的一个分支,它研究如何让计算机能够理解、生成和
    的头像 发表于 07-09 10:26 845次阅读

    nlp自然语言处理模型怎么做

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个重要分支,它涉及到计算机对人类语言的理解和生成。随着深度学习技术的发展,
    的头像 发表于 07-05 09:59 523次阅读

    nlp自然语言处理模型有哪些

    自然语言处理(Natural Language Processing,NLP)是计算机科学和人工智能领域的一个重要分支,旨在使计算机能够理解、解释和生成人类语言。以下是对
    的头像 发表于 07-05 09:57 602次阅读

    nlp自然语言处理的应用有哪些

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个分支,它致力于使计算机能够理解和生成自然语言。随着技术的发展,
    的头像 发表于 07-05 09:55 2434次阅读

    使用Python进行自然语言处理

    在探讨使用Python进行自然语言处理NLP)的广阔领域时,我们首先需要理解NLP的基本概念、其重要性、Python在NLP中的优势,以及
    的头像 发表于 07-04 14:40 393次阅读

    用于自然语言处理的神经网络有哪些

    取得了显著进展,成为处理自然语言任务的主要工具。本文将详细介绍几种常用于NLP的神经网络模型,包括递归神经网络(RNN)、长短时记忆网络(L
    的头像 发表于 07-03 16:17 834次阅读

    自然语言处理模式的优点

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个重要分支,它致力于使计算机能够理解、生成和处理人类
    的头像 发表于 07-03 14:24 641次阅读

    自然语言处理是什么技术的一种应用

    自然语言处理(Natural Language Processing,简称NLP)是人工智能和语言学领域的一个分支,它涉及到使用计算机技术来处理
    的头像 发表于 07-03 14:18 606次阅读

    自然语言处理包括哪些内容

    ,从而实现人机之间的自然交流。本文将详细介绍NLP的主要内容,包括基本概念、关键技术、应用领域等。 一、自然语言处理的基本概念
    的头像 发表于 07-03 14:15 716次阅读

    什么是自然语言处理 (NLP)

    自然语言处理(Natural Language Processing, NLP)是人工智能领域中的一个重要分支,它专注于构建能够理解和生成人类语言的计算机
    的头像 发表于 07-02 18:16 1032次阅读

    自然语言处理技术的原理的应用

    自然语言处理(Natural Language Processing, NLP)作为人工智能(AI)领域的一个重要分支,旨在使计算机能够理解和处理人类
    的头像 发表于 07-02 12:50 441次阅读