当前位置: 首页 > 编程日记 > 正文

AI 真的能够理解人类语言吗?

作者 | Melanie Mitchell

译者 | 弯月

出品 | CSDN(ID:CSDNnews)

2011年,IBM 的人工智能系统沃森参加综艺节目《危险边缘》,并获得了冠军,当时他们宣称:“沃森能够理解自然语言的所有歧义和复杂性。”然而,之后沃森在大胆进军医疗保健领域时,却遭遇惨败,这说明人工智能对语言的理解与人类并不相同。

长期以来,理解自然语言一直是人工智能研究的主要目标。最初,研究人员曾尝试通过手工编写的代码,帮助计算机理解新闻故事、小说或人类撰写的其他文档。然而,正如沃森的经历,这种方法都是徒劳的,我们不可能把理解文本所需的所有不成文的事实、规则和假设都写进代码里。

像人类一样进行书本学习的AI

最近,人工智能领域又涌现出一种新型的范式:让机器学习通过大量书面文本学习预测单词的方式,自行理解语言。这就是研究人员所说的语言模型。这类模型基于大型神经网络,比如 OpenAI的GPT-3,并生成了令人难以置信的散文(和诗歌!),而且还可以推理复杂的语言逻辑。

GPT-3通过来自数千个网站、书籍和百科全书的文本的训练,它是否超越了沃森的表现呢?它真的能够理解自己生成的语言及其逻辑吗?这个话题在AI研究领域一直富有争议。这类探讨曾是哲学领域的话题,但在过去的十年中,人工智能已经突破学术领域,并闯入了现实世界,但由于缺乏对现实世界的理解,它们可能会带来灾难性的后果。在一项研究中,有人发现了IBM的沃森“提出不安全和不正确的治疗建议”的多个例子。还有一项研究表明,Google的机器翻译系统为非英语患者翻译医疗说明时出现了重大错误。

AI学会了吗?

在实践中,我们如何才能确认机器学习是否真的能够理解人类的语言呢?1950 年,计算先驱艾伦·图灵曾通过著名的“模仿游戏”来回答这个问题,如今我们称其为图灵测试。具体做法是,一台机器和一个人,看不见彼此,二者竞相仅通过对话的方式来说服人类法官自己才是人类。如果该法官无法分辨哪个是人类,那么,图灵可以断言这台机器确实拥有思考的能力,也就是说能够理解人类的语言。

然而不幸的是,图灵低估了人类喜欢被机器愚弄的倾向性。20世纪60年代,JosephWeizenbaum发明了一个名为Eliza的心理治疗师,这个小程序骗过了很多人,他们相信自己正在与一个人类交谈,即便他们知道对面只是一台机器。

训练规模越来越大

在2012年的一篇论文中,计算机科学家Hector Levesque、Ernest Davis和 Leora Morgenstern提出了一个更客观的测试,他们称之为“威诺格拉德模式挑战”(WinogradSchema Challenge,WSC)。该测试已被AI语言社区采用,作为评估机器理解的一种方式,也许是最好的方式,尽管我们可以看到它并不完美。这种方式有一个“威诺格拉德模式”(WinogradSchema),其名称源于斯坦福大学计算机科学家特里·威诺格拉德。该模式由一对句子组成,两个句子仅相差一个词,而且两个句子紧紧相接。下面是两个例子:

句子1:我把瓶子里的水倒进杯子里,一直到满为止。

问题:什么是满的,瓶子还是杯子?

句子2:我把瓶子里的水倒进杯子里,一直到空为止。

问题:什么是空的,瓶子还是杯子?

句子1:小明跟叔叔打网球输了,尽管他年长了30岁。

问题:谁更年长,小明还是小明的叔叔?

句子2:小明跟叔叔打网球输了,尽管他年轻了30岁。

问题:谁更年长,小明还是小明的叔叔?

在上述句子中,一字之差,所指的事物或人就完全不同。正确地回答这些问题需要一些常识性的判断。威诺格拉德模式正是为了测试这种理解能力而设计的,这种方式弥补了图灵测试的脆弱性:不可靠的人类判断,以及聊天机器人采用的技巧。特别是,作者设计了数百个针对网络搜索的模式:机器无法通过网络搜索来正确回答的问题。

这些模式是2016年举办的一场比赛的主题,最后就连获胜的程序也只回答对了 58%的句子,比盲猜(50%)略好一点。人工智能研究员Oren Etzioni打趣道:“AI连一句话中的it指的是什么都无法确定,居然还有人指望它统治整个世界?”

