人工智能之父明斯基晚年六大预言,揭示人类和宇宙的未来
马文·明斯基 开智学堂
“ 登月 50 周年之际,我们该聊点什么?何不来听人工智能之父马文·明斯基这场名为《情感宇宙》(The Emotion Universe)的主题演讲!马文·明斯基(Marvin Minsky,1927 年 8 月 9 日-2016 年 1 月 24 日)数学家与计算机学家,人工智能之父。他是 MIT 东芝媒体艺术与科学教授,也是 MIT 人工智能实验室的奠基人之一。他著有八本书,包括 The Society of Mind。2011 年明斯基在参加 Edge 活动的这篇演讲中,对人类与宇宙的未来做了六个大胆而颇有说服力的预测。开智学堂(ID:OpenMindClub)推荐您,阅读下文~
作者丨马文·明斯基编译丨王诗溢
原文出处「http://t.cn/RG6pyZV」
开智学堂(http://www.OpenMindClub.com)
马文·明斯基 (图片源于网络)
你无法存在于设定错误的宇宙中
我曾听过一个关于多重宇宙的讨论,我感觉,存在一种过于简单而被人忽略的可能(下文的「我」皆为明斯基)。每种宗教都会问这样的问题:
谁创造了宇宙?为什么?为了什么而造?
但这么提问是有问题的!提问者们作了额外的毫无意义的假设。如果人们说 X 存在,其实是说 X 存在于宇宙中。说「这杯水存在」是没问题的,因为这相当于说「这杯水存在于宇宙中」。但要说「宇宙存在着」就很蠢了:这就像在说「宇宙」是某种东西,能像其他万事万物一样「存在」于宇宙中。所以,「是什么造就了宇宙的存在」之类的提问,本身也是有问题的。
我认为唯一合理的答案是相信著名的「多重世界理论」,即存在着很多「可能的宇宙」,而我们身处其中的这一个,除了我们存在于此以外,并无其他特别之处。换句话说,不需认为我们的世界「存在着」;相反,就当这个宇宙是个电脑游戏,然后考虑其理论的如下顺序:
1、想象一下,有台计算机模拟出了一个特定的世界,一些虚拟人于其中进化生长。最终,当他们变得足够聪明时,其中一个虚拟人开始问其他人:「是什么造就了我们这个世界呢,为什么我们在这?」当然,这个世界并不「真实存在」,只是一个模拟景象而已。
2、然后其中某个人突然想到,自己可能是虚拟的一部分。他大概要问:「谁写了程序来模拟我们?又是谁造了运行这个程序的计算机呢?」
3、当然会有人争辩道:「根本没有这样的计算机,只需程序存在即可——程序写好后,模拟中的一切即会顺序发生。毕竟,只要这台计算机和程序,与其他初始条件一起被设定,世界,包括其内所有居民及任何发生的事,就都能解释得通了。所以,唯一有意义的问题是:「这个程序是什么?**是谁编写了它?为什么?」**
4、最后另一个人说道:「这本无须编写!它本就是众多可能的计算指令之一!无须有人编写,甚至无须思考。只要『原则上可能』,那个宇宙中的人们就会认为并相信他们存在。」
所以我才说,「世界为何存在」这种问题根本毫无意义。不过,围绕这一特定宇宙的运作原理,还是有其他可以探究的好问题。举例来说,我们对自身——尤其是对「我们是如何进化,如何发展的」这样的问题,都有一定了解;而这一切的发生,这个创造我们的「程序」必然具备特定属性:
例如,任何构造必然需要具备能够自我复制和变异的属性,才能实现达尔文进化;这就意味着,某些东西足够稳定,能有一些持续的属性——类似于那些能够稳定存在很久的分子。
以此,我们理解的物理事实是:
能够容有人类或说任何智能生命体存在的宇宙,必然符合某种定律;否则万物转瞬即逝,无法支撑进化的进程。
我们是无法存在于一个物质不断消泯、膨胀或融合的宇宙中的。换句话说,我们无法存在于「设定错误」的宇宙中。
这里还有另外一个恼人的疑问,关于无规则的世界,我们也只能用「人择原理」来回答了:
物理学家能够质疑何为创世主的世界只能是支持这些物理学家们存在的世界。
万物:万物归宗,道法自然
过去物理学家试图向一般民众解释不确定性原则「量子理论」时,他们声称世界并非牛顿描述的那般确定,相反他们强调「不确定性」——万物皆盖然,不具确定命运。
然而,他们很少提及事实的另一面:正是由于量子化,我们才能有所依存。
就如经典牛顿力学所说,复杂系统不能持久存在。Jerry Sussman 和 John Wisdom 曾模拟太阳系,发现大的外行星能够稳定亿万年。但他们没有模拟内行星——因此我们无从得知我们的星球能否稳定存在。大行星的能量转化后足以把地球甩出太阳系(他们的确发现冥王星的运行轨迹十分混乱)。
确实,量子理论揭示了事物的不确定性:就说人人都有的 DNA 吧,DNA 大分子团中的一个碳原子的确有可能突然脱离并出现在大角星(α Boo / 牧夫座 α)中。然而,在室温下,一个 DNA 大分子结构几乎一定会老实地待上亿万年——因为量子力学作用——这也是进化得以发生的最重要原因之一。量子力学作用使得大部分物质稳定存在。
译者注:量子力学、人择原理与多重世界,三个概念相互纠结在一起,构成了理论物理学迷人的一面。感兴趣读者可以阅读相关科普读物,如《量子之谜》(Quantum enigma: physics encounters consciousness)。
所以我们该认真思考人择原理,并做出正确提问:
在可能的宇宙中,哪些存在持续稳定的环境,能够支持我们这种进化发生?
显然,第一个细胞出现在地球足够冷却之后,很快,我听说估算的时间是一亿年以内。接着又过了 3 万亿年,才出现后来分化成动物和植物的那种细胞群。这一切都只能在其自然法则支持稳定性的世界发生。这也是为什么在我们的世界里需要像量子力学这样的玩意儿——万物归宗,道法自然。(我在 Feynman and Computation 这本书里面也讨论了确定性原则。A.J.G. Hey, editor, Perseus Books, 1999.)
计算机科学开启复杂系统研究之门
▶ 发展落后的心理学
为何到现在,我们还没有关于大脑及其工作机制的完备理论?**在我看来,这是因为我们现在才开始有相关概念与技术。**大脑是多么精妙的机器啊,如今的电脑只能望之兴叹。可是,直到 20 世纪 50 年代,我们才开始关注到譬如记忆这样简单的脑功能概念——像数据结构、高速缓存存储器、优先级判断系统,和「语义网络」等等。计算机科学里这类概念已经数以百计,这在 20 世纪 60 年代之前根本无从想象。
心理学本身也是到了二十世纪才有了较大发展。亚里士多德等思想家对心理学有较好的构想,但随后的进展却非常缓慢;在我看来,亚里士多德在《修辞学》( Rhetoric )一书中的构想,水平已经接近 1870 年左右的思想家的著作。然后,高尔顿,冯特,威廉·詹姆斯,弗洛伊德等人,开始有了大脑工作原理相关的初步想法。但,在我看来,随后再无进展。直到 40 年代控制论学说出现,然后是 50~60 年代的人工智能论和 70~80 年代崛起的认知心理学。
为什么心理学远远落后于其他科学?20 世纪 30 年代末,瑞士植物学家 Jean Piaget(让·皮亚杰)开始观察他孩子的行为。
译者注:皮亚杰以心理学家闻名于世,但他在开始观察孩子的时候,还不是后世人们所知的心理学家,而是一名植物学家(原文所用)。第一次看到皮亚杰被称为植物学家,挺有趣,一般都认为他原本是生物学家,因为他本科到博士都是生物和哲学专业的,且从十几岁发表的论文到博士论文都一直研究软体动物,专门论述植物学方面的研究成果倒是没听闻过,只知道他把移植植物(其实更大量是移动软体动物的养殖点)作为兴趣。
接下来的十年间,他仔细观察三个孩子的成长,并据此写下了数以百计关于孩子大脑发育的理论,出了 20 本书。尽管一些学者对他的结论非常挑剔,这一学说的基本框架却已粗具雏形,他描述的那些发育过程在世界各地、各种文化间都能在相同的年龄段同步观察到。
让·皮亚杰 (图片源于网络)
皮亚杰的结论正确与否不是问题关键,关键在于:
为何 2000 年前没有像他一样的观察者?为何此前的所有文明中,竟没有人观察并试图推测出孩子们是如何成长的?
科技落后显然并非答案:Piaget 可没用到回旋加速器,他仅仅给了孩子一些水和糖果。
或许心理学发展滞后是因为人们试图借鉴其他成功的学科。举例来说:20 世纪早期,心理学家试图用数学理论来构建心理学科——值得注意的学习过程与模式识别。但数学有个致命的缺陷:它对复杂系统无可奈何。
数学确实可以很好地解释物理现象,我想这是因为:
基础物理定律极为有限,而计算机出现之前的数学正好擅长描述建立在少数有限法则上的系统(4 到 5 条,最多 6 条基本法则)。
像牛顿和麦克斯韦这样的物理学家们就找到了一些方法来阐释简单系统(基本定律也就 3~4 条)内的大量经典现象;然而对建立在 20 个假设之上的系统,数学便不切实际了。像群论这样始于 5 个假设的优美理论,系统之复杂已经让人们穷其毕生精力去研究。同样,你可以写个仅包含几句代码、没人真正明白的程序,不过我们至少可以在计算机上运行看看能够得出什么,有时也能得到足够的观察结果,得到一个还不错的理论。
▶ 值得学习的计算机科学
然而,计算机科学的内涵可不止于此。很多人认为计算机科学就是研究计算机能做什么的,但我不敢苟同:我认为:
计算机科学为描述和认识复杂系统开启了一扇全新的大门。随之而来的还有大量与心理过程有关的新鲜且实用的概念。
比如,过去的记忆理论认为,知识就是堆砌在一个「盒子」中的许多事实;之后的理论则开始区分出譬如短时程记忆和长时记忆这样的概念,同时人们也意识到人的具体能力牵涉到更广泛的脑区功能,并非只是存储于一个「盒子」中那么简单。
不过,计算机科学所暗示的有可能成立的记忆方式有很多种:
-
可能像数据库里的项;
-
或是像几套「如果-那么」的设定;
-
或是像以语义网络的形式(在语义网络中,具有内在关联的信息碎片可以得以整合成为一体);
-
又或者像计算机程序一样的过程式脚本;
-
或像神经网络,等等。
图片来源 网络
你确实可以在神经网络中存储信息。神经网络能非常有效地学习某种指定类型的知识,但对其他类型信息的处理能力仍几乎为零:因为只有极少数高阶程序可以「审视」特定神经网络里面的信息;而这就意味着,大脑的其他部分完全无法理解习得的内容,即它们在特定方式下学会的究竟是什么。
发展人工智能的过程中,我们学会了很多使程序加速的小技巧,但长久来看却注定会走到终结,因为模拟神经网络的学习模式对于其他的程序来说简直犹如天书一般无法理解。
译者注:明斯基在上文中使用的神经网络似乎同时既指「大脑自身的【生物性】的神经网络 」,又指「现在计算机科学里面【模拟】的神经网络 」。虽然两者不一样 。基本法则相通 ,计算神经科学现在多用从动物身上采集的数据,经过筛选 、建模, 得出一个类似的有功能的大程序(计算神经科学里的神经网络)。
甚至到了今天,脑科学家们对大脑的了解也是非常有限的,脑科学家们竟还没有找到大脑的高速缓存存储器。如今你要是买了台电脑,你会知道它有个大容量但比较慢的硬盘;不过它还有个高速缓存:它只存储最近用到且需要重复使用的极少数内容,这样在需要再次调用时,就不必到其他方去找了,速度极快。
如今的机器都会用到高速缓存,但我还没听科学家们这样讨论海马(人类及哺乳类动物用于存储短期记忆并形成长期记忆的脑区)。这说明脑科学家们还太保守了,他们还没有作出足够充分的假设——也就是说他们还只是在实验中不停的试错而已。
译者注:明斯基这里有点气人,原文意思是脑科学家们还没有找到大脑的高速缓存存储器。但并非如此。人类的大脑也是具有类似高速缓存的存储功能的,称为工作记忆。而实现这个功能的脑区是前额叶,属于高级皮层区域,不是海马。工作记忆的功能和高速缓存存储器的功能类似,但存储量极小,与其说是存储用,不如说是进行信息比对的地方,然后选择性的把信息传递给下一级脑区,最终形成记忆。
智能:需要强化计划而非行为本身
科学家们尝试过很多次,想要制造出能够自我学习并进化的「机器宝宝」,期望某天它们自己变得足够智能。不过这些计划都进展得不太顺利,尽管也有能「发展」到一定程度的智能,最后也都变弱或者退化了。其中:
一大问题是如何充分地展示他们所习得的知识。
另一问题是没有好的方案来完成「信度分配」。也就是说,我们是怎么通过知识或技能的内在联系进行学习的,我们是怎样学到那些核心要素的,而非仅仅是碰巧学到了而已?
举例来说吧,假设你学了一种新的使用扳手的方法,可以让螺丝钉稳住,不掉出来。这过程中什么才是你真正学到的?肯定不只是这一组操作的动作顺序而已吧(因为下一组螺丝钉的位置关系就不一样了),所以你一定是学到了一些能够重现的「高级技术」。
- 你怎么确定哪些是要领呢?
- 一组实验结果很好,但导致实验成功的因素多达十余种,其中哪些因素是你得记住的?
- 你该怎么展现这些因素?
- 又怎样确定哪些对结果至关重要呢?
早期心理学理论提出用即时行为的「强化」来回答这些问题。但这也没多大用处,因为手头的问题越发复杂了。
显而易见,需要强化的该是计划而不是行为本身,也就是说想要把信度分配做好,就要能思考做过的事——问题是,目前还没有人设计出能完成这一功能的框架。
编程:我们需要更好的编程语言
很奇怪的是我几乎没见过谁能设计出「问题解决」程序——哪怕只是能够描述「问题解决」的语言或能够运行这种语言的机器。
1、第一个试图用程序模拟人类解决问题过程的实验发生在 20 世纪 50 年代早期,就在计算机普及大众之前。Newell,Simon 和 Shaw 试图用 John von Neumann 等人设计的机器,来设计出「问题解决」程序。他们先设计出表处理语言 IPL;
2、1960 年左右,John McCarthy 又设计出一种更高阶的语言 LISP 以便更容易地完成此事;
3、如今,人们已经设计出能够实时自我修正的程序。
译者注:LISP 是一种通用高级计算机程序语言,长期以来垄断人工智能领域的应用。LISP 作为因应人工智能而设计的语言,是第一个声明式系内函数式程序设计语言,有别于命令式系内过程式的 C、Fortran 和面向对象的 Java、C# 等结构化程序设计语言。LISP 的祖先是 1950 年代 Carnegie-Mellon 大学的 Newell、Shaw、Simon 开发的 IPL 语言。
悲哀的是,程序员社区的其他人并没有认识到其重要性,世界还被像 Fortran,C 语言和它们的后继者这样无法自我调整的傻瓜语言掌控着。现代操作系统也依旧僵腐,因为其竞争对手尽是些没法理解自身并自我修正的玩意儿,商用机仍然要用 35 年前的那个老古董 UNIX。所以我们其实是从头再来,重蹈覆辙在所难免。计算界到底怎么了?
人工智能:关注常识而非仅关注专家
人工智能发展的早期,我们写过功能非常超前的程序。其中有一个能够证明欧几里得几何学定理。这也不难,毕竟几何只基于几点假设:
- 两点连成一线;
- 两条线或是平行,或是相交于一点;
- 两个三角形的两边及其夹角相等,则两个三角形全等。
像这种仅基于简单几点假设的体系最适合编程了,内在逻辑清晰,不复杂。程序极其优美。
▶ 人工智能其实解决不了孩子能解决的问题?
回首往事,不禁感慨,也许当初不该在这种「超前」的问题上付诸这么多精力,导致直到今日也没有人去留意那些小孩子就能应付的问题。那个欧几里得定理程序的运算能力抵得上一个优秀的高中生了。
我们曾有个研究生写出过能解决微积分中的符号问题的程序,这段程序在 MIT 大一微积分课程中都能得个 A 呢(当然,它只能解决符号问题,用语言表达的问题,它是应付不来的)。
最终,这段程序的「子孙后代」们终于突破了人类对数学的认知,成为商用数学模型 MACSYMA 和 Mathematica 的前身。多么激动人心啊,只是可惜这些程序仍然无法处理「语句问题」。
图片来源 pixabay
在 20 世纪 60 年代中期,研究生 Daniel Bobrow 写出一段代码,可以解决比尔问题:
比尔的舅爷年龄是比尔爸爸的两倍,两年后比尔爸爸的年龄是比尔的三倍。他们年龄的总和是 92,算出比尔多大。
要知道很多高中生都很头疼比尔问题。Bobrow 的代码却能够找出语句中的方程式关系,并算出正确结果。当然代码根本无法理解代表其他意义的任何语句。我们做了很多努力,依旧无所成。代码就只是一段代码而已,它不可能包含全部的人类语言语义。
到 1980 年我们已经有成千上万的程序在运行,它们都是某些领域的专家,然而同时,它们也都无法像一个典型的五岁小孩一样思考或活动。如果你在某方面仅有错误的知识,而一个五岁孩童正好掌握了其正确知识,他也能在争论中打败你。长话短说,我们要从微积分,几何和高中代数等复杂问题回归到简单问题。
现在,也就是最近几年,终于有些研究者开始让人工智能攻克那些们孩子们就能解决的常识问题。但在成千上万的程序员中,我也只能找出十几个这样的人士——有志于找到用编程解决日常的常识性问题的方法(这些常识性问题,几乎每个小孩都能解决),其余成千上万的人都在编写专家级程序。■