早期人工智能研究中的事件对当前的人工智能环境具有指导意义。
当今的计算机在运算速度、存储容量和通信能力方面都有了极大的提高,我在60年前开始编程的时候,根本无法想象计算机能够完成这些事情。以前的计算机主要用于数值计算;而现在,计算机不仅可以处理文字、图像,还可以录音。以前编写一个下棋程序就很有成就感,虽然下得很烂。而现在的计算机却有能力与人类最好的棋手一决雌雄。
今天的计算机系统拥有令人难以置信的计算能力,一些供应商将它们形容为具有“人工智能”。他们声称,人工智能可以用于洗衣机、移动设备中的“个人助手”、无人驾驶汽车以及在复杂游戏中击败人类冠军的巨型计算机。
值得注意的是,那些使用“人工智能”这一术语的人们并没有给它下一个精确的定义。我第一次听到这个词是在五十多年前,那时还没有一个科学的定义。即使现在,一些人工智能专家也表示,人工智能的定义是一个困难的(并且重要的)问题——这也是他们正在开展的工作之一。目前,“人工智能”仍然是一个流行语,许多人认为他们理解这个词的意思,但是没有人能够给出精确的定义。
最近,越来越多的人对人工智能的潜在危害感到恐慌。商业界和学术界的著名人士都表示,担心人工智能最终会使人变得多余。专家预测,人工智能甚至将会取代律师等专业人士。最近微软的一位研究人员登上了头条,她说:“随着人工智能变得越来越强大,人们需要确保它不会被专制政权用于集权统治和对付特定的人群。”1
虽然自动化彻底改变了我们的社会,并将继续改变下去,但是我对“人工智能”有不一样的担心。人工智能方法的应用可能会产生不可信的,甚至有时是危险的设备和系统。
人工智能的初期简介
作为卡内基梅隆大学(CMU)2的学生,我从这个领域的几位创始人那里学到了关于“人工智能”的知识。我的老师很聪明,但是他对编程的态度却是漫不经心,他对我说:“你试着去解决它”。我很怀念那种解决问题的严谨方法,当时我还是一个学习物理、电气工程和数学等专业课的学生。理科和工科的课程都强调认真仔细的(基于测量)定义;而人工智能的讲座会使用一些模糊的、含有不可测量的属性的概念。我的工科老师向我展示如何使用物理和数学知识来彻底分析问题和产品;而我的人工智能老师几乎完全依赖直觉去分析问题。
我将人工智能的研究分为3种类型:
● 构建模仿人类行为的程序以了解人类的思维方式;
● 构建精通各类游戏的程序;
● 表明实用的计算机产品可以采用人类所使用的方法。
计算机模型可以帮助研究人员了解大脑功能。然而,正如约瑟夫·魏泽鲍姆(Joseph Weizenbaum) [2]所说,一个模型可能会复制一些机制的“黑箱”行为,而不会描述这种机制。
编写游戏程序是无害的,它可以锻炼能力。不过,我非常担心实际的产品应当应用人类的方法这个提议。对于计算机执行任务来说,模仿人类可能不是最佳方式,这种方式可能产生不可信赖和危险的程序。
为了说明我对人工智能的保留意见,本专栏讨论了人工智能研究初期的一些事件。尽管故事有点久远,但是我们从中汲取的教训在今天仍有重大意义。
启发式编程
人工智能研究人员有时将他们的方法形容为“启发式编程”。卡内基梅隆大学早期的一篇博士论文将启发式编程定义为“并不总是得到正确的答案”。因为启发式编程是基于“经验法则”的,即基于经验而不是理论支持的规则3。
“启发式”不是软件的理想属性。人类之所以可以安全地使用经验法则,是因为当规则建议做一些愚蠢的事情时,绝大多数人不会那样做。但是计算机却会不加思索地执行这些程序;这些计算机应该由那些被证明在任何情况下都可以正确运行的程序来控制。一个程序的适用领域应该被明确说明。真正可信的程序会在其被应用于其他领域时警告用户可能发生的危险。
如果满足以下条件,启发式就可以安全地用于编程中:
● 该规范允许多个可接受的解,启发式用于选择其中一个解或确定它们出现的顺序;
● 启发式的目的是加快执行搜索的程序,最终找到一个解或确定根本没有解。
在其他情况下,启发式编程是不可信的。
阿兰·图灵到底说过什么
阿兰·图灵(Alan Turing)有时被称为“人工智能之父”,主要是由于他在1950年发表了一篇论文《计算机与智能》[1]。人们经常提到,图灵在这篇论文中提出了一种机器智能的测试方法。
那些认为图灵提出了机器智能测试方法的人应该去阅读那篇论文。图灵明白,科学需要对如何测量被讨论对象的属性达成一致。图灵否认了“机器可以思考吗?”这个问题,他认为这是一个不科学的问题,因为对于“思考”,没有基于测量的定义。这不是一个科学家应该尝试回答的问题。
图灵写道:“如果‘机器’和‘思考’这两个词的含义是通过研究它们是如何被普遍使用而发现的,那么‘机器可以思考吗?’这个问题的含义和答案应该通过类似于盖洛普民意测验(Gallup poll)的统计调查方法去寻找。但这是荒谬的。我不去尝试下这样的定义,而是用另一个与之密切相关的问题来代替这个问题,并以相对明确的语言表达出来。”
图灵提出的替代问题是通过实验定义的。他描述了一个模仿游戏,游戏中需要人和机器来回答一些问题,观察者将尝试根据这些回答来识别哪个是机器。如果提问者无法可靠地辨别哪个是机器回答的,则机器通过这项测试。
图灵从来没有将他的替代问题等同于“机器可以思考吗?”。他写道:“原始的问题是‘机器可以思考吗?’,我认为这是毫无意义的,不值得讨论。”一个毫无意义的问题肯定不是一个科学问题。
图灵的这篇论文不是关于机器智能或思维的,而是讨论如何测试一部机器是否具有一些明确指定的属性。他还推测了什么时候人们可以有一台能够通过该测试的机器,并推翻了许多可能用来断言没有一台机器能够通过该测试的论点。他并没有尝试去设计一台能通过测试的机器;没有迹象表明他认为这是有用的。
约瑟夫·魏泽鲍姆的Eliza程序
任何对图灵测试感兴趣的人都应该研究麻省理工学院已故教授约瑟夫·魏泽鲍姆[3]的工作。在20世纪60年代中期,他创造了Eliza,这是一个能够模仿医生实施罗杰斯心理治疗法的程序4。Eliza与用户进行了有趣的对话。有一些“患者”认为自己正在和一个人谈话。而其他知道Eliza是一台机器的人仍然想要咨询它。检查过Eliza代码的所有人都认为这个程序不聪明。代码里没有关于它所讨论主题的信息,也无法根据所给定的事实推断出任何结论。有些人认为,魏泽鲍姆在认真地进行尝试,他想通过创建一个可以通过图灵测试的程序来创造出智能。然而,在讨论和对话中,魏泽鲍姆强调创造智能从来都不是他的目标。相反,他创建了一个显然不那么“聪明”的程序,但是可以像人类一样通过测试,他通过这种方式来表明图灵测试并不是智力测试。
罗伯特·杜普查克的硬币匹配机器
大约在1964年5,即将毕业的卡内基梅隆大学研究生罗伯特·杜普查克(Robert Dupchak),制作了一个可以玩“硬币匹配”游戏6的小盒子,他的盒子总能赢。因此,我们认为这个盒子一定非常聪明。
然而聪明的应该是杜普查克本人,而不是他的机器。机器只记得它的对手之前的动作,并假设这个模式还会重复出现。杜普查克和魏泽鲍姆都认为,实际上一台计算机并没有看上去那么聪明。他也表明,任何一个知道盒子内部信息的人都会打败它。在一个非常正式的应用场合中,依赖这样的软件是很危险的。
字符识别
早期人工智能研究和课程的一个热门话题是字符识别问题。其目标是编写一段可以识别手写或打印字符的程序。这个任务对于大多数人来说是毫不费力的,但是对于计算机来说,却是相当困难的。我用光学字符识别软件来识别扫描成电子版的打印页面上的字符时就会经常出错。事实上字符识别对人类而言相对容易,但对计算机来说仍然很困难,因此它常常被用来阻止一些外挂程序恶意登录网站。例如,网站可能会显示如下图所示的验证码并要求用户输入“s m w m”这几个字母7。这种技术在区分用户是人还是程序方面的效果非常好,因为字符识别问题还没有被彻底解决。
早期的人工智能专家教我们通过采访人类读者的方式来设计字符识别程序。例如,读者可能会被问及他们是如何区分“8”与“B.”的。但是他们提出的规则在执行和测试的时候都无一例外地失败了。因为人们虽然能够完成这个任务,但是不一定能够用语言来解释清楚。
现代软件是基于限制使用的字体和分析这些字体中字符的属性来完成字符识别的。大多数人不用去研究某种新字体的特点就能够阅读文本,而机器通常不能完成这样的任务。解决这个问题的最好办法是避免这个问题。对于在计算机上创建的文本,一幅人类可识别的图像和机器可以读取的字符串都是可用的。此时就不需要字符识别了。
用于构建解析器的人工智能系统
在我刚刚成为教授时,曾经与三位著名的同事约会聊天,询问他们如何判断我学生的博士论文是否为一个好的主题。令人尊敬的首位ACM图灵奖获得者、已故的艾伦·佩利斯(Alan Perlis)给出了最好的答案。他眼睛都没有离开手头的工作,说道:“戴维,是不是好论文,你应该一看便知。我很忙,你走吧!”另外两个图灵奖获得者、已故的艾伦·纽厄尔(Allen Newell)和罗伯特·弗洛伊德(Robert Floyd)遇见了我。他们都表示,虽然不能直接回答我的问题,但他们会讨论什么是一篇好论文、什么是一篇烂论文。有趣的是,纽厄尔举例的好论文在弗洛伊德看来却是标准的烂论文。
这篇有争议的论文提出了一个人工智能程序,这个程序可以从语法中创建出解析器8。纽厄尔认为这很好,因为它表明人工智能可以解决实际问题。而解析领域的先驱弗洛伊德解释说,没有人能告诉他人工智能解析器的生成器可以处理哪类语法,他可以证明这比已知的数学技术能够处理的语言类型要少。简而言之,虽然人工智能系统似乎是有用的,但它还是不如没有使用启发式方法的系统。弗洛伊德教导我说,一个人工智能程序似乎会令人印象非常深刻,但是与基于数学方法的程序相比就相形见绌了。
“理解”图画和文本的人工智能系统
1967年发表的一篇关于人工智能的博士论文描述了一个声称可以“理解”自然语言文本和图片的程序。借助光笔和图形显示器9,用户就可以绘制几何图形。借助键盘,用户可以询问有关绘图的问题。例如,你可以问“矩形内有三角形”吗?当作者展示这个程序的时候,它似乎“理解”了图片和提出的问题。作为审查委员会的成员,我不仅读了这篇论文,还亲自尝试,结果发现采用启发式方法的系统并不总是奏效。我重复输入了几次这个示例,系统都以失败告终。在生产使用中,这样的系统将完全不可信赖。
这项工作是由另一位图灵奖获得者赫伯特·西蒙(Herbert Simon)所指导的,他对我测试系统不起作用的反应是:“系统不是为那些不友好的用户而设计的”。经验表明,计算机系统必须为那些粗心大意的用户做好准备,有时甚至是不友好的用户。想把该论文中使用的技术应用在任何商业产品中都是无法接受的。如果启发式方法被用于某些关键应用场合,法律责任的认定将会是一个严肃的问题。
人工智能的流水线助手
雇用工具操作助手后,流水线可以运行得更快:每当工人使用完工具后,他们会将工具放入一个盒子里;当工人需要某一个工具时,这个工具操作助手会帮助他们找到所需工具。
一个顶尖的研究实验室签订了一份合同,想用机器人取代人类助手。后来这被证明存在意想不到的困难。即使是最好的计算机视觉算法也无法在一堆杂乱无章的工具中找到所需的工具。最终,我们将问题改动了一下。装配工人不直接把工具放进箱子里,而是先把它交给机器人,由机器人放入箱子。机器人记住了工具的存放位置,这样就可以轻松地找到它。由人工智能控制的助手不能模仿人类,但是可以做很多人类无法完成的事情。所以有时修改问题比接受一个启发式的解决方案更加明智。
“人工智能”的德语叫法10
当人工智能还处于萌芽阶段时,一位德国心理学研究员访问了麻省理工学院的人工智能先驱研究员西摩·佩伯特(Seymour Papert)和马文·明斯基(Marvin Minsky)(现在他们都已经过世了)。他问到,怎么用德语来表达“人工智能”,因为他发现直译(Künstliche Intelligenz11)是没有意义的。
可惜这里没有说德语的研究人员。不过,他们邀请这位德国心理学研究员参加了一个人工智能会议,估计他在听完会谈后便会知道答案。之后,这位德国心理学研究员宣布人工智能的德语翻译应该是“natürliche Dummheit”(天生愚蠢),因为人工智能研究人员违反了心理学研究的基本规则。他表示,心理学研究人员一般不会问那些主体“他们是如何解决问题的”,因为得到的答案可能不准确;即使问了,他们也不会相信那些答案。相反,人工智能研究人员会向棋手询问“他们是如何决定下一步棋怎么走的”,然后根据玩家的回答来编写程序。
人工神经网络
人工智能的另一种研究方法是基于大脑的建模。大脑是一个由神经元为单位而构成的网络。一些研究人员试图通过模拟大脑的结构来制造出人工智能。他们首先创建神经元模型,再利用它们来模拟神经网络。人工神经网络可以执行简单的任务,但不能做常规计算机无法完成的任务。通常,常规程序更有效率。一些实验都表明,传统的数学算法优于神经网络。虽然基于人类大脑的生理模型去构建一个人工大脑会有直观的吸引力,但是没有理由相信这是解决此问题的实际方法。
物理与数学的实用性
一位研究人员给观众展示了一篇使用人工智能进行图像处理的论文,雷达信号处理专家也在其中。他们观察到,该程序使用了被广泛使用的信号处理算法中的特例,并询问:“你工作的创新点是什么?”演讲者没有意识到信号处理中使用的技术,回答说:“我的方法在人工智能中是首次使用。”人工智能研究人员往往对模仿人类非常痴迷,导致他们忽视了问题的实际解决方法。
在一项构建温度控制系统的研究中,人工智能构建的系统与经验丰富的工程师开发的系统进行了比较。人工智能程序会监测每个房间,并根据需要开启冷却或加热装置。工程师采用热流模型,考虑到了建筑物的方向、建筑物部分的阳光照射量、建筑物的吸热和损耗特性等诸多因素。采用这种模型,使系统能够预测需求,以及具备将热量从建筑物的一部分输送到另一部分的能力。他们设计了一个可以减小温度波动并且更高效节能的系统。
人类不具备现代计算机系统所拥有的测量和计算能力;模仿人类的系统并不比基于物理模型和现代传感器的系统做得好。
人类一直在解决复杂的物理问题。例如,跑步是复杂的。跑步者会凭直觉去保持平衡,但他们并不清楚自己是如何做到的。控制问题的解决方案应当以物理定律和数学为基础,而不是模仿人类。计算机可以快速完全地在复杂的问题空间中搜索,而人却不能。例如,一个人想开车去一个从来没有去过的地方,他很可能会先找到附近的一个去过的地方,然后修改之前的开车路线。而今天的导航设备可以获取最新的数据并从头开始计算路线,通常比人找的路线更好。
机器学习
创造人工智能的另一种方法是构建具有最小初始能力但在使用过程中可以提高自身性能的程序。这被称为机器学习。这种做法并不新鲜。图灵推测,我们可以构建一个具有小孩学习能力的程序,这个程序可以像孩子一样通过学习提高自身的能力[1]。学习不是魔术,它运用在使用期间收集的数据来提升未来的性能。这不需要“智慧”。罗伯特·杜普查克设计的简单的“硬币匹配”游戏机器就是使用了对手行为的数据,看起来像是在“学习”。通过使用“学习”这样拟人化的术语掩盖了背后实际的机制。
构建能够“学习”的程序似乎比分析实际问题更容易,但程序可能是不可信赖的。具备“学习”能力的程序经常会暴露出“爬山”算法12的弱点;它们会错过最好的解决方案。这些具备“学习”能力的程序也可能因为不完备的或有偏见的经验而犯错。学习可以被视为统计分类的一种限制形式,数学上已经很成熟了。机器学习算法是启发式的,并且在异常情况下可能会失败。
机器人伦理
当人们将计算机视为有思想或有生命的人类时,伦理问题就会产生。伦理学家通常会问某些设备的使用是否符合伦理道德;现在,有一些人热衷于讨论我们对待人工智能的伦理责任,以及人工智能是否会按照道德规范对待我们。有时伦理学家会假设这样一种情况,在出现不愉快的后果时,人工智能必须在两种行动中选择一种,并询问设备应该做什么。因为在同样的情况下,人也会遇到相同的问题,所以这种困境在计算机出现之前就已经讨论过了。而另外一些人则热衷于讨论我们是否可以摧毁一个人工智能。这些问题掩盖了我们真正关心的问题:当使用机器的时候,它是否是足够值得信赖的?
文字游戏
人工智能研究社区利用文字游戏的方法来改变词语的意思:社区对“机器人”一词的使用就是一个例子。“机器人”一词源于卡雷尔·卡佩克(Karel Capek)的戏剧中的捷克语(Rossum’s Universal Robots)。卡佩克所谓的机器人是指类人生物,几乎与人类无法区分,并且像人类一样行事。如果这样定义“机器人”的话,那么构建这样的一个机器人很有挑战性。然而,现在的真空吸尘器、炸弹处理装置、无人机和基础的工厂自动化都可以用“机器人”这个词来表示。许多人都声称正在建造机器人,但是没有像卡佩克这样的远程遥控设备。这个文字游戏为机器人增加了一个神秘的光环,并将我们的注意力从检查实际机制中分散开,这样就无法得知它是否值得信赖。今天的“机器人”是能够而且应该被评估的机器。在讨论人工智能时,一个精确的定义是非常重要的。
人工智能:创造幻觉
艾伦·佩利斯将人工智能研究人员称为“魔术师”,因为他们试图创造出智慧的幻觉。他认为,他们应该被认为是舞台上的魔术师而不是科学家。杜普查克和魏泽鲍姆表示,产生智慧的幻觉是很容易的。
我们需要的不是玩技巧的计算机系统,而是值得信赖的工具。值得信赖的系统必须建立在健全的数学和科学基础上,而不是建立在启发式或魔术师的技巧上。
结论
每当开发人员谈论人工智能时,都会被问到“究竟什么是人工智能”。虽然“人工智能”没有一个被普遍接受的定义,但对于他们来说,这可能意味着某些具体内容。“人工智能”这一术语掩盖了实际的机制,但是它常常隐藏着草率的和不可信赖的方法,也可能隐藏着一个健全的机制。人工智能既可以采用准确的信息得出合理的逻辑,也可以使用来源可疑的数据做统计推断。人工智能既可以是一个结构良好的算法,最终表现为正常运行,也可以是一组具有未知限制条件的启发式算法。除非我们知道它是如何工作的,否则我们不能完全相信一台设备。
如果你能接受结果是不正确的或根本没有结果,那么此时人工智能方法的风险最小。如果你准备好了去接受“我不明白”这样的回答,或是一个来自“个人助手”的无关答案,那么人工智能也可以胜任。如果对方的回答对你来说很重要,那么在使用人工智能的时候就要三思而后行了。
一些人工智能程序几乎一直在工作,并且是危险的,因为我们学会了依赖它们。故障可能未被发现;即使检测到故障,用户可能也不准备在没有设备的情况下继续进行工作。
大家千万不要被某些示例误导,因为示例会避免出现“人工智能”失败的任何情况,所以往往会误导大家。在很多事情上,计算机可以比人做得更好。人类是通过一系列微小改进而发展的,并不需要产生一个最佳设计。“自然”方法已经发展到有限的传感器和执行器的使用。现代计算机系统由于采用了强大的传感器和远程执行器,能够应用一些数学方法来解决问题,而这些数学方法对人类来说是不实用的。人类的方法似乎不太可能是适用于计算机的最佳方法。
当图灵否认了“机器可以思考吗?”,并认为这个问题不科学的时候,他向我们描述了一个不同的问题来说明他所谓的“科学”。虽然他是对的,但是他误导了我们。从事他所提出的“替代问题”的研究人员不仅在浪费时间,而且常常还会浪费公共资源。我们不需要只会模拟人类的机器。我们需要机器做那些人类做不了、不愿意做的或者做得不好的事情。
我们应该研究一些更具体的问题,比如“计算机系统可以有效地控制汽车速度从而保障安全吗?”,而不是追究“计算机是否能够赢得图灵的模仿游戏?”这样无聊的问题。关于计算机能力,存在许多有趣的、有用的和科学的问题。像“机器可以思考吗?”和“这个程序智能吗?”这样的问题并不在其中。
可验证算法是优于启发式算法的。采用启发式算法创造出智慧幻觉的设备会带来一些我们无法接受的风险。 ■
脚注:
* 本文译自Communications of the ACM, “The Real Risks of Artificial Intelligence”, 2017, 60(10):27~31一文。
1 2017年3月13日,微软研究院的凯特·克劳福德(Kate Crawford)接受了《卫报》(The Guardian)的采访。
2 卡内基梅隆大学当时被称为卡内基理工学院。
3 编写启发式程序的人员是不会将导致程序产生不正确结果的那些条件集写入程序的。请参阅“用于构建解析器的人工智能系统”一节。
4 罗杰斯心理治疗法的医生是根据患者的回答重复他们的话。
5 杜普查克(Dupchak)的意外死亡阻止了他的论文出版,因此我不能给出确切的日期。
6 硬币匹配是一个双人游戏。每人手中有一枚硬币,所以他就有两种选择:出示硬币正面或反面。如果两个人都出示同一面,那么其中一个人赢得胜利;如果两个人出示不同的面,那么另外一个人赢得胜利。
7 这个例子可以在维基百科中找到。
8 解析器是编译器的重要组成部分,可以将程序划分为若干组成部分。在罗伯特·弗洛伊德的工作出现之前,解析器是由人创建的。罗伯特·弗洛伊德的算法可以为一大类的语言自动生成解析器。
9 当时的高级硬件。
10 我不能保证这个故事的真实性;这确实与我有关,但我不在现场。我把它写进去是因为我们能从中学到重要的东西。
11 德语中的流行术语。
12 爬山算法类似于总是走上坡路的徒步旅行者。他们可能最终止步于小山丘的顶部,但是远低于山峰。
参考文献:
[1] Turing, A.M. Computing machinery and intelligence. Mind 59 (1950), 433~460.
[2] Weizenbaum, J. Automating psychotherapy. ACM Forum Letter to the Editor. Commun. ACM 17, 7 (July 1974), 425; doi: 10.1145/361011.361081.
[3] Weizenbaum, J. ELIZA—A computer program for the study of natural language communication between man and machine. Commun. ACM 9, 1 (Jan. 1966), 36~45; doi: 10.1145/365153.365168.
作 者:
戴维·洛奇·帕纳斯(David Lorge Parnas)任职于加拿大渥太华的Middle Road Software公司。他是加拿大麦克马斯特大学(McMaster University)和爱尔兰利默里克大学(University of Limerick)的名誉教授。
Lillian Chik-Parnas,Nancy Leveson,Peter Denning和Peter Neumann为本专栏的早期草稿提供了有用的建议。
译者:胡欣宇
本期责任编委:苗启广
所有评论仅代表网友意见