1 我们如何实现通用语言智能-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示

我们如何实现通用语言智能

DPVg_AI_era 来源:cc 2019-02-13 09:28 次阅读

DeepMind新年力作《学习和评估通用语言智能》,从全新的角度对跨任务NLP模型进行了评估,探讨了要实现“通用语言智能”现如今的研究还缺失什么,以及如何实现通用语言智能。

2014年11月,那时候还没有被广泛认知为“深度学习教父”的Geoffrey Hinton,在国外网站Reddit回答网友提问的活动“AMA” (Ask Me Anything) 中表示,他认为未来5年最令人激动的领域,将是机器真正理解文字和视频

Hinton说:“5年内,如果计算机没能做到在观看YouTube视频后能够讲述发生了什么,我会感到很失望。”

幸好,现在计算机已经能够在观看一段视频后简述其内容,但距离Hinton所说的“真正理解文字和视频”,还有很远的距离。

无独有偶,统计机器学习大神Michael I. Jordan在2014年9月Reddit AMA中也提到,如果他有10亿美金能够组建研究项目,他会选择构建一个NASA规模的自然语言处理 (NLP) 计划,包括语义学、语用学等分支。

Jordan说:“从学术上讲,我认为NLP是个引人入胜的问题,既让人专注于高度结构化的推理,也触及了‘什么是思维 (mind)’ 这一核心,还非常实用,能让世界变得更加美好。”

一直以来,NLP/NLU (自然语言理解) 都被视为人工智能桂冠上的明珠,不仅因其意义重大,也表示着目标距我们遥不可及。

总之,NLP是个大难题。

前段时间在业内广泛流传的一篇“人工智障”的文章,本质上讲的就是目前NLP领域的困境。纵使有谷歌BERT模型所带来的各项指标飞跃,但要让计算机真正“理解”人类的语言,需要的恐怕不止是时间。

在最近一篇发布在Arxiv上的论文中,DeepMind的研究人员对“通用语言智能” (General Linguistic Intelligence) 做了定义,并探讨了机器如何学习并实现通用语言智能。

DeepMind新年力作《学习和评估通用语言智能》

实现通用语言智能,首先需要统一的评估标准

DeepMind的研究人员从语言的角度出发,根据近来不断发展的“通用人工智能”(AGI)的配套能力,也即能够让智能体与虚拟环境实现交互而发展出通用的探索、规划和推理能力,将“通用语言智能”定义为:

能够彻底应对各种自然语言任务的复杂性;

有效存储和重用各种表示 (representations)、组合模块 (combinatorial modules, 如将单词组成短语、句子和文档的表示),以及先前获得的语言知识,从而避免灾难性遗忘;

在从未经历过的新环境中适应新的语言任务,即对领域转换的鲁棒性。

作者还指出,如今在NLP领域存在一种非常明显且不好的趋势,那就是越来越多的数据集通过众包完成,量的确是大了,特别是在体现人类语言的“概括” (generalization) 和“抽象” (abstraction) 能力方面大打折扣,并不贴近现实中的自然分布。

此外,对于某一特定任务(比如问答),存在多个不同的数据集。因此,单独看在某个数据集上取得的结果,很容易让我们高估所取得的进步。

所以,要实现通用语言智能,或者说朝着这个方向发展,首先需要确定一个统一的评估标准。在本文中,为了量化现有模型适应新任务的速度,DeepMind的研究人员提出了一个基于在线前序编码 (online prequential coding) 的新评估指标。

接下来,就让我们看看现有的各个state-of-the-art模型性能如何。

对现有最先进模型的“五大灵魂拷问”

作者选用了两个预训练模型,一个基于BERT,一个基于ELMo。其中,BERT(base)拥有12个Transformer层,12个自注意力指针和768个隐藏层,这个预训练模型中有1.1亿个参数。另一个则基于ELMo(base),这个预训练模型有将近1亿个参数,300个双向LSTM层,100个输出层。

另有BERT/ELMo(scratch),表示没有经过预训练,从头开始的模型。

首先,作者考察了需要多少与领域知识相关的训练样本,两个模型才能在SQuAD阅读理解和MNLI自然语言推理这两个任务上取得好的表现。

纵轴F1代表在SQuAD阅读理解数据集上的得分函数,横轴代表训练样本量的对数值

