- 漫画图解人工智能
- (法)尼古拉·萨布雷文 利泽特·德阿西斯绘
- 4695字
- 2021-06-07 15:47:31
图灵测试
本章我们将了解为什么计算机的智能很难测量。
在设计任何一种形式的人工智能之前,首先应该明确什么是人工智能……而这就是它复杂的地方!因为如果我们足够清楚如何辨别愚蠢(只需要环顾四周看看其他人做错了什么),就会发现要解释清楚什么是人类的智慧要难得多。
什么是智能?
我想到的第一个想法是将智能与无知进行对比。但不幸的是,这并非那么简单。如果我问您莫斯科市是哪一年成立的,您可能不知道怎么回答。但是即使该信息可以在任何一本百科全书中找到,也没有人会因为这一件事觉得你不够聪明。同样,您也不会仅仅因为一本百科全书可以告诉您莫斯科市成立的日期,就夸奖它很聪明。智能不仅在于知识渊博,还包括能够运用自己掌握的知识。
第二个想法是将智能与回答难题的能力联系起来。以格奥尔格·康托尔为例,他是19世纪集合论的创始人。在解决相对尖锐的数学问题方面,他毫无疑问是充满智慧的!然而数学水平并不足以用来描述智能的特征。如果我问您26534乘以347等于多少,可能够您忙一小会儿……然而,一台计算器可以立刻给出答案。而您同样不会夸奖它聪明,也不会认为它比一本百科全书更聪明……
这两个例子表明,如果计算机只是擅长存储和处理计算(它们就是为此目的而设计的),那么它就不会被认为很智能……因为人类智能还包括很多其他的方面!例如,我们能够依靠过去的经验进行推理。医生在做出诊断时会这样做,我们在驾驶汽车时会这样做,这也是我们在准备假期或工作的时候会做的事情。和计算机做判断所需要的条件不同,我们可以在一些无法精确描述全部细节的情况下做出决定。当我们的面包师告诉我们,他没有面粉的时候,我们明白他的意思是没有办法做面包:他不需要向我们解释这件事。
我们同样也知道如何在学校或在工作中学习新的技能。我们还可以从过往事例中或者使用我们的推理能力形成新概念、创造新想法、构想新工具。最重要的是,我们能够通过使用单词和构造的句子以及组合符号相互交换一些复杂的,有时甚至是抽象的概念,从而进行交流。当您向朋友们讲述自己最喜欢的一本小说的时候,他们无须与您阅读同一本书中完全相同的单词就可以理解整个故事!得益于人类的智能,我们可以在生活中的每时每刻对世界产生完全相同的解释,并且可以在我们的周围进行传播。
所有这些都很清楚地表明,为了将机器的功能与人类智能进行比较,我们不能简单依赖“记忆和数学”,而需要尝试除此之外的其他东西。
一个测试,是的,但是哪一个测试呢?
我们可以依靠某种类型的心理测试来衡量人类的智力。其中最著名的当然是威廉·斯特恩在20世纪初提出的智商(IQ)概念。为了确定您的智商,心理学家会根据您的年龄和学历,在问题库中选择相应的逻辑问题、空间推理问题、记忆问题等进行测试。您回答的速度越快并且正确率越高,那您的智商得分也就越高。
这种类型的测试显然只能测量人类智能的一小部分。研究人员对其他方面越来越感兴趣,例如情绪智力(理解自身和其他人情绪的能力)或艺术创造力。另外,智商分数也不是一个绝对值:它仅仅有助于根据一般人在这种类型测试中的表现来定位自己的水平。如果您的智商得分高于100,就代表您在这项测试中的表现比一般人要好。
但这同样只是一个指标。因此首先,必须能够将计算机的问题翻译成它可以理解的语言,即0和1。有人想知道一台计算机的智商究竟是高于100还是低于100。不幸的是,将智商测试或任何其他测试搬到计算机上对其进行考察都是项棘手的操作。首先,必须能够将这些问题翻译成计算机可以理解的语言,也就是0和1组成的语言。当您通过智商测试之后,心理学家会向您展示一些图像并口头向您提问,因此还需要人类将这些问题“编程”后输入到计算机里。
那么通过这样一个测试,我们真正可以评估什么呢?机器的智力吗?人工智能程序的智力是否可以回答这些问题呢?将数据翻译成计算机语言的方法吗?我们一定不要忘记,正如我们在上一章中看到的那样,所有的程序都一定是由计算机科学家利用算法和数据编写出来的。因此,我们到底在测量什么呢?发明和编写算法的计算机工程师的智力吗?计算机输入数据的质量吗?我们可以再次明确地感受到这和机器的“智能”完全没有关系,或者,至少说,我们可以感受到大量来自人类的智能。
图灵来了!
1950年,艾伦·图灵提出了另一种形式的测试来研究机器的功能。他的想法不是测量智力,而只是试图将机器与人类区分开。这个测试被称为“图灵测试”,它如今仍然是很多人工智能程序的参考。
它的原理相对比较简单:采用了一个那时在社交晚宴上比较流行的模仿游戏,现在已经有点过时了。然而我还是告诉您它是怎么玩的,这样您在庆祝生日或其他的惊喜派对上还可以玩一下这个游戏。在这个游戏中,一位男士和一位女士分别进入不同的房间。其他留在客厅的客人们,可以通过用人传递小纸条和那位男士或女士“聊天”。客人们不能和关起来的这两位直接对话,也不知道谁被关在哪个房间。房间里的两位都会努力说服这些客人们,让他们相信自己是那位女士,但他们需要猜出究竟谁是男士、谁是女士。
在进行图灵测试时,其中一个房间里有一个人,另外一个房间里有一台配置了人工智能程序的计算机。您可以通过一个键盘(输入您的信息)和一个显示屏(阅读他们的回答)与其交流。因此,您有一个键盘、一个显示屏与人类对话,一个键盘和另一个显示屏与人工智能程序对话,但是您不知道哪套设备连接着模拟人类答案的人工智能程序,哪套连接着自己输入答案的真实人类。为了增加测试的复杂度,所有答案都会在相同的时间间隔内给出。回答问题的速度不被作为考量标准:您只需要根据回答的内容来区分人类和人工智能。
它会聊天……
很多计算机科学家慕名而来挑战图灵测试。它催生了著名的聊天机器人,这些人工智能程序能够说话(大部分情况都是英语),并几乎能回答所有人们想要问的问题,从“亨利四世的白马是什么颜色”到“你的眼睛真漂亮,你知道吗”,甚至还创办了一个国际竞赛来奖励每年最优秀的聊天机器人,优胜者获得勒布纳奖。1990年,休·勒布纳承诺将给第一位编写出能够伪装成人类的聊天机器人程序的程序员提供10万美元奖金和一块巨大的金牌。由于没人获得这些奖励,2006年便开始发起了年度竞赛:让聊天机器人与裁判进行交谈,裁判需要在最短的时间内让它们出现漏洞和错误。这是很有趣的事情。如果您想尝试,可以任意挑选一个聊天机器人程序:互联网上到处都是,智能手机的应用软件里也有很多(但通常都是英文的)。您很快就会发现聊天机器人开始胡言乱语。但您也可能会对某些答案的质量感到惊讶!但是您知道勒布纳奖的官方裁判都是这个领域的专家,他们可以通过不到5个问题就揭穿一个聊天机器人。
一个名为ELIZA的聊天机器人
第一个聊天机器人是1966年由约瑟夫·魏岑鲍姆编写的名叫ELIZA的程序。它采用的是一些非常基础的设计原理。首先它配备了一个与经典主题(家庭、计算机、健康)相关的对话目录,之后它在用户的对话中抓取主题关键词(家庭、妈妈、爸爸、姐姐等),最后系统化地重新提问它的对话者:
您:你有妈妈吗?
ELIZA:您想要跟我们谈论您的家庭吗?
而当它不知道怎么回答的时候,它将问题抛回给用户:
您:亨利四世的白马是什么颜色的?
ELIZA:为什么您要问我亨利四世的白马是什么颜色的?
老实说,它只是提出问题,然后由用户自己来完成整个对话。
如今,聊天机器人已经进化了很多。20世纪90年代理查德·华莱士设计的程序ALICE,多次在勒布纳竞赛中获胜,它包括5万多条运行规则,可以回答所有您想向它提出的问题。然而,仍然没有人能成功欺骗勒布纳奖的裁判赢取大奖……也没有任何一个人工智能程序成功通过图灵测试。每隔一段时间,就会有不同的计算机科学家团队宣布取得成功,但他们从未真正达到过图灵制定的所有标准和要求。
但这也是值得讨论的!
事实上,图灵测试作为评估人工智能程序的“智力”的方式饱受争议。但请别忘了它是在1950年被设计出来的,当时的计算机不知道如何处理图像进行早期癌细胞的检测,更不用说在高速公路上开车了!当时对人工智能的看法与我们今天对人工智能的看法也截然不同。
1980年,针对图灵测试的第一次公开的严重批评来自约翰·希尔勒,一位为人工智能做出过巨大贡献的哲学家。为了解释图灵测试的局限性,他提出了“中文房间”的实验。假设有一个完全不懂中文的人被关在一个房间里,不能与任何人接触。然后给他一些中文拼写的印章(5万个汉字)和一本描述得非常详细的手册,针对每个可能提出的中文问题,都需要给出回答(同样是用中文)。我们的操作员不需要理解中文:他在手册中找到与问题相对应的符号序列,然后使用印章复制手册给出的答案。他完全不明白问题的内容,也不知道自己回答了些什么,但是房间外面懂中文的人会毫不犹豫地肯定房间里的人会说中文。
中文房间的实验阐明了智力肯定不仅仅局限于操纵符号。然而图灵测试的所有指标都只能通过符号测量!这是正常现象,因为计算机本来就是用来处理由符号组成的信息的机器:哪怕只有0和1!
因此,图灵测试无法衡量一台机器的智力,仅仅可以用来衡量其像人类一样处理符号的能力。
我的电脑和我,看起来完全不一样啊!
图灵测试的错误在于认为我们可以通过将机器的行为与人类的行为进行比较来判断机器的智力。图灵只想知道我们是否有能力创造出一台可以思考的机器。这就是他提出将机器的行为和人类的行为进行比较的原因。但是今天我们知道这并非那么简单:并非所有聪明的行为都一定来自人类!您还记得那个您甚至都没有试图去寻找答案的乘法问题“26534×347”吗!相反,人类可以完美地采取错误的行为。例如,他们答案中的错别字要比电脑多得多。这倒也是图灵测试中识别他们的另外一种方式!
事实上,在设计人工智能程序的时候,图灵测试并没有实际的用处。图灵本人也从未打算将他的测试用于衡量计算机的智力。我们不要忘记一个程序是为具体的目的而设计的一系列计算:在一局国际象棋的对弈中选择下一步的落子位置,在下一个十字路口决定是否向左转,识别图片中是否包含小猫或大象,等等。为了测试人工智能程序的智力,我们根据它们执行的任务来评估表现(下国际象棋、找路、挑选照片)。我们不会尝试与它们讨论从哲学角度看待它们需要解决的问题。这样要有效得多!
我们需要理解的是,通过编写人工智能程序来创造人造人类这个问题是不是很有趣呢,事实却恰恰相反!我们不需要制作人造人类来设计人工智能程序。您可以完美地编写出能够出色地完成交付的任务,却完全不像人类的人工智能程序。
为了解释这个区别,曾出版书籍《人工智能》而在世界各地的大学中广为人知的计算机科学家斯图尔特·拉塞尔和彼得·诺维格,提出了一个有趣的飞机比喻。航空工程师们驾驶飞机以确保其性能良好,但他们不会尝试去建造一个可以像鸟那样飞行甚至可以欺骗鸟类的机器。
计算机的优势在于它们可以非常迅速地处理大量的数据。在人类需要依靠推理和过往经验的领域,机器可以同时测试数十亿种解决方案,从最荒谬的到最靠谱的,或者在巨大的数据库中进行挖掘。
当您玩数独游戏时,您不会在每个格子中一一尝试所有可能的数字。但是,计算机就是这样操作的:如果我把1放在这里……不行,这样行不通。好吧,那么就放2试试。啊,有可能可以。然后让我们看看,如果我把1放在旁边的格子里。啊,还是不行。那好吧,再放2试试吧……以此类推。计算机每进行一次这种操作只需要几十纳秒的时间:它每秒钟可以操作几千万次!而您呢?不可能。
在算法历史上做出过杰出贡献的计算机科学家艾兹格·迪科斯彻曾经精确地总结了人类智能和人工智能之间最根本的区别。他认为“操心一台电脑是否可以思考就像操心一艘潜水艇是否会游泳一样有趣”。我们制造的机器并不会思考,但是在某些方面会给我们留下聪明的印象,虽然事实上它们并不聪明。