然而,由于大型神经网络语言模型的涌现,AI程序解决威诺格拉德模式的能力也迅速得到了提高。2020年,OpenAI的一篇论文称,在威诺格拉德模式的测试中,GPT-3正确回答了90%的句子。还有一些语言模型在经过专门的训练之后表现更好。目前,神经网络语言模型在一组特定的威诺格拉德模式测试上,达到了约97%的准确率,这些模式是一个名叫SuperGLUE的人工智能理解语言竞赛中一部分。这个准确率几乎与人类的表现持平。这是否意味着神经网络语言模型已经达到了人类的理解水平?

不一定。尽管这些语言模型的创作者尽了最大努力,但这些威诺格拉德模式并非不可通过网络获取答案。这些问题就像许多其他当前的AI语言理解测试一样,有时也有捷径可以走,即便神经网络不理解句子的真正含义,也可以给出正确答案。举个例子:

  • 跑车比卡车跑的更快,是因为它的速度更快。

  • 跑车比卡车跑的更快,是因为它的速度更慢。

经过大型语料库训练的语言模型掌握了“跑车”与“快”以及“卡车”与“慢”之间的联系,因此可以仅凭这些相关性(而不是真正理解句子的含义)来给出正确的答案。事实证明,SuperGLUE竞赛中的许多威诺格拉德模式都可以通过这类的统计相关性给出答案。

艾伦人工智能研究所的研究人员并没有放弃威诺格拉德模式,并决定努力解决这些问题。2019年,他们创建了WinoGrande,这是一组更大的威诺格拉德模式,其中包含44,000个句子。为了获得如此多的例子,研究人员通过亚马逊的 MechanicalTurk(一个流行的众包工作平台),让每个(人类)工人写出几对句子,并通过一些限制确保这些句子包含不同的主题,尽管最后收集到的每一对句子相差可能不止一个单词。

接着,研究人员通过一些简单的AI测试,删除了可通过统计捷径轻松回答的句子。正如预期的那样,与原始的威诺格拉德模式相比,WinoGrande中的句子向机器学习发起了更困难的挑战。虽然在面对WinoGrande 时,人类的得分仍然很高,但神经网络语言模型的得分却低了很多。这项新挑战似乎恢复了威诺格拉德模式作为常识测试的地位,只要句子本身经过仔细筛选,确保无法通过网络搜索得到答案即可。

然而,另一个惊喜还在后面。在 WinoGrande 发布后的近两年里,神经网络语言模型的规模越来越大,而且随着规模的增大,似乎它们在这项新挑战中的得分也越来越高。目前,最先进的神经网络语言模型已经经过了TB级文本上训练,然后又在数千个WinoGrande示例上进行了进一步的训练,可以达到将近 90% 的正确率,而人类的正确率约为94%。这种性能提升几乎完全来源于神经网络语言模型及其训练数据规模的增加。

这些日益增大的神经网络模型是否达到了人类的常识性理解水平?不太可能。WinoGrande 的结果有一些严重的问题。例如,由于这些句子的编写依赖于亚马逊Mechanical Turk 上的人工,因此写作的质量和连贯性参差不齐。此外,利用简单的人工智能方法剔除可通过网络搜索结果的句子,但这些人工智能方法可能过于简单,无法发现大型神经网络有可能使用的统计捷径,而且这些人工智能只能处理单个句子,因此导致一些成对的句子只剩下一句。一项后续研究表明,如果要求神经网络语言模型仅测试成对的句子,并且要求两个句子都回答正确,则它们的准确性远低于人类,因此前面的 90% 根本不能说明什么。

AI理解人类语言了吗?

那么,威诺格拉德模式对我们来说有何意义呢?我们可以从中得到一个重要的教训:我们很难通过AI系统在某项挑战中的表现判断它们是否真的能够理解人类的语言(或其他数据)。如今我们知道,神经网络经常使用统计捷径(而不是展示类似于人类的理解能力)在威诺格拉德模式以及其他流行的“通用语言理解”基准上展示出高水平。

在我看来,问题的关键在于,要想理解人类的语言就需要理解这个世界,而只能接触到语言的机器无法获得这样的理解能力。我们来思考一下“跑车超过了卡车,是因为它的速度更慢”,这句话是什么意思。首先你需要知道“跑车”和“卡车”是什么,而且需要知道车辆可以互相“超车”,从更基本的层面来看,车辆是存在于世界上、能够与之互动的物体,且由人类驾驶。

对于人类来说,这些知识不过是基本常识,但机器内部没有这样的常识库,也不可能明确地编写到任何语言模型的训练文本中。一些认知科学家认为,人类学习和理解语言需要依赖语言的核心知识,即掌握空间、时间以及许多关于这个世界的其他基本因素。如果想让机器像人类一样掌握语言,则我们需要赋予它们人类与生俱来的一些基本法则。为了评估机器对语言的理解,我们首先应该它们对这些法则的掌握情况,人们称之为“婴儿的元物理学”。