答案是4万。而且,与领域知识相关的训练样本量超过4万以后,两个模型的提升都不明显,非要说的话,BERT模型在两项任务中比ELMo稍好一点。

那么,改用在其他数据集上预训练过的模型,同样的任务性能又能提高多少呢?答案是一点点。但在代码长度上,预训练过的模型要显著优于没有经过预训练的模型。

预训练模型(+supervised)与非预训练模型性能比较

作者考察的第三点是这些模型的泛化能力。实验结果表明,在SQuAD数据集上表现最好的模型,移到其他数据集,比如Trivia、QuAC、QA-SRL、QA-ZRE后,仍然需要额外的相关训练样本。这个结果在意料之中,但再次凸显了“学会一个数据集”和“学会完成一项任务”之间存在的巨大鸿沟。

在SQuAD数据集上性能最优的模型(得分超过80),在其他数据集上分数大幅降低

最后是有关学习课程 (curriculum) 和灾难性遗忘的问题。模型忘记此前学会的语言知识有多快?学习课程的设计与模型的性能之间有什么影响?

(上)将在SQuAD数据集上训练好的模型改到MNLI上;(下)将在SQuAD数据集上训练好的模型改到TriviaQA。两种情况模型的性能都大幅下降。

BERT模型用随机训练课程在各种数据集上取得的结果。实际上经过5万次迭代后,模型就能基本完成各项任务(超过60分)。

从实验结果看,在SQuAD数据集上训练好的模型改到MNLI或TriviaQA这些不同数据集后,模型性能很快出现大幅下降,说明灾难性遗忘发生。

虽然采用连续学习的方法,随机初始化,5万次迭代后,两个模型尤其是BERT,基本上能在各个数据集上都达到差强人意的表现。

通过随机训练,20万次迭代以后,BERT和ELMo在多项任务上的得分

但缺点是,这样的随机训练模型在开始不需要样本,转换新任务以后也不需要保留此前学会的东西。因此,在连续学习的过程中,知识迁移究竟是如何发生的,目前还不得而知。

综上,对一系列在各个不同NLP任务上取得当前最佳性能的模型进行实证评估后,DeepMind的研究人员得出结论:虽然NLP领域如今在模型设计方面取得了令人瞩目的进展,而且这些模型在很多时候都能同时完成不止一项任务,但它们仍然需要大量与领域知识相关的训练样本 (in-domain training example),并且很容易发生灾难性遗忘。

实现通用语言智能,我们还需要什么?

通过上述实验可以发现,现有的state-of-the-art NLP模型几乎全部都是:

拥有超大规模参数的深度学习模型;

事先以监督或非监督的的方式在训练样本上经过训练;

通常包含了多个针对某项特定任务的构件以完成多项任务;

默认或者说假设某项任务的数据分布是平均的。

这种方法虽然合理,但仍旧需要大量与领域知识相关的训练样本,并且非常容易发生灾难性遗忘。

因此,要实现通用语言智能,DeepMind研究人员在论文最后的讨论中指出,我们还需要:更加复杂的迁移学习和连续学习方法 (transfer and continual learning method),能让模型快速跨领域执行任务的记忆模块 (memory module),训练课程 (training curriculum) 的选择对模型性能的影响也很重要,在生成语言模型 (generative language models) 方面的进展,也将有助于实现通用语言智能。

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

    关注

    0

    文章

    130

    浏览量

    10844
  • nlp
    nlp
    +关注

    关注

    1

    文章

    488

    浏览量

    22033

原文标题:DeepMind:实现通用语言智能我们还缺什么?

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

