Qsttow 发表于 2007-6-26 09:44

模拟人类智能要对现有计算机理论做那些颠覆(转贴)

模拟人类智能要对现有计算机理论做那些颠覆
    目前人工智能的理论和技术不少,本版中讨论的问题和征求技术支持的问题都属于其中。很热闹!但是对模拟人工智能,构造类似于人类的智能,这些理论全无能为力。因此不突破现有的计算机理论,人们在模拟人类智能上很难前进。因此我建议大家在忙于本行学习任务或研究任务之余,共同来讨论一下,我们要成功地模拟人类智能,需要对现有的计算机理论作出那些颠覆?

    我以为首先要颠覆的就是计算机学习理论。尽管它是很多大学的必修课程,世界上起码有几十万人在研究它、学习它、运用它,其中专家级别的人物也不下几千人。但是它却是必须突破,必须颠覆的理论。它是我们模拟人类智能的一块绊脚石!

    学习是动物和人适应环境的重要手段。生物适应环境只有两种手段,一种是所有生物具有的靠遗传变异进化的方式。生物以这种方式适应环境缓慢的变化。另一种就是动物(和人)具有的学习能力。动物(和人)因为“动”而面临环境的快速变化。动物(和人)就是通过学习迅速改变自己的行为方式,以适应环境的快速变化。显然,计算机学习理论对学习的定义是大大了贬低了学习的作用后的学习。

    人们会想,计算机学习理论已经有那么多人在研究,而且在一些具体问题的解决上颇有成果,为什么要对它大加指责呢?问题的关键在于它越是研究的深入,它越会提出自以为很专业的问题,但是这些问题如果跳出它错误的思路去看,都是不必要的问题。当然那些钻在这种错误思路中的人,是绝对不会看到这种不必要的。

  人们会问,必要或不必要都是那些研究者要解决的问题,批评他的错误就那么重要吗?是的,因为计算机学习理论已经被用到人工智能教学当中,学生们自然会认为它们是必要的、具有真理意义的,因此也就左右了他们的思路。因此很多人离开这些不必要的问题,简直就不会换一个思路考虑问题。而且他们对计算机学习理论研究得越多,陷入得越深。思路也会因此而越狭窄。

    有那么严重么?当然有!

  以搜索理论为例。它假定学习是一种对解的搜索。问题的解就隐藏在知识的组合之中。只要选择一个收敛性较好的搜索方式,就可以得到问题的解。这个思路在计算机技术发展初期,由于提出的问题比较简单,计算机运行速度又比人类快得多,的确很有成效的解决了一些问题。但是随着问题越来越复杂,搜索界的工作就变得越来越艰巨。以至有很多搜索是无法收敛的。也就是无法用这种方法得到解的。

  于是人们又在这个基础上提出各种搜索方法,搜索理论,分析收敛性的理论,形成成一个十分庞杂的研究体系。

  然而,如果我们退回来考虑人类的实际解决问题的方式,就会发现,搜索解是走错了路。

  搜索是什么意思?简单的说就是在一个大面积的解空间中无目的的摸索。

  人类的求解过程是什么样的?人类的求解过程是一步一个脚印的逼近式的。注意这个说法是不能简称为“逼近式”的。因为人类求解的关键在于一步一个脚印。

    人类是有智能的,人类的智能在解决问题时出现为两个为计算机学习理论所不重视的特征,第一是经验保存特征,第二是思维分析特征。这两个特征形成了人类解决问题的一步一个脚印逼近式。

  要解决一个问题,一定会经过复杂的步骤,人类在解决问题是靠记忆把解决问题的每一个步骤都记录下来。当然也不是全部的、无期限的保存,到思维对这些资料进行分析后,无用的资料就被遗忘机制遗忘,已尽量占用较少的大脑存储空间。

  如果仅仅是保存资料。意义还不是很大。更重要的是要通过思维对保存的资料进行全面地分析。包括解决问题依据的分析和对思路的分析,分析结果可能会把资料进一步加工为知识,扩充系统的知识体系,为系统提供新的解决问题依据。分析的结果还会对思路进行分析和纠正,如果分析前面解决问题思路后表明思路出现误差,就会不再进行后面的工作,同时提出新思路或修改原思路。而且在分析思路过程中,还会总结有关思路的知识,为改进思路提供依据。

  由于人类解决问题的这两个特征,使得表面上看很像是在搜索,但是它是与计算机学习理论的搜索完全不同的十分聪明的搜索。人类解决问题具有的这两个特征,使得计算机学习理论面临的许多问题全都不复存在。因此从人类智能的角度看,计算机学习理论走了一条既笨拙又繁杂的道路。

[ 本帖最后由 Qsttow 于 2007-6-26 09:45 编辑 ]

Qsttow 发表于 2007-6-26 09:44