与威诺格拉德模式和GPT-3等人工智能系统相比,训练和评估婴儿级别的智能机器似乎是一个巨大的倒退。但是,我们的目标是理解语言,而这可能是机器能够真正理解句子中的“it”所指,以及理解“it”所包含的一切的唯一途径。

参考链接:

https://www.quantamagazine.org/what-does-it-mean-for-ai-to-understand-20211216/

相关文章:

【贪心】Google Code Jam Round 1A 2018 Waffle Choppers

题意:给你一个矩阵,有些点是黑的,让你横切h刀,纵切v刀,问你是否能让切出的所有子矩阵的黑点数量相等。 设黑点总数为sum,sum必须能整除(h1),进而sum/(h1)必须能整除(v1)。 先考虑横行&#xff0…

友盟数据—值得手游创业者关注的玩家数据

友盟数据—值得手游创业者关注的玩家数据 你知道“辣妈”是什么游戏的忠诚玩家吗?你知道“大龄玩家”都喜好怎样的游戏?你知道哪类玩家最“多金”?2015年,不仅宅男、宅女们爱玩游戏,辣妈和奶爸们也成了手游行业的主力军…

这个 AI 模型火上 GitHub 热榜第一,在线修复照片

编译 | 禾木木出品 | AI科技大本营(ID:rgznai100)AI 正在对照片编辑产生重大的影响,但结果是还存在很大分歧。支持者说,人工智能释放了新的艺术历年,减少了创作者花在单调工作上的时间。然而,批评者认为这些…

【我的Android进阶之旅】解决SDK升级到27.0.3遇到的GLIBC_2.14 not found、no acceptable C compiler found in $PATH等问题...

一、问题一:Failed to find Build Tools revision 27.0.3 1.1、问题描述 最近公司的Android项目都要进行SDK升级,目前在本地编译的时候将SDK升级到了27.0.3,本地运行正常,然后在jenkins服务器上跑的时候就会出现异常。异常如下所示…

解析大型.NET ERP系统 设计异常处理模块

异常处理模块是大型系统必备的一个组件,精心设计的异常处理模块可提高系统的健壮性。下面从我理解的角度,谈谈异常处理的方方面面。我的设计仅仅限定于Windows Forms,供参考。 1 定义异常类型 .NET 框架定义很多异常类型,ERP系统中…

内含福利|CSDN 携手字节跳动:云原生Meetup北京站报名热烈启动,1月8日见!

伴随云原生技术的成熟与落地,越来越多框架、中间件等开源项目相继涌现,帮助开发者和企业有效解决业务问题。2022年1月8日,CSDN携手字节跳动基础架构,将在北京举办第四场云原生线下Meetup。在这里,您可以与众多开源技术…

用Thymeleaf在前台下拉列表取值

转自:https://blog.csdn.net/u013600907/article/details/76165748转载于:https://www.cnblogs.com/sharpest/p/8875698.html

PHP使用JSON

JSON 基础 简 单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪(稍后会看…

(原创)Python文件与文件系统系列(5)——stat模块

stat模块中定义了许多的常量和函数,可以帮助解释 os.stat()、os.fstat()、os.lstat()等函数返回的 st_result 类型的对象。 通常使用 os.path.is*() 这类函数来测试一个文件的类型,这些方法对同一个文件进行多次测试时,stat()系统调用都是不可…

Azure Neural TTS能让AI语音自然逼真到什么程度?

摘要:微软Azure Neural TTS让AI语音像真人一样富有感情,自然逼真。 Neural TTS(神经网络文本转语音)是微软Azure认知服务的强大语音合成功能,自推出以来,已被广泛应用于从语音助手、新闻阅读到有声读物创作…

ReentrantLock与synchronized

1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定,如果使用 synchronized ,如…

EXT按钮事件

在EXT中,当我们要为按钮点击添加处理function的时候,可以看到一般人的实现分成2类:1.使用onClick: function xx()2.使用handler: function xx()完成后,我们会发现,无论用哪一种实现,再点击按钮时都能触发xx…

浅谈HTTP中Get与Post的区别

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而H…

达摩院年终预测重磅出炉:AI for Science 高居榜首,2022 十大科技趋势!

整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)作为“一所探索科技未知的研究院”,阿里巴巴达摩院成立至今已经四年了。这四年来,达摩院秉持着“探索科技位置,以人类愿景为驱动力,开展基础科学和颠覆式…

TensorFlow——入门基础

TensorFlow原理: TensorFlow使用Graph来描述计算任务,图中的节点被称之为op.一个op可以接受0或多个tensor作为输入,也可产生0或多个tensor作为输出.任何一个Graph要想运行,都必须借助上下文Session.通过Session启动Graph,并将Graph中的op分发到CPU或GPU上,借助Sessi…