收藏 人收藏

    评论

    相关推荐

    在ads1261的通用c语言例程中的390行的if是用来区分什么的呢?

    你好我想知道在ads1261的通用c语言例程中的390行的if是用来区分什么的呢,在读取数据中什么情况下取ff,什么情况写取00呢
    发表于 11-27 07:58

    编程语言在人工智能中的使用

    。编程语言在AI的发展中扮演着至关重要的角色,它们为开发人员提供了构建和实现智能系统的工具和框架。 1. Python Python是人工智能领域最受欢迎的编程
    的头像 发表于 11-15 09:34 265次阅读

    使用C语言实现函数模板

      用C语言能不能实现一个通用的函数,既能完成整数的相加,又能完成浮点数的相加?
    的头像 发表于 11-09 11:38 374次阅读

    鸿蒙原生应用元服务开发-初识仓颉开发语言

    仓颉编程语言是一种面向全场景应用开发的通用编程语言,可以兼顾开发效率和运行性能,并提供良好的编程体验,主要具有如下特点: 语法简明高效 :仓颉编程语言提供了一系列简明高效的语法,旨在减
    发表于 08-15 10:00

    鸿蒙原生应用元服务开发-初识仓颉开发语言

    仓颉编程语言是一种面向全场景应用开发的通用编程语言,可以兼顾开发效率和运行性能,并提供良好的编程体验,主要具有如下特点: 语法简明高效 :仓颉编程语言提供了一系列简明高效的语法,旨在减
    发表于 07-30 17:49

    【《大语言模型应用指南》阅读体验】+ 俯瞰全书

    的机会! 本人曾经也参与过语音识别产品的开发,包括在线和离线识别,但仅是应用语言模型实现端侧的应用开发,相当于调用模型的接口函数,实际对模型的设计、训练和运行机理并不了解,我想通过学习《大语言模型
    发表于 07-21 13:35

    语言模型的预训练

    随着人工智能技术的飞速发展,自然语言处理(NLP)作为人工智能领域的一个重要分支,取得了显著的进步。其中,大语言模型(Large Language Model, LLM)凭借其强大的
    的头像 发表于 07-11 10:11 417次阅读

    nlp神经语言和NLP自然语言的区别和联系

    来改变我们的行为和情感。NLP的目标是帮助人们实现自我改进,提高沟通技巧,增强领导力和解决问题的能力。 NLP的主要组成部分包括: 感知:了解我们如何接收和处理信息。 语言:研究
    的头像 发表于 07-09 10:35 760次阅读

    大模型应用之路:从提示词到通用人工智能(AGI)

    铺平道路。 基于AI大模型的推理功能,结合了RAG(检索增强生成)、智能体(Agent)、知识库、向量数据库、知识图谱等先进技术,我们实现真正的AGI(通用人工智能)迈出了重要步伐。
    的头像 发表于 06-14 10:20 2178次阅读
    大模型应用之路:从提示词到<b class='flag-5'>通用人工智能</b>(AGI)

    C语言实现Web参数传递

    德赢Vwin官网 网站提供《C语言实现Web参数传递.docx》资料免费下载
    发表于 03-24 09:14 2次下载

    谷歌DeepMind推出SIMI通用AI智能

    近日,谷歌的DeepMind团队发布了其最新研究成果——SIMI(Scalable Instructable Multiworld Agent),这是一个通用人工智能智能体,能够在多种3D虚拟环境
    的头像 发表于 03-18 11:39 952次阅读

    fpga通用语言是什么

    FPGA(现场可编程门阵列)的通用语言主要是指用于描述FPGA内部逻辑结构和行为的硬件描述语言。目前,Verilog HDL和VHDL是两种最为广泛使用的FPGA编程语言
    的头像 发表于 03-15 14:36 507次阅读

    “单纯靠大模型无法实现 AGI”!万字长文看人工智能演进

    人工智能是指让计算机或机器具有类似于人类智能的能力,如学习、推理、解决问题和使用语言、常识、创造力、情感和道德等。
    的头像 发表于 02-19 14:22 1093次阅读
    “单纯靠大模型无法<b class='flag-5'>实现</b> AGI”!万字长文看人工<b class='flag-5'>智能</b>演进

    语言模型使用指南

    在信息爆炸的时代,我们渴望更智能、更高效的语言处理工具。GPT-3.5等大语言模型的崛起为我们提供了前所未有的机会。这不仅是技术的进步,更是
    的头像 发表于 12-29 14:18 669次阅读

    如何能够实现通用FPGA问题?

    FPGA 是一种伪通用计算加速器,与 GPGPU(通用 GPU)类似,FPGA 可以很好地卸载特定类型的计算。从编程角度上讲,FPGA 比 CPU 更难,但从工作负载角度上讲 FPGA 是值得的:和 CPU 基线相比,好的 FPGA
    发表于 12-29 10:29 459次阅读