图灵测试与机器学习——学习笔记
图灵测试与机器学习概述首先,回顾了图灵测试的发展历程,以及随着时代的发展,图灵测试面临的挑战和未来的发展方向。之后,简述了机器学习的基本原理,并且以人工神经网络、决策树、支持向量机为例,阐明了目前机器学习的基本思路以及存在的问题。最后,笔者表达了学习后对于人工智能领域内一些问题的观点以及设想。关键字:笛卡尔思维法则、图灵测试、具身认知、机器学习、
图灵测试的提出与发展图灵测试最早由艾伦·麦席森·图灵于1950年提出,在《计算机器与智能》一文中,他创造性的提出了“具有真正智能的机器”这一概念。
什么是图灵测试图灵测试最初的名字是:模仿游戏(imitationgame)。根据图灵在1952年提出的想法:让计算机冒充人,如果有30%以上的裁判误认为与自己对话的是人而不是计算机,那么就认为这台计算机拥有与人相同的智力。图灵测试中设想的人机关系是博弈性质的“测试”,而不是规范化的“定义”,这是一种以人类为中心的认知判断比较。
图灵测试的意义图灵测试的意义在于:首先,图灵测试通过一个程序操作集合,将智能化的判别方法进行了具体描述,为智能提供了一个行为主义判别标准,避免了对智能本质的争议。其次,图灵测试通过黑箱化处理,规避了很多现阶段无法解决的问题,从而加快了人工智能的发展速度。图灵测试同时也在一定程度上,完成了从“笛卡尔测试”的思想转变。“笛卡尔测试”由两方面组成:语言符号的理性对话以及根据知识进行理性行动的能力。图灵放弃了对客观世界物体的空间考虑,把人机关系作为去空间化的比较关系进行处理,为如今的数据驱动(datadriven)机器学习建立了坚实的基础。
图灵测试的合理性人工智能的起点是笛卡尔的“思维法则”。法则问题的提出,源于笛卡尔的首部著作《思维的指导法则》。书中提到了可解决大部分问题的“万能方法”:普遍代数方法:第一,将问题抽象转化为数学问题;第二,将数学问题进一步抽象为代数学问题;第三,将代数学问题转化为一个可求解方程式,从而对问题进行定量分析、解决。图灵正是利用这样的算数公理化方法,构建出了“图灵机”的概念模型。图灵测试反应了建模的准确性与科学性。同时,图灵测试将人机关系放到同一个级别进行比较,也充分符合了欧几里得几何的比例理论。
图灵测试的面临的挑战具身认知的提出受到哲学、人工智能等学科影响,认知心理学陷入了一场“后认知主义”的变革中。具身认知作为心理学研究的一个新取向,成为了一个焦点问题。具身认知理论主要指生理体验与心理状态之间有着强烈的联系。生理体验“激活”心理感觉,反之亦然。简言之,就是人在开心的时候会微笑,而如果微笑,人也会趋向于变得更开心。具身认知的提出与图灵测试产生了一定的矛盾。图灵测试忽略了客观物体的空间性,但具像认知的倡导者认为,在知觉运动系统的背后存在一个“心智”,这个心智具备各种形式命题和推理规则,指挥着前者的运作。无论我们心目中的那个理性的、基于规则的和推理的东西是什么,它都完完全全地嵌入我们的身体活动中。他们认为,“心智锁在身体之中,在任何时候,它都占有一个特殊的空间,且面临一个具体的方向。这些不可否认的事实形成了具身认知的部分基础”。也就是说,人的思维和认知在很大程度上是依赖和发端于身体。身体的构造、神经的结构、感官和运动系统的活动方式决定了我们的思维方式,身体的反应和感觉才是决定我们怎么看待这个世界和自己的。
应用领域图灵测试的核心是人的智能。但是人的智能包括多个类别,图灵测试对于测试的内容并不明确,语言交流能力也仅仅是人的智能的很小的一部分。因此,图灵测试应用的领域背景仍需加强。
时间维度对于智能性的判定不能仅仅局限在某几分钟,是否具有智能性是一个可持续的、长期的状态。其最终目标是所有人在所有时间段都无法分辨其是人还是机器。并不能仅仅依靠短时间内的测试判断其智能性。
衡量标准图灵测试对于“智能”的认知是定性的,很难通过图灵测试,而对人工智能的实际发展水平有一个清晰的认识。同时,图灵测试的方法存在一定的漏洞,很容易发生作弊行为(比如:尤金·古斯特曼在雷丁大学举办的测试)。因此,图灵测试还无法承担定量分析智能系统智力发展水平的需求。北京智源人工智能研究院提出了图灵测试2.0版本的概念。智源研究院将开放并提供一个通用智能训练和测评系统——广义图灵测试。广义图灵测试就是要把认知神经科学融入到原来的图灵测试中,而不再对智能体的某个单一行为进行检测。
机器推理与运算人工智能有三大分支:认知计算(cognitiveAI)、机器学习(machinelearningAI)、深度学习(deeplearning)。
举一个简单例子,人们去市场买菜,那么菜就是训练数据,把挑选优质菜时的依靠的物理属性列出来,就是我们需要考虑的数据的特征。最终菜的味道、成熟度、品质就是输出变量。只需要将这些数据进行统计,通过人工神经网络的相关算法,就可以建立一个菜的品质与不同属性的相关性模型。下一次再买菜时,便可以通过这个模型对菜的品质进行预测。在此基础上,经过不断的买菜,算法会依据每次判断的正误,不断的优化自己的代码,也就是强化学习。这样,我们便成功完成了一个机器学习的实例。
人工神经网络人工神经网络分为三个部分:结构(Architecture)、激励函数(Activationrule)、学习规则(Learningrule)。结构规定了网络中的变量和他们的拓扑关系;激励函数是神经网络模型具有的短时间尺度的动力学规则,用于定义神经元如何根据其他神经元的活动来改变自己的激励值;学习规则指定了网络中的权重随时间的变化规律,是一种长时间尺度的动力学规则。下图为单一神经元的示意图神经元将输入向量和权向量进行内积,经过一个非线性函数SUM处理,得到一个标量结果。他的作用是把一个N维空间分割成两个部分,通过对输入向量的处理,判断出该向量属于哪个部分。多个神经元进行组合,并且所有的神经元的输入向量都相同,这就构成了一个单层神经元网络。由于每个神经元都会产生一个标量结果,因此输出结果为一个向量。人工神经网络的学习过程,是通过训练样本的校正,不断地修改各个层的权重,最终创建模型。
决策树在机器学习中,决策树(DecisionTree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。决策树需要监督学习。决策树的生成主要分为两步:节点的分裂和阈值的确定。一般以数据群体作为根节点,找到变异量最大的变量作为分割准则,直到模型准确度满足要求为止。阈值的确定决定了分类的条件,选择适当的阈值可以使分类错误率最低。
支持向量机支持向量机(supportvectormachines)是一种二分类模型,是一种在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。最终训练完成后,大部分样本不需要保留,最终模型只与支持向量有关。支持向量机基于统计学的VC维和结构风险最小原理。VC维:描述函数集或机器学习能力的重要指标。给定一个函数集如果存在a个样本能够被函数集的函数分为全部的2a种形式,那么称函数集能够把a个样本打散。函数集的VC维是其能打散的最大样本数目a。min12∣∣w∣∣2+∑i=1lCiξis.t.yi(ωϕ(xi)+b)>=1−ξiξi>=0(i=1,2,...,l)minfrac{1}{2}||w||^2+sum_{i=1}^l{C_i}xi_i\s.t.y_i(omegaphi(x_i)+b)>=1-xi_i\xi_i>=0(i=1,2,...,l)min21∣∣w∣∣2+i=1∑lCiξis.t.yi(ωϕ(xi)+b)>=1−ξiξi>=0(i=1,2,...,l)
式中第二项为惩罚项,C为常数,称为误差惩罚参数,ξ_i是松弛变量。C越大,对错误分类的惩罚越大。核函数:核函数方法实施步骤如下图。.常见的核函数主要有4种由核函数的性质,我们可以通过加法、乘法等运算利用上表中的核函数,构造出更加复杂的核函数,以满足特定的应用需要。但是表中的核函数是基于向量空间模型的,缺乏利用数据间的结构信息,且要求向量的长度是固定的。为了克服这一问题,通常需要对所应用领域寻找物理、化学和生物意义的相似性,进而构造结构化数据核函数。具体方法如下:(1)定义每个成分的核函数,通过某种运算将这些核函数构成合法的核函数,成为组合核(如卷积核、邻域核等)。(2)直接定义特征空间的点积,不考虑Mercer条件。由于特征空间的位数通常很大,因此需要给出计算核函数的高效算法,称为句法驱动核。主要思想是把对象分解为子结构,特征向量由子结构的计数组成。(3)利用描述数据的某种模型将数据转换成向量空间形式,称为模型驱动核。(4)直接将核函数进行指数运算,构成指数核。
多类支持向量机当处理多类分类问题时,常用的构建多类向量机的方法有直接法和间接法。直接法是直接修改目标函数,将多个分类面的参数求解合并到一个最优化问题中,通过求解一个最优化问题实现多类分类。计算复杂度较高。间接法将多个二分类器组合起来,构成多分类器。常见的策略有一对一、一对多两种。另外还包括二叉树和有向无环图的多类支持向量机。
单类支持向量机单类指的是训练集中只有一类样本,剩余的样本称为负类。单类支持向量机的基本思想是:通过非线性变换把数据映射到高维的特征空间,然后在特征空间中,把原点作为异常点,求出训练样本与原点最大间隔的超平面。对测试样本,通过超平面进行分类。常见的有基于边界的单类支持向量机和基于密度的单类支持向量机。基于边界的单类支持向量机通过寻找最小化的超平面或超球,将样本数据尽量的包含在超球中,通过超平面或超球判断测试数据是否属于正常类。基于密度的单类支持向量机通过估计样本数据的概率密度,再根据设定的阈值来判断样本是否属于正常类。
基于增量学习的支持向量机分解算法和序列最小优化算法能够用于解决大样本的训练问题。但是当样本所占空间超过内存大小时,方法失效。因此引入基于增量学习的支持向量机。基于增量学习的支持向量机大体可分为四类:错误驱动法、固定划分法、过间隔法以及错误驱动法+过间隔法。错误驱动法的基本思想是保存支持向量机分类器错分类的数据。当新增的数据装入内存时,用SVM进行分类,如果数据被错误分类,则保留这些数据。当错误分类的数据达到某个给定的阈值时,那么将这些错误分类的数据并入训练样本,用于获得新的支持向量机。固定划分法的基本思想是将训练的样本(数据)分割为大小固定的部分。当新增的数据装入内存时,将其加入当前的支持向量,作为训练集用来训练新的SVM。过间隔法的基本思想是假设在某个时间t的支持向量机分类器为SVM,如果新增的数据超过了SVM的最大时间间隔,进行判断。如果该数据满族条件,则保留数据,否则丢弃该数据。根据实际应用背景,选择一个阈值Ne,如果越过边界的数据点达到Ne值,则将这Ne个数据与SVM的支持向量一起作为训练样本。错误驱动法+过间隔法的基本思想是假设在时间t的支持向量机为SVM,对新增加的数据进行KKT条件检测,满足则保留数据点,否则对其进行分类。如果误分类,则保留数据,否则删去数据。当间隔或误分类的数据到达阈值时,将这些数据加入训练集,进而训练获得新的支持向量机。
感悟人工智能的发展从一定意义上说,进入了瓶颈期。图灵测试带来了人工智能的快速发展,但同时也限制了机器自动化的进一步研究。黑箱应用在人工智能领域固然是充满创造力的,但同时也有一定投机取巧之嫌。这就好比是考前速成与日常积累的区别。而现如今,人工智能的进一步发展同样也有两种途径:将黑箱这一理念继续发展,或者从人脑、哲学的角度,深度剖析“智能”的概念与实现。第一种黑箱理念的关键是找到合适的装置。在一定意义上,最好的图灵机就是人脑。因此可以考虑从人本身主题出发,构建人与机器的互通关系。正如英特尔院士兼英特尔预期计算实验室主管LamaNachman的团队所研究的一个项目:人脑-计算机接口(BCI)。霍金、彼得·斯科特·摩根博士都是这个项目的受益者。这样,机器的作用就变成了直接强化或丰富人类的能力,机器将直接成为人类的一部分。基于这样的设想,电影中的桥段(《阿丽塔》),亦或是游戏的设置背景(《赛博朋克》),可能就是人类的未来。当然其中所涉及的伦理、道德问题能否得到完美的解决,人们是否会认可这样的一种方式,仍然有待商榷。另一个方面,则是通过人工培植细胞与机器结合,从而完善图灵机的智能算法体制。目前的机器学习仍然以数据驱动为主,也就是说机器只能根据大量的数据去推测可能的结果,并没有中间判断过程。为了更好的模拟人脑的思维过程,可以从生物细胞的角度出发,找到人脑处理信息模式中的最小单元。将人类行为分成更加基本的单元,比如图灵提到的注意力转移,以此为背景,通过生物实验,培育出能够反映这一生物能力的单位细胞组。并通过高性能传感器,对细胞组产生的多元信号进行处理、学习,最终转化为符合人脑逻辑的高智能图灵机。第二种则需要我们对目前人工智能的概念进行充实和完善。不妨思考一个问题,计算的运算能力、存储能力都比人脑强很多,但是“智能性”却远不及人脑强大。其实,这就是不同系统层次的配合问题。人体内众多能力“不强”的系统,最终构成的人类是充满智慧的。但是我们在机器领域其实一直在不断的增强他某一方面的能力,缺少不同底层算法的配合。因此我们第一个需要解决的就是如何将不同功能的高性能算法进行整合。这也与具身认知的理论是不谋而合的。其次,人工智能属于仿生学的一种,因此也很难跳过意识流(steamofconsciousness)这一概念。意识流由美国机能主义心理学家先驱詹姆斯提出,强调了意识的不间断性。意识流中的信息便是我们构建人工智能的所有参照。体现到人本身就是一种自我思考、自我反省的过程。对于理想的图灵机,我们需要建立的图灵测试,更应该是一种自省式的问答。
图灵测试是人工智能的标准吗
来源:赛先生
编者按
科学就是一个可以被证伪的学说。任何一个科学论述,都要能够被实验检验。比如说,要科学地解释定义什么是自我意识,其本质就是设计一个实验。比如观察动物在镜子里看到自己时候的行为,是寻找镜子后面的另一只动物,还是知道镜子里就是自己。通过做类似的实验,我们可以判断,猫、老鼠、猴子等等有没有自我意识。
人工智能领域中,最重要的概念就是智能。但什么样的实验能够定义”智能“这个概念?大家常常利用图灵测试这个实验来定义有没有智能。但这一定义真的合适吗?真的有利于人工智能的发展吗?有没有更好的实验定义?这篇文章深入讨论了这个问题。
——文小刚
王培(美国天普大学计算机与信息科学系)
随着人工智能成为热门话题,“图灵”(AlanM.Turing,1912.6.23~1954.6.7)这个名字也逐渐广为人知。一个常见的说法是把他提出的“图灵测试”作为人工智能的标准或定义,并以此为由称他为“人工智能之父”。我下面要反驳这种说法,理由是:
(1)这个说法不符合人工智能的史实;
(2)把图灵测试作为人工智能的定义是不恰当的;
(3)其实图灵本人并不是这个意思。
我无意贬低图灵对人工智能的重大贡献,只是试图澄清一些误解,并指出这些误解在当前人工智能讨论中所造成的问题。我不希望这些问题被错误地算在图灵名下。
1图灵和人工智能到底是什么关系?图灵大概是最早认识到“计算机”除了完成数值计算之外还能从事其它智力活动的人之一,并且是第一个对此进行了系统思考和深入分析的。有证据表明,他早在1941年就开始考虑在计算机上实现“智能”(或者说“思维”,在这个讨论中这两个词差别不大)的可能性了,并在1948年写了以“智能机器”为题的报告,尽管他最广为人知的有关著述是在1950年发表的《计算机器与智能》[1]。
在这篇历史文献中,图灵开宗明义地要大家考虑机器是否能思维的问题。为了避免“思维”一词在解释上的混乱,他主张只要计算机在语言行为(对话)上和人没有明显差别,就应该算是“能思维”或“有智能”了。这就是后来所称的“图灵测试”。他认为可以编制一个“儿童”程序,然后对其进行教育以达到成人的智力水平。图灵自己在1948年曾和朋友合作设计过一个国际象棋程序,但在他1954年去世之前没能把他关于智能机器的设想充分展开。
阿兰·图灵
“人工智能”作为一个研究领域,公认是在1956年夏的达特茅斯会议上形成的。这个只有十来个人参加的会议不但给这个领域取了名,而且涌现了其主要奠基人:麦卡锡、明斯基、纽维尔、司马贺。这四个人,以及他们分别在斯坦福、麻省理工、卡内基梅隆建立的研究中心,主导了这个领域前几十年的研究方向。他们远比图灵更有资格被称为“人工智能之父”,而图灵更适合被称为“先行者”。
比名号更重要的是:这几位对智能的理解和图灵有重要的差别。他们当中没有一个是以“通过图灵测试”作为自己研究工作的目标的,并且都或明或暗地对这个测试表示过不以为然。在达特茅斯会议的计划书中,人工智能问题被说成让计算机的行为符合人们对智能行为的认识。以此为起点,主流人工智能一直是以“让计算机解决那些人脑能解决的问题”为工作定义和划界标准的,而并不要求系统的具体行为和人不可区分。以计算机围棋为例,“把棋下好”和“把棋下的和人下的一样”是两个不同的研究目标。出于这种考虑,在主流人工智能文献中提到图灵测试时,一般都是只承认其历史价值,而否认其对研究工作的现实指导意义的。就在不久前,世界上最大的人工智能协会AAAI的机关刊物《人工智能杂志》的2016春季号还出了一期专刊来讨论图灵测试的各种替代方案。
以通过图灵测试为目标的对话程序一般称为“chatbot”。这个词和机器人(robot)一词相近,故常被译作“聊天机器人”,但其实应当译作“聊天程序”,因为它们都是专用软件,而非专用硬件。这类工作在历史上长期被大部分人工智能研究者视为旁门左道或哗众取宠,其中最著名的例子的是魏增鲍姆在1966年编写的“伊莉莎”(ELIZA)。这个程序只凭一些简单的花招就使得很多使用者相信他们是在和一个人对话,以至于后来产生了“伊莉莎效应”这个概念,专指一个计算机系统的使用者和观察者以拟人化的思路解释系统的行为,因此赋予了该系统许多它本来根本不具有的品质。这种现象在对“阿尔法狗”的评论中又一次得到了充分展现。近来,主要拜深度学习所赐,聊天程序的研发终于被接纳成了主流人工智能的一部分,而图灵测试在这个领域中自然是一个恰当的标准。但尽管如此,这个标准也不能推广到人工智能的其它子领域。因此,至今以通过图灵测试为目标的工作仍只占人工智能领域中很小的一部分。
2图灵测试哪里不对了?反对图灵测试的意见来自若干不同的方向。
主流人工智能既然是以“解决那些人脑能解决的问题”为目标,自然是要“解题能力”越高越好,而不在乎“解题行为”是否和人一样。如果对某个问题有更适合计算机的解决办法,那为什么还一定要像人脑那样做呢?图灵已经预料到,要通过他的测试,计算机要会装傻和撒谎才行,因为在某些方面(如算数)能力太强就不像人了。《人工智能杂志》专刊所提到的替代图灵测试的主要理由也是它往往鼓励系统采用欺骗手段,而非真正展现其认知能力。
香农(对,就是创建信息论那位)和麦卡锡在1956年的一篇文章中提出图灵测试的缺点是:“在原则上”它可以通过查一张列出所有问题和相应答案的清单来做到,因此和我们关于思维的直观不符。具有讽刺意味的是,随着计算机硬件的发展,现在的一些“智能系统”的确是按这个“原则”构建的。哲学家塞尔的“中文屋”思想试验也是假定一个计算机可以用这个平淡无奇的办法通过图灵测试,而他以此论证真正的(强)人工智能不可能实现。
如我在《当你谈论人工智能时,到底在谈论什么?》中解释的,“人工智能”固然是要造“像人脑那样工作的计算机”,但关于“在哪方面像人脑”的不同看法已经将研究引向完全不同的方向。图灵测试是要计算机在行为上像人,而主流人工智能是要在解决各种问题的能力上像人甚至超过人。这两种研究都有价值且有相互联系,但并不是一回事。这正是主流人工智能不接受图灵测试的根本原因。
我自己的研究目标既非再现人类行为,也非达到或超越人类问题求解能力,而是让计算机遵循人所体现的信息加工原则。我认为这个原则就是“在知识和资源不足时适应环境”(详见《王培专栏|人工智能:何为“智”?》,而其它具体的“思维规律”都是建立在这个基础上的。根据这个原则,一个智能系统的行为(输出)依赖于它的经验(输入)。由于一个人工智能系统不会有和人类完全相同的经验,它就不会有和人类完全相同的行为,即使其输入-输出关系和人的基本一样。因此,我的系统不是以通过图灵测试为目标的。比如说,它对一个问题的回答取决于系统自身对此问题知道些什么,而不是一个普通人对此问题知道些什么。
3图灵错了吗?在这个问题上最令人哭笑不得的一点是:图灵从来没有建议过把他的测试作为“思维”或“智能”的定义。
尽管图灵的文章《计算机器与智能》被广泛引用,但很多人可能只看了他开头介绍“模仿游戏”(即后来被称为“图灵测试”)的那一部分。我这么说是因为他的下面一段话很少被提到:
“难道机器不会做某些应该被说成思维但和人所做的很不同的事吗?这是个很有力的反对意见,但我们至少可以说,如果能够成功地玩模仿游戏的机器可以被构造出来,我们无需为这种反对意见而烦恼。”
这段话说的很明白:图灵把通过他的测试作为“能思维”的充分条件,而非充分必要条件(也就是定义)。这就是说和人行为一样必是能思维,但和人行为不同也未必就不算思维。在1952年参加BBC的一个广播节目时,图灵明确表示他没有试图给“思维”下一个定义,而只是想在人脑诸多性质之间“划一条线”,来区分那些智能机器需要具有的和那些不需要具有的[2]。
既然图灵没有给“思维”或“智能”下定义,而人工智能的领军人物们也没有接受这个测试,那“图灵测试是人工智能的定义”是谁说的呢?这大致是一些对人工智能半懂不懂的人士的贡献,而好莱坞也难逃其咎。一旦这个简单易懂的说法传播开来,大概谁也拿它没有办法了,更不要说图灵英年早逝,没机会反复辟谣了。
综上所述,在主流人工智能历史上,图灵测试从未被接受为标准或定义,而图灵也不是人工智能主流研究规范的奠基人,尽管他的观点的确对很多人产生了不同程度的影响。图灵测试的弊端是“和人的行为完全一样”不应被当作“智能”的必要条件。虽然实际上图灵从来也没有这个意思,他的文章的确给了不少人这种误解。
尽管如此,我仍认为图灵对人工智能做出了巨大的贡献。这体现在下列方面:
他是最早明确指出“思维”和“智能”可能在计算机上实现的人,并且清醒地看出智能机器不会和人在一切方面都相同。比如在《计算机器与智能》中,他认为一个智能机器可能没有腿或眼,这就是说一个靠轮子运动和靠声纳感觉的机器人完全可能有智能。与此相反,至今仍有不少人以为真正实现人工智能的唯一办法是全面地、忠实地复制人的一切。尽管图灵测试把这条线画的离人太近,但总是一个有意义的开端。
在《计算机器与智能》中,他分析并驳斥了9种对思维机器的反对意见。从那时(1950)至今,对人工智能的反对意见层出不穷,但细细看来都不出他的预料,只是具体表述“与时俱进”了而已。尽管图灵当年的反驳没有彻底解决问题,他的预见性仍令人惊叹。就冲这一点,他的文章就没有过时。
他认为我们应当设计一个通用学习系统,并通过教育使其拥有各种具体技能。与此相反,主流人工智能系统的能力仍主要来自于初始设计,即使目前的“机器学习”也仅限于某种特定的学习过程(详见《计算机会有超人的智能吗?》)。如果他没有那么早去世,人工智能可能会有一条不同于达特茅斯诸君所引领的路线。
在我看来,图灵的主要局限是没有看到躯体和经验对概念和信念的重要影响。一个没有腿和眼的机器人完全可以有智能,但是不会有和人类完全相同的思想,因此也就不会有和人类完全相同的行为,即使我们只关注其语言行为也是如此。如果这个系统的智力足够高,它的确可能靠对人类的知识通过图灵测试(所以这个测试可以作为智能的充分条件),但这不应该是我们说它有智能的唯一依据。
4和我们有什么关系吗?以上分析的目的不仅仅是澄清历史事实,更是要据此评说目前的状况。
把图灵测试作为人工智能的标准或定义直接导致了对这一领域成果评价的片面化、肤浅化、娱乐化。既然一个计算机系统不可能在所有方面同等水平地和人相像,那么聚焦于其外在行为的似人程度就意味着忽略其内在机制的似人程度。在最近的新闻和讨论中不难发现这一倾向的种种表现:
以聊天程序的蒙人水平来评价其智力,
以人的智商标准来评估计算机智力发展水平,
以高考成绩来衡量计算机智能,
以在作曲或绘画上“以假乱真”的本事来体现人工智能的创造力,
以似人的“面部表情”或“肢体动作”来表现机器的“感情”。
这些工作不能说毫无意义,但仍是主要靠伊莉莎效应来赢得承认,即靠观众想“只有聪明人能这么做,现在这个计算机做到了,所以它一定聪明”,而完全忽略这些行为在计算机中的产生机制,尤其是它们和系统设计、以往经历、当前情境等因素的关系。比如说,尽管有理由认为一个人工智能系统可能有情感机制和审美能力(详情以后再说),那也不意味着它注定会“美我们之所美”、“爱我们之所爱”。贾府上的焦大是不爱林妹妹的,但这不说明他没有爱憎。实际上如果他表现出爱她,那反而不是真感情了。既然贾宝玉的情感和审美标准不能推广到其他人,有什么理由认为人类的情感和审美标准可以推广到其他智能物种呢?
一个领域的成果评价标准如果是不合适的,后果会很严重。不但研发工作会被误导,公众的期望也会落空,而且会错过真正有价值的方向。在人工智能领域中,这仍然是个大问题。
参考文献
[1]AlanTuring,ComputingMachineryandIntelligence,Mind49:433-460,1950
[2]AlanTuring,RichardBraithwaite,GeoffreyJefferson,MaxNewman,CanAutomaticCalculatingMachinesBeSaidToThink?AbroadcastdiscussiononBBCThirdProgramme,January14,1952
未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。
如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”
图灵测试,测的到底是什么
2014年6月7日发生了一件事情:聊天程序“尤金·古斯特曼”(EugeneGoostman)在英国皇家学会举行的2014图灵测试大会上冒充一个13岁乌克兰男孩而骗过了33%的评委,从而“通过”了图灵测试。
尤金的在线对话页面,不幸的是因为这一事件给服务器带来的压力,该网站已经几天无法访问了……
但是,通过了测试又怎么样呢?说明了什么问题呢?
图灵测试1950年,阿兰·图灵在那篇名垂青史的论文《计算机械与智力》的开篇说:“我建议大家考虑这个问题:‘机器能思考吗?’”但是由于我们很难精确地定义思考,所以图灵提出了他所谓的“模仿游戏”:
一场正常的模仿游戏有ABC三人参与,A是男性,B是女性,两人坐在房间里;C是房间外的裁判,他的任务是要判断出这两人谁是男性谁是女性。但是男方是带着任务来的:他要欺骗裁判,让裁判做出错误的判断。
那么,图灵问:“如果一台机器取代了这个游戏里的男方的地位,会发生什么?这台机器骗过审问者的概率会比人类男女参加时更高吗?这个问题取代了我们原本的问题:‘机器能否思考?’”而这,就是图灵测试的本体。
图片来源:BBC
……等等,那现在这帮人在搞的图灵测试又是什么啊。
其实你可能已经注意到了图灵的真正目的。不是说“思考”没法定义吗?没关系,我们不去纠缠哲学,我们来制造一个可操作的标准。如果这台机器“表现得”和一个思考的人类(人类是会思考的,对吧?)无法区分,那么我们就大可把它当做是在“思考”。
当然,有些方面机器很难表现得和人类一样,比如有血有肉——但是既然我们关注的是思考,那么就可以选择一个有代表性的领域,图灵选择的就是“模仿游戏”。在原论文中图灵建议,要求也不必太高,假如能判对的裁判人数不到70%(我认为这个数字也只是他的随口一说),那我们就可算是它成功了。
而到了1952年,在一场BBC广播中,图灵谈到了一个新的具体想法:让计算机来冒充人。如果不足70%的人判对(也就是超过30%的裁判误以为在和自己说话的是人而非计算机),那就算作成功了。
可以看到,图灵测试的核心其实不是“计算机能否和人对话”,而是“计算机能否在智力行为上表现得和人无法区分”。冒充异性和冒充人类都不过是特例而已。
不过这个1952年版的图灵测试在后世被发扬光大,成了今天我们所知的图灵测试的唯一方法。这就带来了一些问题。
中文屋子图灵测试自诞生以来产生了巨大的影响力,不光有支持,也少不得批评。其中最重要的批评之一,可能是1980年约翰·塞尔在《心智、大脑和程序》一文中提到的中文屋子思想实验了。
塞尔说,想象他锁在一间屋子里,手动模拟一个巨大的AI程序,和外界进行中文的对话。这个程序据说是“懂中文”的——至少,能以中文通过图灵测试。屋子里除了一堆纸(塞尔的原话是“bitsofpaper”)上写着运算的规则之外,别无他物。(好吧,为了人道起见也许应当添加基本的维生设施……)
图片来源:rationallyspeaking.blogspot.com
塞尔不懂中文,在屋子里摆弄符号显然也无助于他习得中文,屋子里也没有别的东西理解中文了。如果塞尔不“理解”中文,那么塞尔加上这堆纸也不能说是“理解”中文吧!虽然屋子的中文水平足以骗过中文使用者,但没有任何实体真的“理解”发生了什么。
换言之,所谓的图灵测试也是没有用的,就算通过了它也不能表明计算机在思考。
但问题还不仅限于图灵测试,按照这个实验,一台电脑和塞尔一样,都是只能识别弯弯扭扭的“符号”,对这些汉字符号的意义一无所知。这也正是计算机程序的问题,不管它是硅基的还是塞尔基的。这等于是说有理解力的强AI根本不可能出现!
这个思想实验看起来一目了然,完美符合直觉,而且很迎合了不少人的愿望——证明人类心智是独一无二的天赐产物,人类造不出赝品来。不过话说在前头,我(遵循丹尼尔·丹内特等人的观点)认为它是错的。
其实塞尔当初在伯克利讲座上首次提出这个实验的时候,就有听众反对说,锁在屋子里的人可能不懂他在处理什么东西,但他只是整个系统的一部分啊,他还有规则书,有演算纸笔,有一堆汉字的数据库,凭什么一定要他理解、而不能让整个系统理解?
塞尔的回答是:
“这个想法认为虽然一个人不懂汉语,不知怎么的他和他的那一堆纸联合起来就能懂汉语。如果一个人不是已经深陷意识形态之中,那他怎么会认为这想法可信,还真有点难以想象啊。”
也许吧,但是,真的只有“一堆纸”?
直觉泵的旋钮这种思想实验——用丹内特的话说叫“直觉泵”——有个共同的问题。它的确给出了一个直觉的结论,但是这结论是来自一个完整的详尽的思想实验,而不像普通的逻辑推理那样来自具体而明确的几个前提。如果这个实验的某个细节,某个你觉得无足轻重的细节,欺骗了你的直觉呢?
最有名的直觉泵大概是有轨电车问题(TrolleyProblem),1967年由英国哲学家费丽帕·弗特提出。铁轨上有五个小孩在玩,停用的岔轨上有一个小孩在玩,你要把车转移到岔轨上压死一个孩子救下五个吗?这是一个非常典型的关于道德问题的直觉泵。但是千万不要以为这实验就能完整地代表你的道德立场——如果我换一个条件,那个岔轨没有停用,也在正常运行,只是这趟车正好不往那走呢?如果我再换一个条件,根本就没有岔轨,那个小孩就在你身边玩,你把他推下去就能让车停下救另外五个小孩呢?如果那一个小孩是你的亲人呢?如果根本没有小孩、只有你自己决定是否要自己跳下去呢?
有轨电车问题已经成为了一个大领域,有无数的变体。图片来源:WorkmanPublishing
对待直觉泵,这正是丹内特的建议:研究它的细节,看看每个细节如果发生了改变会不会影响到最后产出的那个直觉。用他的话说,是“转动直觉泵的旋钮”。
回到中文屋子。塞尔说,他在手动模拟一个程序的运行——但是他没有说他是在哪一个层级上模拟。如果外面的人输入了一串中文,比如“你好啊”,屋子里的人在做什么?他是在做机器码(将寄存器23945的内容加到寄存器93756上)?是在做源码(定义常数p,令p=100)?是在做伪代码(将句子拆分为名词、动词、代词和修饰词,判断其是否为一个问题)?有没有注释可看?如果他在顶层,那么他会不会对自己在做什么有所理解?如果他只是底层的一个计算器,那他之上的繁复层级真的可以用“一堆纸”来轻描淡写地概括吗?
设想这样一个问题:写下一个英文大写字母D,把它逆时针旋转90度,然后把它放在一个英文大写字母J的上面。请问这让你想到了什么样的天气?
一个顶层的塞尔(或者干脆就是一个懂中文的塞尔)的脑海中会浮现出D躺在J上的这个形状。一个底层的塞尔当然对此一无所知,但是他身为计算器所驱动的那个中文屋子要怎么回答这个问题?如果这个中文屋真的通过了图灵测试,它当然不会被这道题难倒——但是解这道题的唯一办法,就是照着它的指示,把D躺倒,放在J上,对比记忆库,判断出这个形状最接近于雨伞,根据雨伞联想到雨天。这是底层的塞尔所不知道但中文屋作为一个整体必须在它的“内存”中做的事情。而这件事情和一个懂中文的塞尔解题时的所思所想又有何区别呢?
但是,如果简单地用“一堆纸”这个人畜无害的词,轻描淡写地描述中文屋,你的直觉就被误导了。如果一个中文屋真的完美通过了图灵测试,真的和人无法区分,它在和裁判对话时的“思维”状态必须是和真人高度类似的。假如图灵测试的裁判决定用苏格拉底式方法教授对方量子物理学,那么一个底层的做算术的塞尔当然不会因此学会量子物理——但是中文屋却会(别忘了,它通过了图灵测试——它能在智力行为上表现得和人无法区分)。这就像是给中文屋安装了一个新程序,能执行简单的量子物理计算和模拟。在这种情况下,你还凭什么说,因为底层的人没有理解,所以这间屋子也不能理解呢?
不过上面的论证其实都有一个麻烦。这些说的都是理想的图灵测试,是1950年图灵给出的最原始形态。而2014年6月7日这个聊天程序通过的那个“图灵测试”,和1950年图灵心中的那个测试,并不完全是一回事。
聊天机器人的“图灵测试”如果你刚才几部分的内容没忘光,可能还会记得,我们反复强调了图灵测试的准则是“计算机在智力行为上表现得和人无法区分”。
但是现实中真要测的话总得有规章,而英国皇家学会的测试规矩是,在一系列时长为5分钟的键盘对话中,某台计算机被误认为是人类的比例超过30%,那么这台计算机就被认为通过了图灵测试。尤金在2014年的成绩是在总计150场对话里骗过了30个评委里的10个,比两年前提高了4个百分点(所以严格来说,并不是发生了什么大突破,只是在改良的过程中跨越了一个武断的阈值)。
麻烦来了:尤金的设计思路并不是“一台在智力行为上表现得和人无法区分”的机器,而是一台“能够在5分钟长度对话内尽可能骗过人类”的机器。
经济学有个所谓的古德哈特定律:一项指标一旦成为政策制定的依据,便立刻不再有效。政策制定者会牺牲其他方面来强化这个指标,使得这个指标不再具有指示整体情况的作用。类似的道理勉强也可以套用到别的领域里。某种意义上尤金·古斯特曼就是例证——它不但是专门设计的聊天机器人、缺乏任何其他领域的智力能力,而且为了骗过人类,还被特意设定成一个13岁的非英语母语的小孩,以便在很多问题无法回答或者出现错误的时候,让裁判误以为这是因为它年龄小,而非因为它欠缺人性。
其实在聊天机器人里尤金已经不错了,至少它没有话题限制。早年间一个著名的聊天程序ELIZA的一个脚本是冒充一位精神分析师,如果病人说“我头疼”,它就会回以“你为什么说你头疼?”在这个子领域里它颇为逼真——可是这实在不能认为是表现出了类似人的智力活动。推特上曾有一个账号叫@AI_AGW,寻找那些气候变化怀疑论者的言论然后给他们发科学论文链接辩论,有些怀疑论者根本没意识到这是AI,双方可以大战几十回合。网友们还开发出了“女神AI”、“高冷AI”、“二逼AI”等等形态对其进行戏仿——但这些恐怕都不是图灵当初设想的人工智能形态。当然更不是科幻爱好者恐惧(或者盼望)的天网觉醒。
也许要这样的人工智能才更接近图灵的本意吧……图片来源:xkcd,汉化:Ent
无论是尤金的编写者还是程序的组织者,对此倒也心知肚明。编写者弗拉基米尔·维西罗夫说,“我们希望能借此激发人们对人工智能与聊天机器人的兴趣。”而组织者凯文·沃里克说,计算机冒充人会带来网络安全的问题,“理解这类实时在线交流如何让人们对某些事信以为真并对他们造成影响,是非常重要的事情。”没有人真的提到图灵测试本来的那个意义——判断计算机是否在思考;因为这也的确不是本来的那个图灵测试。
有一些人认为现在的整个人工智能领域都背离了初衷,比如侯世达。另一些人则认为图灵测试根本是无聊和过时的,和AI没有关系。有些人觉得现在的人工智能思路毫无问题,假以时日就能做出好用的AI。还有一些人认为强AI根本就是不可实现的。作为一个旁观者,我肯定无力判断哪几种观点是对的,但从个人来说,我是真的希望能出现一个程序,以原本的意义通过图灵测试的最初版——不光是为了计算机和人工智能的进展,也是为了理解我们自身的大脑。说到底,要弄懂一台机器的运作方式,还有什么办法比拆开来再装回去更好的呢?
参考文献和扩展阅读
作为丹尼尔·丹内特的粉丝,我针对这个话题推荐《意识的解释》和《达尔文的危险思想》两本书。前者直接讨论了AI的问题,后者则从演化的角度讨论了我们人脑这个“AI”的诞生为何是可以想象的。但如果只想走马观花看看他的观点,《直觉泵及其他思考工具》很不错。
来自物理学角度针对AI的讨论则有彭罗斯的《皇帝新脑》,虽然我不太赞同他的观点,但他讲了很多有趣的东西。
如果你对侯世达的路线有兴趣,《集异璧》当然是必推的作品,他的后续作品同样值得一看。