计算机学习理论最大的问题是它制造了组合爆炸的麻烦。

  因为它把解决问题归结为搜索,把搜索的对象归结为组合。但问题稍一复杂,就会出现组合爆炸。使搜索变得困难起来,使解决问题的过程无法收敛。为了解决这个问题,计算机学习理论又开展对这方面的研究。然而在我们看来,这些问题都可以不予理睬。

  这个问题实际产生于计算机理论对搜索和组合的理解是错误的。人类正在解决问题的“想办法”确实有搜索的意味,但是人类智能的搜索不是对任意大小的解空间的搜索,而是对自己编写出的有限解进行搜索。也就是说,人类智能对解的搜索不是面向大量(甚至是无限)组合进行的,而是面向编写出的有限组合进行的。因为组合永远是有限的,所以组核爆炸也是永远不会出现的。

  我们以证明一道几何题为例。我们的头脑还没有能力把由几何证明语言组合成的所有形式列出来进行搜索,它只能由问题出发,沿着最可能证明问题的思路,编写组合(即几何题的答案形式)。而且在编写过程中,思维一直在对编写出的结果进行分析,一旦发现该组合不能实现证明,就抛弃,就另行编写。一个人解决一道几何题的证明,最多也不会超过编写几十个组合。如果还不能解决,一般就会放弃。因此头脑解决问题不会遇到组合爆炸。

    计算机是程式来工作的,而人的工作和思维缺失主管和客观的结合,更有甚至,灵感的确起到了不可忽视的作用!这些都是很难用计算机来模拟的。因此,就人工智能而言,专家系统实属不可取的,因为就算实专家,他亦有灵感来临的时候,而且我们所谓的专家,实则是解决比较复杂的问题的,而专家系统则高难度的问题束手无策,更谈不上突发灵感解决常人难以解决的问题了

    人们会为计算机学习理论辩解。计算机可以在组合方面比人类强,因此它才可以用对无限组合的搜索方法解决问题。我们且不说这种搜索的效益如何。就是对组合的认识,计算机学习理论也是错误的。

  我对组合的研究有一个专门的理论(《泛结构论》),它指出决定组合形态的有三个因素:组合的基元、组合的组成和组合的约束。基元是指一种组合的最小元素,组成是指一种组合可能使用的所用组成形式,约束是对组成的各种限制。虽然所用概念不同,但是计算机学习理论还是考虑到基元和组成,而计算机学习理论基本没有考虑到约束的意义。

  一个组合的生成元的态空间大小,在基元不为无穷多时,并不影响态空间大小。影响态空间大小(即组合数量)的是组成。例如,一个由三个字母为基元的组合,如果组成要求是构成三个字符的排列,那么组合数量就是有限的。如果组成要求是构成一个任意多字符的排列。那么尽管基元是有限的,结果也是无限的。

  约束是限制一些组合形态不能出现的因素。例如,A、B、C三个字母构成三个字符的排列,但是不允许相同字母出现在以排列之中,这个不允许就是一种约束,这个约束的出现就会使组合的数量大大减少。对于A、B、C为基元的任意多字符排列,如果也限制不允许不同字符的出现,其结果也会由有任意多个压缩为三个。

  再例如,我们可以把几何证明题看成由几何证明语言组合而成的字符排列,其数量也是无穷的。但是实际上由于证明表达语法(约束)的限制,就把组合的数量大大压缩。再由于已知、求证和应用公理、定理的限制(也是一些约束),又把组合量大大压缩。而我们沿着某种思路(还是一些约束)进行思考时,组合就会在一个极小的范围内发生。这种考虑到约束的组合和前面我们讨论的人脑解决问题仍然是一致的。也仍然是是计算机学习理论所忽视的。

  由于计算机学习理论的组合是忽视组合中约束作用的组合,因此它才面临组合爆炸的麻烦,如果它考虑到约束可以使组合数量大大压缩,同时把约束引入到计算机学习理论之中,计算机学习理论也根本不必受组合爆炸的困扰。

    关于组合爆炸是不是客观存在的问题。

  有些人把计算机学习理论中自找麻烦的组合爆炸问题加以扩大,提出了组合爆炸的客观存在问题,企图以此证明计算机学习理论不是自找麻烦。

  然而他们在此出现逻辑上的错误。实际上组合爆炸和组合不爆炸都是客观存在,它们并不是相互矛盾的命题。在一些基元、组成和约束条件下,组合是不爆炸的。在另一些基元、组成和约束条件下,组合是爆炸的。而在解决问题的过程中,组合的基元、组成和约束都是随着问题的解决变化的,因此即便是证明了一些组合原来是爆炸的,也不能证明他们在解决问题过程中还一定会爆炸。

  说他们是犯了逻辑错误。是因为:如果令命题A=“存在组合爆炸”,那么命题非A并不等于“存在组合不爆炸。”。命题非A=“不存在组合爆炸。”因此他们用“存在组合爆炸”否定“存在组合不爆炸”是犯了逻辑错误。

    下面引用由monkey在2005-8-1 9:34:44发表的内容:计算机的启发式搜索也只是根据已有知识选择扩展搜索树的某个或几个分支,而且搜索深度也不可能无限大。这和楼上所说的“对自己编写出的有限解进行搜索”“如果还不能解决,一般就会放弃”有什么区别?

    答:前面已经说过,人类的学习不仅要解决问题,而且同时在积累知识和改进思路。我所说的“对自己编写出的有限解进行搜索”“如果还不能解决,一般就会放弃”是针对它不会出现组合爆炸而言。而另一方面,除去一个人的兴趣已经转移以外,人类智能是不会永远放弃已经着手解决的问题的,他在知识积累到一定程度,思路有所改进和提高以后,会重新回来解决问题的。这表明了人类智能系统的容错性(允许问题不能解决)和自主性(自主确定解决问题的时机)。

    计算机学理论中的启发式学习也是在模拟人类解决问题的方法,但是它模拟得不够彻底。关键在于他们把学习错误的看成是解决问题的过程,而没有重视学习中积累知识和形成能力、改进思路的作用。因此在程序投入运行后,摆脱人编程序的限制灵活操作的可能性很小,容错(允许不解决问题)的能力也很差。
    检验计算机学习理论程序的效果,主要是看它解决问题的成功率如何,而不是看它在不断学习后未来可能解决问题的能力如何。这就决定此类程序不能有容错性。

转自研学:ruiaijun
页: [1]
查看完整版本: 模拟人类智能要对现有计算机理论做那些颠覆(转贴)