1.7 具有学习能力的机器
英文与中文有差异,第7节的英文标题是“Learning Machines”,这该如何翻译呢?直接翻译过来就是“学习机器”,但中文会有歧义,至少可以有三种理解,第一种,有人可能会联想到“学习他人”;第二种,有人可能会联想到“小霸王学习机”,指“辅助人类学习的机器”;第三种,指“本身具有学习能力的机器”。在这里,艾伦·图灵想表达的是第三种意思,即指“具有学习能力的机器”。
读者会猜测我没有令人信服的正面论据来支持我的观点,否则,我就不会花费那么多精力来指出那些异议中的谬论。现在我就给出这样的证据。
我们不要仅仅满足于批驳对立的观点,也要善于给出建设性的具体措施。在本节,图例将从正面论证“有可能存在可以思考的机器”。
让我们暂时回到洛芙莱斯夫人的反对意见,这个意见认为机器只能做我们告诉它去做的事。有的人说,人能够把一个思想“注入”机器,机器在某种程度上做出反应,然后回归静止,就像钢琴弦被一个小锤敲击了一下那样。另一个比喻就是一个小于临界体积的原子堆:注入的思想就像从原子堆外部轰击的中子。每个这样的中子会引起一定的扰动但是最后将逐渐消失。然而,如果原子堆的大小变得足够大的时候,轰击进来的中子产生的扰动很可能会持续地增加,直到整个原子堆解体。思维中是否存在一种对应的现象呢?机器中是否也存在一种对应的现象呢?这样的现象在人类头脑(human mind)中应该是存在的。绝大多数头脑都处于“亚临界”(sub-critical)状态,对应于处于亚临界体积的反应堆。一个想法进入这样的头脑中,平均下来只会产生少于一个的想法作为回复(in reply)。有一小部分思维处于超临界(super-critical)状态,进入其中的想法将会产生二级三级越来越多的想法,最终成为一个完整的“理论”。动物的头脑看起来肯定是处于亚临界状态的。从这种类比出发,我们要问:“机器可以被制造成超临界的吗?”
艾伦·图灵有时交替使用mind和brain这两个词,思维、人脑(大脑)、心灵、心智,这些词语同义。
这是一段值得深思的话。我们至少可以得到下面三点:
(1)艾伦·图灵具有扎实的物理学基础,能够得心应手地驾驭原子的裂变反应、临界体积这些知识,显然他已经深刻地理解了这些知识,表现出极高的人类智能。人类现在生活在一个大数据的时代,数据不等于知识,知识不等于智能,“填鸭式”的应试教育将越来越不能适应时代的要求,重要的是培养学生的分析能力、洞察能力、联想和想象能力。
(2)今天,“赋能”这个词很流行,在这段话中可以找到出处。有人说,计算机的“智能”就是把人类的智能通过编程的方式“注入”计算机。这种观点,在1950年也就是70年前就存在且被艾伦·图灵提到了。
(3)能不能举一反三(注意,我们在译文中特意把in reply标记了出来)、触类旁通,是智能高低的一个判断准则。现在机器学习中一个词“泛化能力”就是说这个事情。
“洋葱皮”的比喻也有用。在研究思维或大脑的功能的时候,我们发现一些操作完全可以用纯机械的方式解释,我们说这并不对应着真正的心灵。但是在剩下的部分,我们发现还有洋葱皮需要被剥除,一直这样下去。用这样的方式,我们是否能够达到“真正”的心灵,或者最终发现皮里面什么也没有了?如果是后一种情况,那么整个心灵都是机械的。(但它不是一个离散状态机,这一点我们已经讨论过。)
上面两段并没有提供令人信服的论据,倒不如称作“为了产生信仰的诵读”。
为1.6节开始时提出的观点给出真正令人满意的支持,只能等到20世纪末了,在那时再进行所描述的实验。但是在等待的这段时间里,我们可以做些什么呢?如果实验将来会成功,我们现在应该采取什么步骤?
艾伦·图灵说到公元2000年的时候,也就是要等50年,才可能“有真正令人满意的支持”。艾伦·图灵这样说,是否正确呢?需要从两个方面去看,也正确,也不正确。一方面,相对1950年,2000年时计算机的存储容量和计算速度有了极大的提升,人工智能的发展和智能计算机的研发经历了多次跌宕起伏;另一方面,在大部分人看来,2000年没有制造出“能够思考的机器”,2022年也没有制造出。
正如我所解释,问题主要是程序设计,工程上的进步也是必要的,但所需不被满足的可能性似乎不大。估计大脑的存储容量在1010到1015个二进制位之间。我倾向于下界,而且认为只有一小部分用来进行高级的思考,其余大部分用来保存视觉印象。在模仿游戏中对阵一个盲人,若所需要的存储容量超过109,会让我惊讶(注意,《大英百科全书》第11版的容量为2×109),即使采用现有技术,107的存储量也是完全可行的,也许根本不需要提高机器的运行速度。那些可当作神经细胞对应物的现代机器部件,其速度比神经细胞快1000倍,这可以为补偿各种情况引起的速度损失提供“安全裕度”,剩下的问题主要就是如何编程让机器能够完成游戏。按照我现在的工作速度,我一天大概能编1000个二进制位的程序,所以大约60个工人在未来50年稳定工作,并且没有东西扔进废纸篓,就可以完成这项工作。似乎需要一些更迅速且有效率的方法。
艾伦·图灵强调了程序设计对智能的重要性。没有软件,计算机就没有灵魂。
艾伦·图灵这里提到“工程上的进步”,这是指什么呢?材料、电源、散热、芯片封装等都属于工程范畴。
艾伦·图灵所说的“那些可当作神经细胞对应物的现代机器部件”在冯·诺依曼的报告中被提到过。具体指什么呢?运算器!
艾伦·图灵在这里提出两个论断:对使得机器能够思考来说,
编程的重要性>工程的重要性
存储容量的重要性>运算速度的重要性
艾伦·图灵善于找参照物,他在这里以《大英百科全书》第11版为参照物,该参照物的容量为2GB。
为什么说,对阵一个盲人,1GB的存储容量就够了?因为人脑的大部分用于存储视觉印象,而盲人不需要存储视觉印象。
如何编程让机器能够完成游戏?艾伦·图灵估算了编程的进度,他的估算方法有合理性,但也有缺陷。
艾伦·图灵说,他一天大概能编1000个二进制位的程序,所以大约60个工人在未来50年稳定工作,并且没有无效劳动,就可以完成这项工作。
1000×365×60×50=1.095GB
现在组织一个600人的团队攻关一个项目是可能的,五年的时间也可以完成上面的工作量。
但是,之所以程序设计效率低、进展缓慢,主要不是编程语言本身的问题,而是对大脑及其思维规律的认知不足。
在试图模仿成人心灵的过程中,我们必须对那个把心灵带入它所处状态的过程进行大量的思考。我们可能需要注意三个因素:
(a)大脑的初始状态,即出生时的状态。
(b)大脑所接受的教育。
(c)大脑所经历的经验,此经验不被称为教育。
上面三个因素是一个划分。所谓划分,就是三个部分没有交叉(交集为空),它们的并是全集。
与其试图编程模拟成人大脑,不如模拟儿童大脑,如果让儿童大脑接受正确的教育课程,就可能获得成人大脑。儿童大脑大概就像一个刚从文具店买来的笔记本,只有非常简单的机制和许多空白的纸张(机制和书写在我们看来是几乎同义的),我们希望儿童大脑中的机制足够少使得容易被编程。我们可以假设,对机器进行教育的工作量和教育一个人类儿童的工作量基本相当。
这里提到两种思路,一种是直接模拟成人大脑,一种是先模拟儿童大脑,然后使之接受教育变成成人大脑。
假设儿童的大脑为B,成人的大脑为B′,教育为E,模拟为f,
E(B)=B′
f(B)为模拟儿童大脑的程序,
f(B′)为模拟成人大脑的程序,
f(B′)=f(E(B))
这样,我们把问题分为两部分:儿童程序和教育过程。这两个部分有紧密的联系。我们不能指望一下就找到一个好的儿童机器。我们必须对一个这样的机器进行教育试验,看其学习效果,然后再试另外一个,判断哪个更好。显然这个过程与进化有联系,通过这样类比:
儿童机器的结构=遗传物质
儿童机器的变化=变异
试验者的判断=自然选择
上面这三行,是在做什么?在做类比!类比思维,更广义地说是历史思维的一部分,也就是将当前研究的事物与过去已经被研究的事物之间建立一种映射或关联。
然而,人们可能希望这个过程比进化更迅速且更有效率,适者生存是衡量优势的一种较慢的方法。试验者的判断通过智能实验将会加快这一过程。同样重要的是,试验者并不需要局限于随机的变异,如果能够找出某些缺陷的原因,就可能想到改进它的变异。
对机器不可能应用与儿童完全相同的教学过程,例如,它没有腿,因此就不会被要求出去装煤斗;它也可能没有眼睛。但是不管聪明的工程师采取何种方法克服这些缺陷,只要这样的机器被送进人类的学校,其他的学生肯定会嘲笑它,它必须得到专门的训练。我们不必太注意腿和眼等,海伦·凯勒女士的例子表明只要老师和学生能够以某种方式进行双向的交流,教育就能进行。
艾伦·图灵再次强调:在研究智能时,应该忽略非本质的属性。
海伦·凯勒(Helen Keller,1880~1968年),美国著名的女作家、教育家、慈善家、社会活动家。她于1880年6月27出生,在出生的第19个月因患急性胃充血、脑充血而失去视力和听力。1887年她与安妮·莎莉文老师相遇。1899年6月她考入哈佛大学拉德克利夫女子学院。她于1968年6月1日逝世,享年88岁,在其生命中有87年生活在无光、无声的世界里。在此时间里,她掌握了英语、法语、德语、拉丁语、希腊语五种语言,先后完成了14本著作,其中最著名的有《假如给我三天光明》《我的生活故事》《石墙故事》等。她致力于为残疾人造福,建立了许多慈善机构,1964年荣获“总统自由勋章”,次年入选美国《时代周刊》评选的“二十世纪美国十大偶像”之一。
一个人,没有听力,没有视力,仍然可以学习,而且可以取得杰出的成就!海伦·凯勒的事迹不仅仅说明了人类在坚强意志方面的潜力可以有多么大,也对理解“学习”的过程、建立“学习”的理论具有重要意义。显然,艾伦·图灵在讨论构造具有学习能力的机器的时候,注意到海伦·凯勒的事迹,并得出了有益的启示。再一次地显示出,艾伦·图灵具有极其广博的知识面和极其深邃的洞察力,以及得心应手驾驭知识的能力。
这里再一次提醒大家注意教师的作用。
1887年3月3日,对海伦·凯勒来说这是个极重要的日子(那时她不到7岁)。这一天,家里为她请来了一位教师——安妮·莎莉文小姐。莎莉文老师跟海伦·凯勒很投缘,她们认识没有几天就相处融洽,而且海伦·凯勒还从莎莉文老师那里学会了认字,让她能与别人沟通,再学习一些生字的意思,她陆续学懂了鲜花、水、太阳等,并认为爱就是那温暖的阳光。其后再教导海伦·凯勒用手指点字以及基本的生活礼仪。
安妮·莎莉文老师十分有爱心,她首先了解了海伦的脾气,她终于知道凯勒的脾气为什么会如此躁动,是因为父母不忍看她做错事(打人、不守规矩、破坏东西等)被惩罚的模样。于是在她做错事时都给她糖吃,所以安妮·莎莉文老师必须要纠正父母的这些错误行为,并且与她地建立互信的关系,再耐心地教导海伦手语,一天,老师在海伦凯勒的手心写了“‘water’水”这个词,海伦·凯勒总是把“杯”和“水”混为一谈。到后来,她不耐烦了,把老师给她的新陶瓷洋娃娃摔坏了。但莎莉文老师并没有放弃海伦,她带着海伦·凯勒走到水井房边,要海伦·凯勒把小手放在水管口下,让清凉的水滴滴在海伦·凯勒的手上。接着,莎莉文老师又在海伦·凯勒的手心,写下“‘water’水”这个字,写了几次,从此海伦·凯勒就牢牢记住了,再也不会搞不清楚。海伦后来回忆说:“不知怎么回事,语言的秘密突然被揭开了,我终于知道水就是流过我手心的一种液体。”
海伦·凯勒所写的“假如给我三天光明”这篇文章对于我们理解“学习过程”是很有帮助的。
我们通常将惩罚(punishment)和奖励(reward)与教学过程(teaching process)联系在一起,一些简单的儿童机器可以按照这种原则来构建或编程,使得遭到惩罚的事件不大可能重复,而受到奖励的事件则会增加重复的可能性。我已经用一台这样的儿童机器做了一些实验,并成功地教会了这台机器做几件事情,但教育方法太不正规以致不能被认为是真正成功的。
惩罚、奖励是教学过程中所必需的。教学的过程本质上是训练的过程,也就是学习的过程。“使得遭到惩罚的事件不大可能重复,而受到奖励的事件则会增加重复的可能性”这不就是神经网络的反向传播的基本原理吗?不就是提升(Adaboost)算法的基本原理吗?
惩罚和奖励的使用最好是教学过程的一部分。粗略地说,如果教师没有与学生沟通的其他方式,那么能到达学生的信息量不会超过所用的奖励和惩罚的总次数。当学生只能通过“二十个问题”的方法学习重复诗作《卡萨布兰卡》时,会感到非常痛苦,每一次“No”都会是一次打击。因此还必须采用其他“不动声色的”(unemotional)沟通渠道,如果“不动声色的”沟通渠道是可用的,就有可能通过惩罚和奖励让机器服从以某种语言(例如符号语言)给出的命令,此命令通过“不动声色的”渠道传达。这种语言的使用将会大大降低所需要的惩罚和奖励的次数。
学习的方法是重要的,无论是对机器,还是对人,都是如此。
惩罚和奖励是比较生硬的方法,就像法律上的“赏罚分明”也有些生硬一样。
对于什么样的复杂度更适合儿童机器可能有不同的看法,有人主张尽可能简单以保持通用性,有人主张嵌入一个完整的逻辑推理系统。在后一种情况下,大多数存储空间将被用来存储定义和命题,这些命题可能具有各种各样的形式,例如确定的事实、推测、数学上证明的定理、权威给出的判断、具有逻辑形式却没有确定值的表达式等。一些命题可以被称作“命令”,机器应该设计成当命令确定时立即自动执行合适的动作。例如,如果老师对机器说“现在做你的家庭作业”,这将使“老师说‘现在做你的家庭作业’”成为确定的事实;另一个事实可能是“老师说的一切都是对的。”这两个结合在一起将使“现在做你的家庭作业”成为确定的事实。而根据机器的设计规则,这意味着立即开始做家庭作业,效果还是令人满意的。机器所使用的推理过程并不需要像严格的逻辑家所为,例如可能没有类型的层次结构,但这并不意味着出现类型谬误的概率会比我们从悬崖摔下的概率高。合理的命令(在系统内部表达,并不是系统规则的一部分),比如“不要使用一个类,除非它是老师提到的类的一个子类”这样的命令就与“不要让他接近边缘”具有相似的效果。
没有肢体的机器人所能执行的命令具有智力性质,就像上面的例子(做家庭作业)。在这些命令中,最重要的是调节逻辑系统规则的执行顺序,因为在使用这个系统的每一步,都会有许多不同选择,在遵守逻辑系统规则的情况下,任意选择一个都是允许的。如何选择将区分聪明推理者还是愚蠢推理者,而不是区分正确推理者还是谬误推理者。导致这类命令的命题可能是“当提到苏格拉底的时候,使用芭芭拉的三段论”或者“如果有一个方法被证明比另外的方法快,不要使用慢的方法”。这些命题可能来自权威,也可能来自机器本身,例如科学归纳。
每个人从出生到死亡,乃至死亡之后,都处于静止与运动的这一对矛盾之中,每个瞬间的前后,每个人(特别针对大脑来说)似乎没有发生变化,但肯定又在发生变化。
“这些命题可能来自权威,也可能来自机器本身,例如科学归纳。”来自权威,就是专家知识;来自机器本身,就是归纳的结果。
具有学习能力的机器这个想法对某些读者来说似乎有些矛盾,机器的操作规则怎么能改变呢?无论机器过去经历什么,未来会有什么变化,其操作规则都应该完整地描述机器会如何反应,即这些规则是不随时间变化的。确实是这样的,悖论的解释是,在学习过程中发生变化的规则是一类不那么自命不凡的规则,只声称短暂的有效性。
具有学习能力的机器的一个重要特征是,教师通常对其内部发生的事情不了解,尽管教师仍然可以在一定程度上预测其学生的行为。这一点对具有经过多次试验的设计(或编程)的儿童机器所产生的机器的后期教育来说尤其适用。这一点与使用机器进行正常计算的过程形成鲜明对比:那里的目标是要清楚明白机器在计算中任意时刻的状态,而要达到此目标则需要付出艰苦的努力。如此,“机器只能按我们的要求做事”[1]的观点就会显得很奇怪了,能够输入机器的大部分程序终归会做一些我们无法理解的事情,或者被认为是完全随机的行为。智能行为很可能与完全服从命令的行为有差别,但只是较小的差别,不会引起随机行为或无意义的重复循环。通过教育和学习使我们的机器能够胜任模仿游戏中的角色的一个重要结果是,“人类易错性”(human fallibility)可能会以相当自然的方式(即不需要专门的“指导”)被忽略。学习的过程并不会产生百分之百的确定结果,否则就不是学习了。
人类的教师在正式从事这个职业之前,需要获得教师资格证,通常要学习教育心理学等课程。为什么要学习教育心理学呢?其中一个原因就是要了解学生的心理活动,以避免或减少图灵所说那种“对其内部的事情不了解”的情况。
图灵提到“对……后期教育来说尤其适用”,联想一下人类在中学时代要经历的青春期和逆反期,那时自主意识相对之前显著增强,教师对学生心理了解的难度也相应地提高了。中学生相比于小学生,智能水平更高,更难被管理,更难被透视心理。
在一个具有学习能力的机器中加入随机元素或许是明智的(参见1.4节)。当我们寻找某个问题的解时,随机元素相当有用。例如,我们想找到一个介于50和100之间的数,它等于各个数字的和的平方。我们可以从51、52开始一直试下去直到找到满足条件的数。另一个方法是随机地选数直到找到满足条件的数,这种方法的优点是不需要跟踪已经尝试过的值,但缺点是一个数可能被重复试两次,如果存在多个解,这一点并不是很重要。系统化方法有一个缺点,是可能存在很大一段数中并不存在解,但我们需要先判断它。现在的学习过程可以看成寻找满足教师的要求(或一些其他的标准)的行为,既然可能存在大量的可能解,随机方法可能比系统方法更好。应该注意到,在进化过程中有相似的方法,那里系统方法是不可能的,如何跟踪已经尝试过的不同基因组合,从而避免重复呢?
姚启智是研究随机数的专家。
我们希望机器最终能和人在所有纯智力领域竞争,但何处是最好的开端?甚至这也成为困难的选择。许多人认为抽象的活动,例如国际象棋可能是最好的选择;也有人认为最好是花钱给机器买最好的传感器,然后教它听说英语,就像教一个正常的小孩一样,教它命名事物等。我并不知道正确的答案,但是我想两方面都应该试试。
这里图灵再次指出本文讨论的是机器与人在“所有纯智力领域”竞争。需要注意两点。第一,不是在非智力领域竞争,例如人类不如挖掘机那样有很强大的臂力,但这没有讨论的必要。第二,不是仅仅在部分智力领域竞争,而是在所有智力领域竞争,比如机器与人不仅仅要比赛下棋,还要在写十四行诗等其他领域比赛。
我们的目光所及,只是不远的前方,但是可以看到,那里有许多工作需要去完成。
艾伦·图灵是一个具有深邃思考力的远望者,但他深知一个人的视距是有限的。这篇文章的最后一句,非常有深意,一方面是文章结束语,表示即使不远的将来,也有很多工作要做,另一方面,这是人工智能的思考范式,下棋时,我们只是看到不远的前方,但即使这样,这中间也有很多选择。