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】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一种基于自然语言的轨迹修正方法

    本研究提出了ExTraCT框架,利用自然语言进行轨迹校正。该框架结合了大型语言模型(LLMs)用于自然语言理解和轨迹变形函数。ExTraCT能够根据场景在线生成轨迹修改特征及其自然语言
    的头像 发表于 01-19 10:45 156次阅读
    一种基于<b class='flag-5'>自然语言</b>的轨迹修正方法

    自然语言处理的研究内容

    自然语言处理NLP)的最新发展改变了我们与AI系统的交互方式: 1. 预训练模型:像 GPT-3 这样的模型已经进步,使人工智能能够在聊天机器人和虚拟助手中生成更连贯的上下文感知响应
    的头像 发表于 01-18 16:39 142次阅读

    2023年科技圈热词“大语言模型”,与自然语言处理有何关系

    电子发烧友网报道(文/李弯弯)大语言模型(LLM)是基于海量文本数据训练的深度学习模型。它不仅能够生成自然语言文本,还能够深入理解文本含义,处理各种自然语言
    的头像 发表于 01-02 09:28 1284次阅读

    自然语言处理和人工智能的区别

      自然语言处理(Natural Language Processing,NLP)是人工智能(AI)中的一个分支,它利用计算机技术对自然语言进行处理
    发表于 08-28 17:32 813次阅读

    自然语言处理和人工智能的概念及发展史 自然语言处理和人工智能的区别

    自然语言处理(Natural Language Processing, NLP)的定义是通过电脑软件程序实现人们日常语言的机器自动处理。为了
    发表于 08-23 18:22 486次阅读

    自然语言处理的概念和应用 自然语言处理属于人工智能吗

      自然语言处理(Natural Language Processing)是一种人工智能技术,它是研究自然语言与计算机之间的交互和通信的一门学科。自然语言
    发表于 08-23 17:31 734次阅读

    自然语言处理的优缺点有哪些 自然语言处理包括哪些内容

    自然语言处理(Natural Language Processing)是一种人工智能的技术及领域,它致力于让计算机理解及处理人类语言。它可以帮助计算机对人类
    发表于 08-23 17:26 2150次阅读

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

    自然语言处理(Natural Language Processing, NLP)一般包括以下内容: 语音识别(Speech Recognition):将人类语言转换为计算机可以理解的形
    的头像 发表于 08-03 16:22 3484次阅读

    001. 任务001: 自然语言处理训练营 #硬声创作季

    自然语言
    充八万
    发布于 :2023年07月05日 14:38:00

    PyTorch教程-16.7。自然语言推理:微调 BERT

    实验室在 SageMaker Studio Lab 中打开笔记本 在本章前面的部分中,我们为 SNLI 数据集上的自然语言推理任务(如第 16.4 节所述)设计了一个基于注意力的架构(第16.5
    的头像 发表于 06-05 15:44 957次阅读
    PyTorch教程-16.7。<b class='flag-5'>自然语言</b>推理:微调 BERT

    PyTorch教程-16.4。自然语言推理和数据集

    16.4。自然语言推理和数据集¶ Colab [火炬]在 Colab 中打开笔记本 Colab [mxnet] Open the notebook in Colab Colab [jax
    的头像 发表于 06-05 15:44 301次阅读

    PyTorch教程-16.5。自然语言推理:使用注意力

    实验室在 SageMaker Studio Lab 中打开笔记本 我们在16.4 节介绍自然语言推理任务和 SNLI 数据集。鉴于许多基于复杂和深层架构的模型, Parikh等人。( 2016
    的头像 发表于 06-05 15:44 305次阅读
    PyTorch教程-16.5。<b class='flag-5'>自然语言</b>推理:使用注意力

    PyTorch教程16.7之自然语言推理:微调BERT

    电子发烧友网站提供《PyTorch教程16.7之自然语言推理:微调BERT.pdf》资料免费下载
    发表于 06-05 10:52 0次下载
    PyTorch教程16.7之<b class='flag-5'>自然语言</b>推理:微调BERT

    自然语言和ChatGPT的大模型调教攻略

    指令调整(Instruction Tuning)将多种任务转化成自然语言表述的形式,再通过seq2seq的监督学习+多任务学习的方式调整大规模语言模型的参数。
    发表于 04-24 10:28 523次阅读
    <b class='flag-5'>自然语言</b>和ChatGPT的大模型调教攻略

    ChatGPT在自然语言处理中的局限性和挑战

    随着人工智能技术的不断发展,自然语言处理已经成为人工智能领域中备受瞩目的重要研究方向。ChatGPT作为自然语言处理技术中的一种,已经在自然语言
    的头像 发表于 04-18 16:25 944次阅读