EXT iconCls说明

今天学习ext 看examples中的事例,其中有一个地方是这样写的: new ButtonPanel( Icon Only, [{ iconCls: add16 },{ iconCls: add24, scale: medium },{ …

25个好用到爆的一行 Python 代码,建议收藏

作者 | 欣一来源 | Pyhton爱好集中营在学习Python的过程当中,有很多复杂的任务其实只需要一行代码就可以解决,那么今天小编我就来给大家介绍实用的一行Python代码,希望对大家能够有所帮助。1.两个字典的合并x {a: 1, b: 2} y {c: 3, d: 4}将…

【工业串口和网络软件通讯平台(SuperIO)教程】七.二次开发服务驱动

SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 服务接口的作用 围绕着设备驱动模块采集的数据,根据需求提供多种应用服务,例如:数据上传服务、数据请求服务、4-20mA服务、短信服务、LED服务以及OPC服务等。保障数…

usermod命令,用户密码管理和mkpasswd命令

2019独角兽企业重金招聘Python工程师标准>>> usermod 设置扩展组 概念:更改用户属性的一个命令。 用法:usermod [选项] 后面跟你需要操作的内容 [用户名] 选项:-c, --comment 注释 GECOS 字段的新值-d, --home HO…

extjs关于jsonreader

在JavaScript中,JSON是一种非常重要的数据格式,key:value的形式比XML那种复杂的标签结构更容易理解,代码量也更小,很多人倾向于使用它作为EXT的数据交换格式。JsonReader支持分页,与JSON数据对应格式如下:t…

求逆元 - HNU 13412 Cookie Counter

Cookie Counter Problems Link: http://acm.hnu.cn/online/?actionproblem&typeshow&id13412&courseid0 Mean: 将N分为D份,每份不超过X,有多少种分法? analyse: 首先我们想到的是迭代,但是数据太大,…

IEEE 发布年终总结,AI 奇迹不再是故事

编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 2021 年,人工智能奇迹不再只是故事! 人工智能正在迅速融入各行各业,IEEE Spectrum 总结了 2021 年 10 篇最受读者欢迎的 AI 文章,按时间排名,…

一则利用内核漏洞获取root权限的案例【转】

转自:https://blog.csdn.net/u014089131/article/details/73933649 目录(?)[-] 漏洞描述漏洞的影响范围漏洞曝光时间漏洞产生的原因漏洞的利用exploit代码分析kernel 最近出了一个新的本地提权安全漏洞CVE-2013-1763,影响范围比较广泛,ubunt…

Ext.data库

Ext.data 库主要包括以下几个类:Ext.data.Store >DataSetExt.data.Record >DataSet.RowExt.data.DataProxy >SqlConnectionExt.data.DataReader >SqlDataAdapter以下分别进行介绍:1.Ext.data.Record可以用来定义一行数据的格式,它有几个重要的属性和方法…

2021年最有用的数据清洗 Python 库

作者 | 周萝卜来源 | 萝卜大杂烩大多数调查表明,数据科学家和数据分析师需要花费 70-80% 的时间来清理和准备数据以进行分析。对于许多数据工作者来说,数据的清理和准备也往往是他们工作中最不喜欢的部分,因此他们将另外 20-30% 的时间花在抱…

组合与继承之重写方法和字段

为什么80%的码农都做不了架构师?>>> 接上篇blog,scala里的字段和方法属于相同的命名空间,这让字段可以重写无参数方法。例如,你可以通过改变ArrayElement类中contents的实现将其从一个方法变为一个字段,而…

20165334 四则运算阶段性总结(第二周)

四则运算阶段性总结(第二周) 结对对象 学号 :20165334 姓名 : 李天龙 担任角色 (驾驶员):李天龙 (副驾驶):陈国超 一、实验实现步骤 整数计算类分数计算类自动…

取消掉Transfer-Encoding:chunked

有时候,Web服务器生成HTTP Response是无法在Header就确定消息大小的,这时一般来说服务器将不会提供Content-Length的头信息,而采用Chunked编码动态的提供body内容的长度。进行Chunked编码传输的HTTP Response会在消息头部设置:Tra…

【LeetCode】142 - Linked List Cycle II

Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Follow up:Can you solve it without using extra space? Solution: Discuss上的分析:Suppose the first meet at step k,the length of the Cycle …

3000 字详解 Pandas 数据查询,建议收藏

作者 | 俊欣来源 | 关于数据分析与可视化今天小编来和大家说一说怎么从DataFrame数据集中筛选符合指定条件的数据,希望会对读者朋友有所帮助。导入数据集和模块我们先导入pandas模块,并且读取数据,代码如下import pandas as pd df pd.read_c…