张泽生(ruiaijun)老师的强人工智能理论

来源:互联网 发布:重装系统后没网络 编辑:程序博客网 时间:2024/05/18 03:55

引言:

         张泽生(runaijun)老师的自编程理论非常好,它好就好在不需要我们去研究人脑的物理结构就可以实现强人工智能。因为不管用什么理论来实现强人工智能,最终都是要用(母)程序和数据库来实现。所以我认为,张老师的理论为我们提供了实现强人工智能最简单有效的方法。我绝对相信张老师的理论所处的位置,离我们要实现的目标强人工智能只有一步之遥。   

 

                                                                                                           --陆晓

                                                                                                                2006-01-20

 

下面的内容我是从互联网上摘录的,由于我不善于排版,可能格式不是很整齐,请大家见谅!

 

一、自编程 作者:张泽生(ruiaijun)

 

1、自编程序的基本要点。

    下面我们看一看现在所有人工智能程序整体的不足:它们是采用由研究人员分析人类智能的特点,然后把这些特点模型化、算法化,有时还采用一些数学理论进行处理,最后编成程序。一旦程序编成,系统就会按程序固定的方式进行智能处理工作。既不灵活又受编程人员对智能认识的限制。

    而人类智能是灵活的,它可以随情况的变化想出新的处理方式来。先不考虑这个想出的来源,就是这种现象也表明人类智能不是按某些固定的方式进行操作的。我们首先要由此开始模拟人类智能。


    智能的本质是大脑的某类操作能力,某些对信息的操作能力,在计算机中,操作是由程序实现的。因此我们首先把智能与计算机某些程序对应起来(我们先不要在它们是那些程序上考虑),人类智能不断出现新的处理方式,相当于计算机不断自己编写新的程序。于是我们模拟人类智能的思想先(仅仅是,还有很多,否则智能问题就太简单了)要解决计算机自编程序问题。


    如果从目前计算机程序语言考虑,问题就麻烦了。比如我们用C++语言自编程序,就会出现如何让计算机理解语言、语法?如何设计程序?如何调试程序?而这些则首先需要计算机有较高的智能才能做到,我们便陷入一个不能前进的死胡同。

 

1、自编程序的基本要点。(续)

    但是我们观察我们肢体活动的过程,就会发现那不过是一些小动作的直接连接。按照这种观察。我们可以得到这样一种编制程序的方法,首先编写一些成功运行的小程序块,然后用把它们前后连接的方式组成大程序。这就是我们需要的自编程序的方法。


    循环怎么办?条件转移怎么办?我们还以肢体活动为参考,肢体活动是在大脑指挥下工作的,肢体活动程序是按大脑指挥调用的,这与计算机程序不同。计算机程序一旦运行,程序便取得完全的控制权,没有另外的东西监视控制它,必须由程序中的循环、转移语句控制程序的流向。我们模拟人类智能,也要另设一个控制运行的系统,因此自编程序中不需要有循环和转移存在,这样就不必考虑程序编写时由这些语言造成的死机问题。


    到此,我们已经解决了计算机模拟人类智能的自编程序功能的程序结构和编写方式问题。预先设置一些小程序作为自编程的原料料,然后用把它们连接到一起的方式编写程序。(其实我们使用的高级计算机语言,也是预先编制好很多小程序,用高级计算机语言调用它们,我们写的高级语言源程序也是对那些小程序的一种连接。)


    但是我们这样还不能真正的让计算机自编出程序来,因为还有一些重大问题我们没有解决,程序将如何产生?程序产生后将如何调试?我们以后再介绍。

 



  2、这里自编的程序与原来计算机程序的异同比较。

  通过上面的叙述,我们可以看出这里的自编程序与目前计算机的程序有很大差别,也有相同的地方。


  首先看相同的地方:这里的程序也是由计算机执行的,因此它的基本元素还是计算机语言。


  但是这里的程序还有很多与计算机程序不同的地方。a、在这种程序的基本单元是建立在计算机语言之上的小程序,这些小程序必须能够独立的成功的运行。b、编写程序只需要对小程序进行简单的连接,编写程序是不需要高智能的参与。c、在这种自编程序中没有流向控制,因此程序不会因为流向问题而出现死机。d、因为程序中没有流向控制,程序的流向还要由主系统控制,编写后的程序不象目前计算机程序那样可以获得对计算机的完全控制权,而是在主系统的监视和控制下执行程序。

  由于这种自编程序的这个特点,因此它的能力就完全受到小程序的性能的限制,只要小程序选择的适当,很难出现失控(计算机的运行超出控制者的控制)的情况。当然由于程序的控制权在主系统程序手中,主系统的编写会使智能系统具有主动性和自主性,然而这正是我们需要的。担心系统会失控要从主系统的编写(它是人编程序)入手。

    

    3、自编程序母程序的选择。

    自编程序是一种基本技术,它可以应用在各种形式的智能系统之中,这就是我们这里要介绍的自编程序的目标选择。可以这样说,目前的任何一种人工智能程序,加入我们介绍的自编程序技术,都可以使该智能系统的智能得到在工作中的改善提高的效果。表面看,我们用一些已经成功运行的人工智能程序(如一些专家系统程序、一些推理机程序、一些人工神经网络程序)加入自编程序技术,进行程序的改进和提高,比较容易见成效。然而由于他们的程序在原理上与我们的自编程序有所不同,往往很难从他们的程序中分解出直接连接不用流向控制的小程序(这里的小只是相对于自编程序而言,有时并不真小)。因此无法实现我们意义的自编程序,以改进这些人工智能系统的性能。


    另外,很多人工智能系统程序都有自己的专利保护和加密措施。我们把他们的程序改进为自编程序的系统及会遇到侵犯人家专利的问题,又会受加密的影响而无法掌握人家程序的核心,从而使我们的改进措施无效。所以我以为,虽然在目前的人工智能系统上添加自编程序技术以改进和提高它们的性能,是最简便易行的方法,但是实行起来的难度却是最大的。


    因此我们可以以语言系统为目标,构建以自编程序技术为核心的智能系统是目前较为简单的方法。它是以各种语言为处理对象,以自编程序为处理语言的程序。以实现图灵检测似的人际交流,并在收集人类知识的基础上提出自己见解和观点为智能目标的强人工智能系统。表面上看,这种强人工智能除去野心比目前的自然语言理解系统大以外,没有多少差别。但是实际情况却不同。由于自编程序技术的基点是系统自己生成能力,因此在编写系统程序时,我们根本不必考虑系统的词汇库问题,不必考虑系统的语法和语言逻辑问题。这些问题完全由系统在学习中自己解决。我们在编制系统程序(它一定要由人来编写)只考虑系统的理解能力、表达能力、提出解决问题能力、自主决策能力是怎样来的,而不必为系统考虑理解能力、表达能力、提出和解决问题能力、自主决策能力的程序是什么样子。大家应该注意到,这是一个与现在编程思想绝对不同的一种新编程思想。


    我们还可以以神经元信息为目标,构建智能系统。它比以语言为目标的系统要复杂一些,但是它与人类智能更加接近。因为神经元信息中包含着感觉信息,这就使我们的智能系统可以实现由感觉到提出理论的全面的类似人类智能的模拟。也就是说,我们的可以使我们模拟的强人工智能由感觉获得的信息一直到把它们加工为科学理论。


    在以神经元信息为目标的构建智能中又有以模拟反射为基础和以模拟神经元网络为基础两种,以模拟反射为基础与模拟神经元为基础的区别在于,反射只考虑大脑神经联系的起点与终点,不考虑中间的传递过程。神经元网络则需要考虑信息传递的所有中间过程。

 

 4、自编程序的产生和检验。

    我们前面已经指出,用自编程序作为切入点可以解决智能系统的灵活性问题。同时我们也已经对程序的结构进行了新的解释,使我们现在的程序可以方便地由计算机自编。但是程序的是怎样产生的和程序产生后如何调试的问题还没有解决。显然这两个问题不解决,你就是把自编程序吹得天花乱坠,也不能解决智能问题。


    但是我们也应该看到,我们现在确定的程序是由一些能够成功运行的小程序直接连接而成的,在这种程序的结构中,没有控制程序流向的转移和循环。这样一种程序可以再无智能或智能很低的情况下编制和调试。这也是为什么我们如此限制自编程序的结构的主要原因。


    下面我们首先介绍一种没有智能情况下自编程序的过程。


    我们考虑这样的情况,我们面前已经有一些能够成功运行的小程序。如何把它们连结成大程序呢?我们可以用一个随机组合操作。随便地把一个小程序与另一个小程序连接起来,这种随机地连接当然不需要什么智能。它是连接出来的东西也不能够正确的执行什么任务。我们就把这种操作作为自编程序的第一步。


    第二步是把连接的东西记录下来,以便使系统知道已经做过那些连接。我们把这种记录叫做印象程序。


    第三步是把这个程序拿去执行,并有人或系统自身(有人监视的系统功能比较简单,但是自动化程度差。资深坚实的自动化程度高,但是系统的结构会几倍的复杂。)监视程序的执行,把执行结果统治给系统。


    第四步是把成功的印象程序保存为最后的程序,这种程序叫做经验程序。


    如果连接的程序执行不成功,就进入第五步。那时就返回第一步重新随机连接小程序,重新形成印象程序。同时把不成功的程序纪录为负经验程序,也就是失败的印象程序。在重返第一步随机组成新程序后先把新组成与负经验程序比较,如果相同,就把它否定掉,不进入第二步(纪录为新印象程序)。只有那些与负经验程序不同的才被记录为新印象程序。然后继续执行第二、第三、第四步。如果再次不成功,就再次返回第一步。直到找出一种成功的随机连接后的程序。


    上述过程也是一个计算机程序,它就是系统程序的一个核心部分,它是自编程序的母程序。我们可以把上述过程作为一个流程为计算机编写自编程序的母程序。这个母程序可以同时完成自编程序的编写和调试工作。


    上述过程的核心操作是随机连接,因此完全不需要有智能的参与,就可以自编出新程序来。因此可以成为我们由无智能状态产生出智能的基本系统程序。有关智能的操作,都可以有这个无智能的自编程序系统编出。


    当然我们也可以看出,这个自编程序的方式产生一个新程序的速度会很慢。它要在大量随机连接中通过试运行选择出能够运行的新程序。如果我们的模拟智能系统的全部能力都靠这种方式编写程序,那么系统生成智能的速度就会太慢了。因此我们还要通过其他方式为我们的模拟智能系统实现自编程序。


    我们把我们的模拟智能系统自编程序已产生新的能力的过程叫做学习过程。

 

 

    5、组合不爆炸。

    在计算机理论中流传着一种组合爆炸的说法,这种说法是组合就会引起组合出的东西无限增加,最后导致组合成为计算机无法承受的操作。人们把这种计算机无法承受的组合叫做组合爆炸。


    在上面我们介绍的无智能自编程序过程中,核心操作是随机组合,于是有些人又会提出组合爆炸的老问题。但是凡事都需要具体事情具体分析。如果组合时的元素(组合所用材料)数量很少,组合就不会爆炸。


    因此在自编程序随机组合小程序时,如果选择的小程序是围绕找一个目标进行的,而不是漫无边际的选择小程序,那么组合采用的元素就会很少,就不会出现组合爆炸。这就是组合不爆炸。


    在上述自编程序的母程序设计中,我们设计了印象程序,负经验程序,也是为了减少在自编程序时,重复那些不成功的组合。加快随机组合的时间。这一切都会使我们的随机组合不连带着组合爆炸。

 

 

二、模拟智能系统的学习过程。

  1、模拟智能系统的学习是完全不同于计算机学习理论的学习。计算机学习理论沿用人编智能程序的老思想。他们提出学习理论也是为了让计算机模拟的智能更灵活,解决问题更好。有时用人力来解决问题费时费力,想发挥计算机的高速特点。因此初衷不是坏的。但是他们定义的学习把方向搞偏了。他们为了计算机理论的方便主观的定义了学习,学习成了一种解决问题的过程。成立一个搜索问题解的过程。因此我称赞他们是对学习概念的强奸。


    那么什么是学习呢?学习是学习主体通过与学习客体相互作用,获得学习对象的过程。学习主体也叫学习者,它可以是人、动物和一切具有学习能力的设备。学习客体也叫学习环境,它包括环境对学习主体的一切作用。学习对象是学习中获得的东西。它包括能力和资料两大类。以往的学习理论都很轻视能力的学习,包括教育理论研究的学习也是这样。而我们认为学习中获得能力是智能的关键。智能是一些能力,它在人类个体出生时是没有的或不健全的(动物也是这样),就是靠在学习中不断获得智力操作的能力而使智能产生的,使智能发展的。而对于计算机系统来说,在学习中获得能力与该计算机能够自编程序是一个含义。


    计算机学习理论定义的学习,是把计算机作为一个单纯的工具,让计算机替编程者解决问题,这种计算机的能力是研究者或程序员编写进去的。使计算机有一定的学习能力,也是为了解决问题的方便。然而这种对学习概念的强奸,就扼杀了学习的最最主要的功能,也就是在学习中自编程序(获得能力)的功能。其性质的恶劣与强奸女人扼杀她们做正常女人的功能是异曲同工的。

 

 

 二、模拟智能系统的学习过程。

    2、自主学习过程。


    我们在前面所说的由随机连接小程序来自编程序的流程,我们叫做自主学习过程。这种学习过程的在人类遇到前所未遇的问题时,也会采用这种方式,比如有些问题拟按规律考虑不出结果,你就可能瞎猜,这种瞎猜就类似于前面的随机连接。


    自主学习过程是有实验基础的学习。它就是桑代克迷笼实验。


    桑代克实验是最早使动物自己学会动作的实验。在当时引起很大的轰动。他能够让猫自己学会打开笼子,那时是很稀罕的事情。


    这个实验现在看来就不再那么神奇。不过桑代克当时能够想出这个实验的确不简单!桑代克准备好一个装有看门机关的笼子,这个笼子后来叫做迷笼。他把饥饿的猫放到笼子里,关好门,笼外放上食物。然后观察猫的动作。起初,猫胡乱的动作,根本无法打开笼门的插销。经过很长时间后,猫偶然碰到笼门的插销,把门打开。观察者统计这段动作的时间。


    然后把同一只猫在饥饿时再次放到笼中重复这个实验。观察猫的动作并统计时间。可以看到猫继续用胡乱的动作试图出笼。并最终偶然打开笼门出笼吃食物。这个过程进行多次后,就会发现,猫的错误动作越来越少,从放入笼子到出笼的时间越来越短。最后,猫可以在一放到笼子以后,马上打开笼门,跑出笼子吃食物。这表明猫已经通过大量的胡乱动作,经过学习学会了打开笼门的动作。

    这个实验的重要在于它是猫在没有任何模仿或引导的情况下,自己学会了打开笼门。由于这个学习完全是胡乱加偶然,显然是不需要任何智能的学习,而形成的经验是比较复杂的操作。它为我们指出了人类个体完全可以通过这样的方式学习,从无智能到有智能,从无意识到有意识。我对婴儿动作学习的观察,也证实了这一点。

 

 

 

 二、模拟智能系统的学习过程。

    2、自主学习过程。(续)


    我们应该看到,猫学会打开笼门的动作完全是自己独立学习而成的。人为的实验条件只是对猫学习的环境设置,在实验中人不能通过任何方式引导或诱导猫学会动作。因此猫在学习中完全是自主的。我在我的学习理论中,一直把桑代克类型的学习过程叫做自主学习过程。


    为什么叫它为自主学习过程呢?桑代克实验表现出的学习,是在机体对一件事情毫无经验的情况下进行的。没有经验,它就用胡乱加偶然的方式学习经验,形成应付环境的操作方法。这个过程没有任何其它什么来教它,甚至不用同种类的生物来教它,显示了系统完全的自主性。


    这个实验提示我们,如果要求一个系统摆脱人编程序的限制,就必须让它能够学习,这种学习不是为了求某种解的答案,而是学会一种解决问题的操作,并且以后不断使用这个操作解决问题。这种学习是一种能够自编程序的学习。而自主学习过程是系统自主独立的一种模式。一个计算机系统,如果其底层的程序不编写任何智能,而是靠自主学习积累经验,自编程序,那它就会发展出智能,并进而发展出高级智能。计算机通过这种模式,其系统可以不用人编智能程序,而在遇到原来没有遇到的事物时,通过胡乱加偶然,形成新的程序。于是系统就可以摆脱人编程序,自主地产生出智能了。


    当然,如果所有后天性的程序都用胡乱加偶然的方式,系统每形成一个程序都会很慢,要系统学会人类智能是不可能的。其实这并不是问题,人类个体如果脱离人类社会,独立通过胡乱加偶然的方式学习,也不会产生人类智能。狼孩、野生儿、囚禁儿不能产生人类智能,就是这个道理。胡乱加偶然的方式只是系统的一个独立自主的方式,完全掌握人类智能,还需要学习人类的知识和经验。

 

二、模拟智能系统的学习过程。

  3、自主学习过程在自编程序中的发动机制(需要机制与奖惩机制之争)。


    我们在前面已经片断地介绍了由自主学习过程实现电脑自编程序的母程序流程。它并不完整,因为它没有发起和终止程序编写的部分。


    我们知道,传统的计算机程序都是由程序操作人员或用户来发动它的每一个程序的运行的。而人类只能则不可能是由其它人来发动的。它是大脑自主发动的。是什么东西是大脑自主地发动它的活动呢?我们认为是大脑自主发动活动的是需要机制,需要机制的初级形式是欲望,也就是说需要与欲望是一回事,欲望是一种低级需要而已。


  在这个智能系统的驱动力问题上,我发现人们有很大的争执,不少人认为这个发动机制应该是奖惩机制。于是我们对智能系统自编程序的讨论,不得不转向对系统驱动力的研究。


  首先我们回忆一下奖惩理论的来源。


    在桑代克迷笼实验成功以后,他对自己的实验提出解释。他把这个实验的过程叫做尝试错误学习。他认为猫学会动作的原因是奖励,也就是猫在打开迷笼后获得食物,获得了食物的奖励。而这种奖励使猫学会的动作得到渐渐的巩固。就此他提出尝试错误的驱动力是奖励与惩罚,并确立了自己的奖励与惩罚理论。


  他的奖励与惩罚理论由于迷笼实验和一系列白鼠走迷津实验的支持,在当时很有影响。但是后来被认知学派的托尔曼用实验证伪。

 

 

 二、模拟智能系统的学习过程。

    3、自主学习过程在自编程序中的发动机制(需要机制与奖惩机制之争)。(续)


    托尔曼设计了一个实验,他让两组白鼠学习走迷津。迷津中设置着较复杂的道路,在其中一个地方放有食物(每次都放到同一地点)。学习的目的是让白鼠学会从迷津中迅速的找到食物。所以采用一组(即不止一只)白鼠,就是为了计算学习所需时间,取统计的结果。这两组白鼠一组是对照组,这一组从实验一开始就在迷津中放好食物。另一组是主要实验组,开始在迷津中不放食物,这样白鼠会没有奖励地在迷津中白跑。到实验中期再在迷津中放入食物,让白鼠进行找到食物的学习。


    如果桑代克理论成立,奖励是学习的关键因素,那么主实验组的白鼠会因为最初没有奖励,什么也学不到,它们的学习时间等于比对照组的少。显然最后学会的时间要比对照组长(把白跑的时间也计算在内)。


    然而托尔曼实验的最后结果是主实验组比对照组的学习时间要短。这说明在白跑过程中,尽管没有奖励,白鼠也在学习迷津里的道路情况。从而证明奖励不是学习的关键因素。推翻了桑代克理论。


    托尔曼是认知学派的,他的解释是在白鼠最初的学习中,头脑中形成了对道路的认知地图。至于为什么形成这个地图,他认为这是白鼠本来的欲望。


    我认为托尔曼实验的意义就在于它推翻了奖励是学习的关键因素。


    但是,奖惩理论并没有因为托尔曼实验对他的证伪而退出心理理论。这是因为桑代克属于心理学行为学派,托尔曼属于心理学认知学派,两派谁也不服谁,各自坚持各自的说法。他们的观点又分别带到人工智能理论中来。于是在一些人工智能理论中,奖惩理论还有它的市场。


    由于托尔曼对他的实验解释得也不好,我就用需要机制来代替托尔曼的认知地图理论解释托尔曼实验。需要机制理论是这样:机体发动活动(活动的驱动力)是有需要机制完成的。当机体产生需要后,便会在机体内寻找经验进行活动以实现需要,如果没有相应经验,就会发动学习活动积累相应的经验。

 

 二、模拟智能系统的学习过程。

  4、需要机制的计算机模拟。有很多人认为计算机不可能有自己的欲望,这是一种对计算机的误解。不是计算机不可能有自己的欲望,而是编程者不想让计算机有自己的欲望。我的这种说法绝对不是我个人的想象,请看下面的证据。


  在现在的计算机程序中已经表现出程序的一些需要。例如当程序需要你输入一些指示时它会提醒你,并等待你的输入,你输入的东西满足它的要求后再继续后面的运行。你输入的东西不满足它的要求,它就拒绝运行或再次提示你。当然,这种程序的需要,是编程人员为了自己程序目标设置的需要,不是计算机自身的需要。但是既然我们可以在编程时为程序的目标设置需要,也就可以在编程时考虑计算机自己的需要是什么,为计算机设置自己的需要。这就会使计算机具有了自己的欲望。当然这里所谓的计算机自己的需要还是靠程序模拟出来的,而不是计算机自己生长出来的。


  从理论上讲,计算机模拟的自己的需要,可以完全与人类一致。比如人们往往最常用来调侃的问题就是:计算机能够有性欲吗?其实从理论上是完全可能的。它也可以分不同层面的模拟。比如仅在语言层面上模拟,你可以分别编制女性程序和男性程序。你可以使不同程序在不同性需要的驱动下,对异性语言感兴趣,愿意与异性(人或程序)交谈。也可以进一步为机器人编制不同性别的程序,完善它们的外设结构,使它们可以在性需要的驱动下与异性交往。当然,理论上的可能必须与实际的需要相一致才能转化为商品。如果实际上我们并不需要有性别的计算机,那么它们就不会出现在市场上。


  那么在程序中需要机制是什么样的结构呢?简单的需要机制就是一些专门设置的双值变量,我叫做需要变量。一个值表示需要的满足,另一个值表示需要的不满足。一个计算机系统具有多种需要,就为它设置多个需要变量。需要由模拟感觉机制或一般的计算机输入系统激发(激发方式根据程序目标确定),激发时把需要变量置,表示需要的不满足。再由这个不满足态发动系统内的相关程序以满足需要的活动。(例如我们设计这样一个有趣的小程序,设置一个饥饿需要,当外部输入一种食品词汇时,就激发了这个饥饿需要,饥饿需要的1值就会搜索并调出系统中一些有关食品的词,当调用完成后,程序自动把饥饿需要置0,此项需要终止。如果我们为这个程序设置多种需要,我们用不同词汇引诱这个程序,就会看到程序在自己的需要的驱动下,为我们调用出不同满足需要的词汇来。)


    复杂的需要变量应该是一个多值不连续的变量,不同值表示不满足或满足的不同程度,它们也相应表示出该需要激发后调用程序的优先响应级别。


    更复杂的需要机制应该能够以基本需要(原始欲望)为基础,产生出一些高级需要,组成由低级到高级的需要层次。这种复杂的需要机制,有一个专门的理论支持,那就是需要在学习中生成理论,我们在较后的时候再作详细介绍。

 

 

二、模拟智能系统的学习过程。

    5、需要机制与奖惩机制有什么区别?


    如果简单的分析,把需要的满足于奖励对应起来,把需要的不满足于惩罚对应起来,那么需要机制与奖惩机制几乎一样。问题是这样的分析有一个缺点,它忽视了惩罚只是需要不满足的一种形式。惩罚不等于没有得到需要。惩罚往往是得到了与需要相反的东西。而相反的东西作为惩罚,虽然会起到禁止机体的一些行为的作用,但有时也会起到机体反抗行为的作用。用奖惩机制代替需要机制,就会使我们的模拟智能系统失去模拟后一种现象的机会,就会使模拟系统显得太乖了!不能具有强烈的个性。


    另一个问题是托尔曼实验指出的事实,在需要没有得到满足的学习中,系统也能够通过大量的反复得到一些与需要满足无关的东西,这些东西可能暂时满足不了此需要,但是日后会满足另外的需要。因此用需要机制作为系统的内驱力,系统会显示出一种无意识的远见。而用奖惩机制代替需要机制,没有奖励,学习即告失败,它就会使系统呈现出一种无意识的短见。从发展前途看,显然有远见的系统比短见的系统获得的能力更多。


    因此我认为有些人以为两种机制差不多的看法是错误的,就以上的分析看,从将来的程序结构看,需要机制不会比奖惩机制复杂,但是从能力看,需要机制的系统就会比奖惩机制的系统强很多。因此我主张采用需要机制作为系统的内驱力,而反对用奖惩机制作为系统的内驱力。

 

 

二、模拟智能系统的学习过程。

    6、完整的自主学习过程。


    我们在花费一些篇幅讨论了系统活动的内驱力以后,就可以回过头来继续讨论系统的自主学习能力问题。自主学习能力是由人编程序完成的,它是我们说的母程序中的一部分。这种能力与人类出生后的先天性能力相当。它本身不是系统自编程序的一部分。


    从我们前面的介绍的学习过程流程可以看出,自主学习能力是一个具有循环结构的程序,因此它也不具有我们提出的可自编程序的特征。完整的自主学习能力程序基本就是按前面介绍的流程编写的,只是要在那个流程的前面增加一个需要机制中需要变量发动学习,每一次学习成功,要由成功信息为需要变量置零,由需要变量的满足终止一次学习。由多次学习确认自编程序的完成,形成可调用的自编程序。


    自主学习能力是一个循环反馈程序,其循环性我们可以从前面的介绍中看出。其反馈性是由输入信息来确定自编程序运行的效果。反馈机制的结构要看计算机的结构确定,如果计算机只是一台家用微机,那么只好靠人用键盘或鼠标来输入反馈信息。如果计算机系统有模拟感觉的机制,那么就可以自行获得反馈信息来进行学习了。显然后者与人类智能更加相像。我们在提出理论是并不具体要求使用计算机的形式,就是为了使我们的模拟人类智能系统有更强的适应性,使他在任何情况下都能够表现出较好的智力水平。


    这里大家要注意一个概念的使用,我们一直把程序叫做自主学习能力程序,而不叫做自主学习过程程序。因为学习过程是由具有学习能力的学习主体和学习环境共同作用的过程,在我们的学习过程理论中,没有学习过程程序。学习过程也不是个程序。更清晰地说,学习过程是一个比程序大得多的概念。而计算机学习理论是把学习编写成程序的,这也是我们的学习过程理论与计算机学习理论完全不同之处。


    自编程序的调用是由系统程序(它也是人编程序,涵盖着母程序)实现的。在需要产生时(需要变量被输入信息置1时)系统程序首先发动检索自编程序的操作,如果有自编程序可以满足需要,就优先调用自编程序。如果没有自编程序满足需要,就发动自主学习活动自编满足需要的程序。系统程序的这一部分,就保证了自编程序的调用。其结构显然非常简单。

 

 二、模拟智能系统的学习过程。

   7、自主学习过程的进一步完善。


    C、什么是提高小程序的级别?小程序是人编程序,它们是我们经过充分考虑编写出的生成思维和意识的基本程序。在初步的自主学习过程中,这些小程序连接起来,成为自主学习过程自编出的程序。这些程序不仅可以用来实现特定的需要,也可以被自主学习能力中的随即操作调用来执行其它任务,通过效果检验确定能否成功。这种随即调用来执行其它任务是在模拟心理活动中的经验移用(把一种经验用到其他方面)。移用是一种重要的心理活动现象,它对于智能的形成具有非常大的意义。


    自主学习能力的随即操作还可以把自编成的程序作为小程序来使用,把它们连结为更大的程序。这样,自编程序使用的小程序已经不是原来意义的小程序,而包括已经自编出的程序了。这样既扩大了编程时用小程序的数量,也提高了编成的灵活性。我们所说小程序级别的提高,就是说原来意义的小程序提高为自编程序。这个提高可以反复,也就是说凡是以前自编出的程序,不管它是由基本小程序组编的,还是有自编程序再次组编的,都可以继续组变成更大的程序。这种组编也不会出现组合爆炸的现象。因为对失败程序的负经验纪录,排除了大量不合理组编的出现。

 

 

 

二、模拟智能系统的学习过程。

    7、自主学习过程的进一步完善。


    D、充分利用负经验。充分利用负经验,是把负经验纪录的失败程序作为禁止的组合,这样就会在无智能的情况下,使胡乱的组合变得有序一些。同时会减少大量重复组合出失败的程序的浪费。但是也会出现一个问题:就是失败的组合有时只是在一种条件下失败,在另一种条件下还会成功,禁止它再次出现,就会使这种组合失去在相应条件下成功的机会。这在无智能情况下是不可两全的事情,要么不惜浪费时间,要么牺牲一些组合方式。这种情况在有智能情况下也难免,如果我们清楚一个程序失败的条件和成功的条件,就可以两全;如果我们不清楚程序的成功条件和失败条件,也会面临不能两全的局面。我们的程序选择牺牲失败程序的方法。但是并不绝对禁止,留待智能生成后再去分析条件,再启用一些有潜力的失败程序组合。

 

二、模拟智能系统的学习过程。

    7、自主学习过程的进一步完善。


    E、加入伴随学习能力。


    伴随学习现象是由托尔曼实验证明的,我们在前面介绍托尔曼实验时只介绍该实验对奖惩理论的证伪作用,没有解释白鼠在没有奖励的情况下,反而学习更好的原因。在托尔曼实验中,白鼠学习的更快肯定是它们在没有奖励的情况下对迷宫中道路有了深刻地认识的结果。依托尔曼的解释,在白鼠的大脑中有一个认知地图,是它使白鼠认识迷宫中道路的。在进一步解释中托尔曼认为,这种认知地图就是类似于人类意识的东西。因为认知学派也不研究意识,所以托尔曼的解释也就到此为止。


    我是反对动物有意识的。而且我以为不用认知地图足可以解释白鼠对迷宫道路认识的形成。由于得不到食物的奖励,实验组白鼠要比对照组白鼠更多的奔跑,奔跑中就会反复经过迷宫中的道路,只参考巴甫洛夫试验,就可以知道这些道路的情况会因此(大量的反复)建立起条件反射联系,因此产生白鼠对迷宫道路的认识。而对照组白鼠,因为得到食物的奖励,经过迷宫道路的次数反而少,建立对道路认识的条件反射要慢,因此学习就慢。这里丝毫不用引入有意识嫌疑的认知地图,就可以解释实验组白鼠学习快的原因。


    我把这种与需要发动的学习有关,但不是直接满足需要的学习叫做伴随学习。简单地说,在某一需要发动的学习过程中,那些经常反复出现的刺激或感觉或活动方式,都能够作为学习结果保存在记忆中,这就是伴随学习。


    在我们原来的系统中,人编程序中只为自主学习能力编写了程序,显然在增加伴随学习能力时,还要为系统增加人编的伴随学习能力程序。这个新增程序结构很简单,只要是经常反复接受的感觉和其它刺激(例如键盘输入),就会被记录为认识资料。只要是经常进行的活动组合,就会被记录为新编程序(这仍旧是系统在自编程序)。


    显然,再加入伴随学习能力以后,系统地认识量和自编程序量都会大大增加。这就减少了对胡乱进行的自主学习能力的依赖,提高了系统学习的速度。

 

 

 二、模拟智能系统的学习过程。

    7、自主学习过程的进一步完善。


    F、自主学习的几个层次。


    我们在C段介绍了提高自主学习能力的级别问题。这种提高就是自主学习也具有了几个不同层次。我们下面就对比人和动物的实际情况说明自主学习的各个层次。


    甲、纯随机层次(相当于人和动物在毫无经验时的学习)。在人和动物由需要发动的活动找不到相应经验时,就发动纯随机层次的自主学习。这时人和动物用自己的纯本能动作组织成尝试性动作。在我们的自编程序系统中,就是把人为系统编写的小程序胡乱组织成大程序。


    乙、经验层次。在人和动物有了一些经验的时候,往往就会把一些经验作为新动作产生的基础。在桑代克的迷笼实验中,如果关入笼子的是一支具有丰富捕鼠经验的猫,你就会观察到猫大量使用捕鼠动作尝试打开笼门。在我们的自编程序系统中,就是用系统已经自编出的程序再次联结为新程序。如果连接组合的元素为一,那就是把一种经验胡乱的应用于另一种需要。前面我们把它单独叫做移用。移用对于智能的生成有非常大的意义。

 

 

二、模拟智能系统的学习过程。

    7、自主学习过程的进一步完善。


    G、自主学习的几个层次对智能生成的长远意义。


    在前面的分析和程序设计中,我们给出了自编程序模型的自主学习算法。并根据对这种算法的分析,指出它会使自主学习过程出现三个层次。应该指出,每出现一个新层次,人编程序(系统程序)就要增添一些新的东西。但是增加量不大。例如为了实现自编程序中的移用功能,我们需要为人编系统程序增加一个小程序独自组合的功能。这在编程时只需要调整一下程序对初始组合量(由二变成一)的控制就可以了。再例如,为了实现对自编程序的再组编,就需要增加原来系统程序的这个功能。方法却很简单,只要把胡乱连接小程序的人编程序组编对象的地址扩大到自编程序就可以了。程序改动是非常小的。


    自主学习对于智能的产生不仅是由不懂事变得懂事,而且它可以使系统的任何一种原来没有的能力(如思维、意识)由萌芽到形成。例如想象,最初仅仅是利用系统的胡乱组合功能对感觉资料进行胡乱组合。然后这些经验组合被确认或否认,形成成功的想象结果和失败的想象结果。到了对想象自主学习的混合经验层次,人们就开始懂得哪样想象比较好,那样想象不好。出现无智力的但是比较懂事的想象。


    自主学习的三个层次,是大脑一切功能发展的基本模型。我也叫做大脑功能按层次发展模型。

 

二、模拟智能系统的学习过程。

    8、伴随学习对智能的意义。


    A、伴随学习相当于肌体的随行记者。伴随学习在机体活动中相当于一个随行记者,它可以把机体的活动情况随时记录下来。当这些记录中包含一些新活动的雏形时,这些记录就对智能的发展起了非常大的作用。下面我们通过一个具体的例子来体会伴随学习的意义。


    B、预测表现和预测活动。例如:在猫的头脑中记录着这样一段事件,主人穿好衣服,开门,自己跟着主人出去玩,满足了自己出去玩的欲望。这个事件经常发生,在猫的头脑中建立了牢固的反射。每当主人穿好衣服,通过反射链,就激发猫出去玩的欲望,猫就随机采取了一个尝试满足出去玩欲望的动作(例如到门口等的动作)。尔后猫出去玩的欲望得到满足,猫的这个动作便被确认。以后,一旦主人有穿衣服的动作,猫就跑到门口等(有时候主人并不出门,它就等错了!)。猫的这种活动表现出猫有一定的预测能力。但是在我们上述的描述中,只通过简单的反射,不需要更复杂的心理活动参与,猫就可以完成上述动作。


    但是加入伴随学习后,上述过程就不同了。如果伴随学习把大脑活动也记录下来,记录为:某反射链的一个环节发生,激发该反射链中的一个欲望,要用某个动作实现这个欲望。并且通过多次预测现象的发生,使这个纪录被巩固。那么当大脑调用这条记录时,一个新的大脑功能——预测,就产生了!因为当大脑调用那条被巩固的伴随记录进行活动时,它就是在主动进行预测了。这种预测与完全依赖反射实现的预测表现具有不同的性质。


    可能有些人还理解不了预测表现与预测活动的区别,预测表现是由反射激发加随机行为的结果,预测活动时由预测经验(即伴随学习的记录)进行的活动。前者具有随机性,后者已经成为一种确定的活动了。

 

 二、模拟智能系统的学习过程。

    8、伴随学习对智能的意义。


  C、预测表现和预测活动的比较。在上面的过程中,如果没有伴随学习,就不会形成对预测的纪录。预测就只能停留在表现层次,也就是说预测只能是附属于反射功能的一种行为。然而有了伴随学习情况就不同了,它为预测记录了经验,大脑可以不通过反射功能,而通过对预测经验的调用来进行预测。预测便成为一个独立的活动了。


    下面我们对比反射型预测和经验型预测(这是两个为讨论方便暂时使用的概念)的操作流程:


    反射型预测:反射链的形成——外部刺激激发反射链的一个环节——整个反射链被激发——反射链中的一个欲望被激发——随机发动一个动作去满足于网(这实际发动起一个自主学习过程)——通过学习得到一个确定的满足欲望的活动。


    学习后,机体便产生对于这个特定刺激用特定活动(自主学习确定的)表现的预测表现。


    经验型预测:在反射型预测学习时记录伴随经验(预测经验)——外部刺激激发经验——找并激发相应反射链——激发反射链中的欲望——发动自主学习确定实现表现的动作——确定预测表现的动作。


    学习后,机体也产生一个与特定刺激对应的特定的预测表现活动。


    对比后,我们会发现后者比前面多了一个环节,这从程序求简的原则上看好像是不利的。但是正因为多了这一个环节,大脑就新产生了一个活动——预测活动。大脑就向思维的产生迈进一步。

 

二、模拟智能系统的学习过程。

    8、伴随学习对智能的意义。


    E、思维能力产生的初步讨论。思维生成理论很长,因为它要讨论到各种思维能力的生成过程。不可能用几十字、几百字叙述清楚。因此只能讨论个初步。


    我们就以预测能力的发展为线索,讨论一下思维生成的一个侧面。


    预测经过学习发展为一个成熟的能力以后,就会产生对相关事件出现的预测,这种预测就发展为对原因事件和结果事件的判断。伴随学习记录下这种新的能力——判断。自主学习能力使判断由最初的胡乱判断发展为有成熟经验的判断(当然还不如有成熟思维后的判断,更不如逻辑推理的判断)。


    人类的判断实际是一种综合的思维活动,它的生成要有一个更复杂的过程。


    按照上述思路,大家也可以设想一下各种思维的生成过程。

 

 二、模拟智能系统的学习过程。

    8、伴随学习对智能的意义。


    F、上述思想的推理成分。


    我们要指出,在我们这个预测能力和思维生成的思路中,自主学习能力是由桑代克的尝试错误实验证明的。伴随学习能力是由托尔曼认知地图实验证明的,预测能力可以由对动物的观察实验来证明。这些实验之间就是靠推理来补充的。因此这个推理就有被证实和证伪两个可能。


    目前,要用生理解剖实验证明上述过程的正确性还是不可能的,证实和证伪都不可能。但是我们现在考虑得是计算机程序,计算机程序并不要求它一定要与大脑的真实相符。只要是运行成功,就是好的程序。例如,目前计算机思维与大脑的思维相差甚远,但也一样叫做思维,一样起着很好的作用。


    另外,我们在脑科学和生物学都无法解释思维是如何产生的情况下,起码提供了一个由程序实现的由无思维到产生思维的途径,这也许并不是大脑产生思维的真正途径,但是它起码证明了无思维的设备可以自己在学习中产生思维。而不必须由人编程序为为它编制思维。


    也许,将来更进一步的研究,为我们找出真正的思维生成的途径。但是到那时,我们的这个途径也不失为第一个指出思维是如何具体地完成由无思维到有思维过程的意义。也就是说,也许这个思路仅在思维科学大厦中起一小块铺路石的作用,但是目前它还是第一块这样的铺路石。


    当然,我们更希望它是正确的,那样它就会为思维科学开拓新路。

 

二、模拟智能系统的学习过程。

    9、模仿学习能力。


    A、模仿学习。在过去我们养猫时,猫是自己捉老鼠吃的,母猫如果有了小猫,在小猫动作能力基本形成后,母猫就会教小猫学捉老鼠。它把捉到的老鼠不咬死,而是在小猫面前放开捉住,然后再放开,让小猫学着捉。这就是模仿学习。人类的模仿学习就更多了。


    显然由于模仿学习有模仿对象的存在,系统可以减少学习时间,因此我们要我们的模拟智能系统有模仿学习能力是加快系统学习速度的一个好方法。


    表面看,模仿学习只不过是增加一个模仿对象而已。但仔细从计算机模拟角度考虑,就会发现模拟模仿学习会对系统提出很高的要求。例如如何让系统接收对象的活动模式?如何让系统按模仿对象的活动模式活动?前者要求系统有较好的模拟感觉设备,后者要求系统有较好的模拟活动设备。


    这也不是说在家庭微机上我们不能模拟模仿学习过程了,只是很不像而已。例如我们可以用字符串表示某种活动的形象,用另一些字符串表示模仿出来的形象,一般说,这种PC机上的模拟,只有我们实验者承认它是模拟模仿学习,很难叫局外人承认这一点。但是它的优点是给出模拟模仿学习的程序结构,一旦用到机器人上,把程序稍加修改移植过去就可以了。

 

 二、模拟智能系统的学习过程。

    9、模仿学习能力。


    B、模仿学习能力的程序结构。


    具有模仿学习能力的系统在人编程序上,没有太大的改动,只需要加入一个能够按输入活动形象进行相对应活动的程序就可以了。这里也有粗细程序之分。较粗的程序,通过人把活动形象与系统活动指令人为的对应起来就可以了。较细的程序,则要求系统通过自主学习学会这种对应,即要求系统先是胡乱对应,然后形成对应经验再合理的对应。粗程序人为量大,但学习进行得快。细程序更加逼真,但是学习过程要延长很多。


    在系统做模仿活动的过程中,由伴随学习能力记录下活动的过程,以此为系统模仿学习后自编而成的自编程序。显然,人编系统程序在这个方面没有大的变化。


    如果在PC机上运行模仿学习程序,还要人为的编写活动形象信息,还要编写输出这些信息的相应小程序。这些小程序就相当于我们前面所说的活动指令。其实这个过程是满麻烦的,但是唯此我们才能够在PC机上模拟模仿学习过程。

 

 二、模拟智能系统的学习过程。

    9、模仿学习能力。


    C、有教学习的雏形。模仿学习是有教学习的雏形,我们这里讨论的还是无智力情况下的有教学习。教育者就是模仿对象。


    随着学习能力进一步提高(它也是在学习中靠自编程序提高的),有教学习也可以模拟人类的在校学习,模拟人类在学习解决问题时对思维能力的模仿学习,对创造能力的模仿学习,等。由此可以预见得到,教育计算机的条件有多么高,计算机学习获得的能力就会有多么好。


    而且,由于这个计算机系统有自主活动能力,可以自编活动程序,那么它就有可能在某一方面超越人类知识的原有范围而提出自己的见解。于是一个具有发明创造能力的计算机便出现了!


    D、语言和思维能力的学习。


    在计算机学习理论中,人们需要解决的一个问题是知识的表达问题。但是这个问题在我们的程序中不会刻意的存在。因为它是一个自己获得信息自己处理信息的系统,知识的表达方式是在它学习中形成的。如果我们不叫它利用模仿学习能力学习语言,那么它的知识表达就会停留在使用低效的形象语言层次。我们并不需要向计算机内输入词库之类的东西,只要让它经历语言学习的过程,它就会自动形成一个自己使用方便的语言数据库。自己学会理解人类语言,自己学会表达人类语言。在我们这个系统面前,自然语言理解是一个完全不用编程者操心的问题。


    我们对于初等思维能力的出现较为关心,因为它与我们的人编系统程序(母程序)的性能相关。而对于高级的逻辑思维能力,我们就不必太过于关注,因为它们也是在学习中靠自编程序形成的。形成过程与人类在学生时期,通过向老师学习解决问题的方法,模仿学会各种思维的方式一致。并且在这个过程中自动形成逻辑思维。


    由于我们系统学习的思维是联想、想象、思维共同合作的过程,因此它与目前计算机思维完全不同,而与人类思维基本类似。既有自主性和灵活性,还具有创造性!

 

二、模拟智能系统的学习过程。

    10、反射学习能力。


  A、反射学习实验简介。其实在人和动物机体上,还有一种更为基本的学习能力,这就是反射学习能力。有关反射的实验有很多,如我国人了解最多的是巴甫洛夫的条件反射实验。此外还有斯金纳的工具性条件作用实验。巴甫洛夫的条件反射实验有三个要件组成:反应,条件刺激和非条件刺激。在反应与非条件刺激间实验前有一个非条件反射把它们联系起来。实验时条件刺激与非条件刺激多次同时出现,实验的结果是在条件刺激和反应建立起条件反射。


  在巴甫洛夫理论中两次把定语加在反射前面,显然反射另有解释。在巴甫洛夫理论中把反射定义为神经间的联系。因此反射学习能力是一种有机体神经结构决定的能力。


  斯金纳的工具性条件作用也有三个要件:刺激、偶然动作和奖励。刺激与偶然动作同时出现,并且获得奖励,反复多次后,在刺激与偶然动作间建立起反射。


  各种反射实验表明神经间建立联系的一个规律,两个神经部位多次同时被激发,它们中间就会建立后天性反射,当其中一个被单独激发时,另一个就会被反射连带激发。这里包含两个过程:后天性反射的建立过程和后天性反射的实现过程。


    后天性反射建立后需要巩固,不加以巩固就会退还。这也是反射学习能力的重要特征。

二、模拟智能系统的学习过程。

    10、反射学习能力。


    B、反射在学习中的巨大意义。目前人们对大脑的结构进行了大量的研究,也得出很多实验结果,但是对智能的研究均没有多大的推动意义。目前能够见到的有关资料大多处于加入大量假设阶段,没有一个完整的理论是被实验严格证实的,所以我们一概不予以采信。


    目前对大脑各种实验对于智能研究有意义的只有两点:第一、大脑的活动是靠神经元间的联系和信息传递完成。第二、大脑间的神经间联系分两种,一种是与生俱来的先天性反射。一种是后天学习而来的后天性反射(靠多次同时接受刺激建立的)。这是我们认为目前仅能采信的大脑科学结论。但是它已经足够了。更多的东西先让有关科学家们研究着玩去吧,让那些喜欢追风的假学者炒作去吧。我们欢迎他们有成果,但是也不抱太大希望!


    首先反射确定了记忆。从艾宾浩斯的记忆曲线到今天的什么海马,记忆的规律基本与反射的规律一致,因此可以确定记忆是靠反射学习完成的。


    其次确定了原始经验的形式。既然各个同时被激发的神经间在多次反复后可以建立反射,那么可以确定最初的经验是用神经间联系书写的。用一个被激发,其他神经部位都连带激发回忆的。


    例如视觉经验,视网膜同时出现一些光点,在大量同时出现的观点经重复便建立了反射,这个反射就为我们提取出一个图像的模式,例如人头、人眼、人整体等图像模式。

 

 二、模拟智能系统的学习过程。

    10、反射学习能力。


    C、反射学习的一个难题。


    反射建立的前提条件是同时出现和反复。因此建立起反射的神经部位具有共时性。也就是说它只记录同时(或时间相差不多)的神经间联系。那么历时性事物如何记忆,如何形成经验呢?


    比如一个活动自始至终的经验,比如一个事件的自始至终的过程。


    因此我们提出一个生物钟假设。我们假设大脑中有一个对时间先后顺序进行确定的先天性反射机制,并把它叫做生物钟。与它的每一时刻同时发生的神经性分别纪录为一条反射,再由生物钟的前进记录下顺序的各条反射,从而记忆下顺序事件和记录下顺序经验。


    比如一条肢体活动的经验,就是由与生物钟的每一时刻对应的多条反射组成,每条反射记录着同时进行的各个动作的神经部位,以生物钟顺序为依据,把整个肢体活动的各条反射连接起来,就是这项肢体活动的经验。


    D、神经信息分析法。


    由于我们在模拟类似人类的人工智能时,不可避免地要涉及到计算机中信息的具体形式,因此我们也就不可避免地要讨论神经信息的最可能形式。目前,这方面脑科学并没有为我们提供更多有益的东西。我们只能对其形式作尽可能接近的假设。


    这些假设对于人脑智能科学也许是不允许的,但是因为我们搞得不是人脑智能,而是人工智能,人工智能是以计算机的合理运行为目标的,所以只要是假设可以使计算机程序运行,就是允许的。而且计算机运行的成功,又会反过来为脑科学提供一个思路,它会表明,这样的一种信息编写方式,起码在计算机上模拟智能是有效的,如果你们在解译大脑神经信息是找不到出路,可以借鉴一下。


    我们这里提出的神经信息方式不是靠传递不同的信息完成的,在神经间只传递一种信息,神经部位的兴奋或不兴奋。而整个信息的表达是由神经间联系完成的。先天性反射是表示联系的基本符号,后天性反射是用基本符号编写的新编码。这里的大脑信息不是靠神经间流动的信息不同来表示,而是靠神经间联系的不同来表示。


    生物钟假设,为这种编码提供了更完整的表达前景:多条反射构成一个有时间顺序的事件或经验。它还提供一个神经间联系互不相混的条件:不同时间的神经间联系只与时间联系起来才起作用。也就是说,当两个神经部位在多个反射中出现时,可以靠时间不同加以区别。这也就是有限神经元能够表示无限信息的依据。

 

三、活动理论。

    1、活动理论对智能的意义。


    模拟人类智能为什么要涉及到活动理论?这就要考虑到智能活动的本质了。


    关于智能的本质有很多说法。我们认为,智能的本质表述为大脑对信息的一种特定的处理方式较为合适。这样认识智能本质的理论很多,甚至有些用类似的表述定义智能,但是我们的表述中增加了一个特定的定语。以表明智能不是对信息的一般处理。表述中的主语大脑是我们目前对智能的认识,如果电脑模拟人类智能成功,这个主语还可以扩大。


    既然智能的本质是处理方式,那么它就指得是一种操作,而不是指智能获得的各种资料。在心理学中,大脑的操作就是大脑的活动。因此我们在考虑模拟智能时并不以智能获得的资料为主要考虑目标,而以智能是怎样的操作(怎样的活动)?为主要讨论目标。


    既然我们把智能定位为一些大脑的活动,活动理论就显得十分重要了。这就是活动理论对智能研究的意义。

 

三、活动理论。

    2、对智能的结构性研究与功能性研究。


    在早期对智能的研究中曾经出现一个功能主义,他们就主张只考虑智能的功能,不考虑智能所依赖的大脑结构。尔后,功能主义在计算机模拟智能方面有很大的进展。例如他们把思维看成是一种逻辑运算,通过对数理逻辑的编程,模拟对一个课题的思维。他们也把一些人类思考的经验编写成程序,成为处理该经验范围的专用程序。然而,人们进一步发现,这种功能模拟的方法模拟的思维与人类智能相差甚远。


    后来,人工神经网络理论在经历一段徘徊不前以后,在解决一些问题上又取得很大进展。同时由于脑科学技术上的进步,人们在对大脑工作情况上又取得很多令人兴奋的成就。于是人们便对功能主义智能研究路线提出质疑,把希望寄托在大脑结构的研究上。近几年来,人们甚至认为:通过功能模拟不可能解决模拟智能问题,只有通过大脑结构研究才能够解决智能的模拟问题。于是我们提出模拟人类智能的基本构想后,不断有人提出:你不通过搞清智能的大脑结构,能够模拟类似于人类的智能吗?


    从上述对人工智能的发展过程的简单回顾,我们看到了人们思路在两个极端上的跳跃,要么否定结构崇拜功能主义,要么否定功能主义崇拜大脑结构。我以为这两种极端的态度都是不正确的。我们应该走两者相结合主义。


    对于大脑结构的研究我们大力支持,因为对大脑结构的新发现,有助于我们发现大脑结构中的前所未知的功能,从而对智能有更进一步的认识。我们还要对智能的功能模拟进行研究,因为作为操作、作为活动的智能,它所表现出的毕竟还是功能。与我们计算机相比,大脑的结构相当于计算机的硬件,大脑的功能相当于计算机的程序。而且,模拟类似于人的智能,最终还是要靠计算机的程序来实现。显然我们的结合主义还是偏向功能的,因此我把这种方法叫现代功能主义。

 

 三、活动理论。

    3、活动理论的相关观点。


    活动理论是《动态心理学》的一个重要组成部分,我们只选择与编写模拟智能系统程序有关的几条介绍。


    A、活动经验相当于计算机的程序。大脑负责的活动由肢体活动、内脏活动、心理活动等,智能是心理活动范畴的活动。在大脑的记忆中保存着各种活动的活动步骤,我们通常叫做活动经验。它们就相当于计算机中的具体某项操作的程序。


    这里,我们所谓的经验不只是用语言纪录的经验,语言纪录的经验实际并不能直接用于机体的活动。我们所指的经验是用能够指挥大脑或机体活动的信号记录的东西,它们一般并不能为我们的意识读懂。


    B、活动能力形成的基本前提。机体所具有的顺利完成一项活动的本领,叫做能力。能力形成的基本前提是类似活动的反复进行。任何动物可能会进行各种活动,但是并不是每种活动都能够形成能力,只有那些大量重复的活动才会形成能力。


    这个基本前提是我们模拟智能是必须注意的。目前计算机的记忆是不遵守这个前提的,要么对活动经验没有记忆,要么是对活动经验全部记忆。不记录经验显然不利于能力的形成,全纪录下来显然又会与存储容量发生矛盾。

 

 

二、模拟智能系统的学习过程。

    8、伴随学习对智能的意义。


  C、预测表现和预测活动的比较。在上面的过程中,如果没有伴随学习,就不会形成对预测的纪录。预测就只能停留在表现层次,也就是说预测只能是附属于反射功能的一种行为。然而有了伴随学习情况就不同了,它为预测记录了经验,大脑可以不通过反射功能,而通过对预测经验的调用来进行预测。预测便成为一个独立的活动了。


    下面我们对比反射型预测和经验型预测(这是两个为讨论方便暂时使用的概念)的操作流程:


    反射型预测:反射链的形成——外部刺激激发反射链的一个环节——整个反射链被激发——反射链中的一个欲望被激发——随机发动一个动作去满足于网(这实际发动起一个自主学习过程)——通过学习得到一个确定的满足欲望的活动。


    学习后,机体便产生对于这个特定刺激用特定活动(自主学习确定的)表现的预测表现。


    经验型预测:在反射型预测学习时记录伴随经验(预测经验)——外部刺激激发经验——找并激发相应反射链——激发反射链中的欲望——发动自主学习确定实现表现的动作——确定预测表现的动作。


    学习后,机体也产生一个与特定刺激对应的特定的预测表现活动。


    对比后,我们会发现后者比前面多了一个环节,这从程序求简的原则上看好像是不利的。但是正因为多了这一个环节,大脑就新产生了一个活动——预测活动。大脑就向思维的产生迈进一步。


    D、新功能产生的进一步讨论。很多人怀疑我的说法:不就是多一条经验么,有那么大作用么?但是我们不要忘记机体的另一个学习能力——自主学习能力,它可以经过三个层次使一种活动由毫无经验转变为有经验、转变为懂事。


    当大脑调用预测经验进行预测活动时,就可以对稍有联系的事件进行胡乱预测(这时已经不限于对欲望的激发),然后经自主学习确定成功的预测,记录下失败的预测,由成功的预测作为以后预测活动的依据,由失败的预测禁止一些预测的作出。预测就会变成比较懂事的预测(当然,由于此时思维能力还没有产生,懂事的预测也不能与人类的预测相比)


    显然,自主学习能力与伴随学习能力的交替作用对于机体大脑新功能的产生作用是非常大的。伴随学习负担记录机体胡乱活动中新能力的产生,自主学习能力负责使那些新能力由毫无经验到有丰富经验。一个是发现萌芽,一个是培育萌芽。以这种路子,思维的各种功能的产生就是可以预料得到的了

 

 

二、模拟智能系统的学习过程。

    8、伴随学习对智能的意义。


    E、思维能力产生的初步讨论。思维生成理论很长,因为它要讨论到各种思维能力的生成过程。不可能用几十字、几百字叙述清楚。因此只能讨论个初步。


    我们就以预测能力的发展为线索,讨论一下思维生成的一个侧面。


    预测经过学习发展为一个成熟的能力以后,就会产生对相关事件出现的预测,这种预测就发展为对原因事件和结果事件的判断。伴随学习记录下这种新的能力——判断。自主学习能力使判断由最初的胡乱判断发展为有成熟经验的判断(当然还不如有成熟思维后的判断,更不如逻辑推理的判断)。


    人类的判断实际是一种综合的思维活动,它的生成要有一个更复杂的过程。


    按照上述思路,大家也可以设想一下各种思维的生成过程。


    F、上述思想的推理成分。


    我们要指出,在我们这个预测能力和思维生成的思路中,自主学习能力是由桑代克的尝试错误实验证明的。伴随学习能力是由托尔曼认知地图实验证明的,预测能力可以由对动物的观察实验来证明。这些实验之间就是靠推理来补充的。因此这个推理就有被证实和证伪两个可能。


    目前,要用生理解剖实验证明上述过程的正确性还是不可能的,证实和证伪都不可能。但是我们现在考虑得是计算机程序,计算机程序并不要求它一定要与大脑的真实相符。只要是运行成功,就是好的程序。例如,目前计算机思维与大脑的思维相差甚远,但也一样叫做思维,一样起着很好的作用。


    另外,我们在脑科学和生物学都无法解释思维是如何产生的情况下,起码提供了一个由程序实现的由无思维到产生思维的途径,这也许并不是大脑产生思维的真正途径,但是它起码证明了无思维的设备可以自己在学习中产生思维。而不必须由人编程序为为它编制思维。


    也许,将来更进一步的研究,为我们找出真正的思维生成的途径。但是到那时,我们的这个途径也不失为第一个指出思维是如何具体地完成由无思维到有思维过程的意义。也就是说,也许这个思路仅在思维科学大厦中起一小块铺路石的作用,但是目前它还是第一块这样的铺路石。


    当然,我们更希望它是正确的,那样它就会为思维科学开拓新路。

 

二、模拟智能系统的学习过程。

    8、伴随学习对智能的意义。


    E、思维能力产生的初步讨论。思维生成理论很长,因为它要讨论到各种思维能力的生成过程。不可能用几十字、几百字叙述清楚。因此只能讨论个初步。


    我们就以预测能力的发展为线索,讨论一下思维生成的一个侧面。


    预测经过学习发展为一个成熟的能力以后,就会产生对相关事件出现的预测,这种预测就发展为对原因事件和结果事件的判断。伴随学习记录下这种新的能力——判断。自主学习能力使判断由最初的胡乱判断发展为有成熟经验的判断(当然还不如有成熟思维后的判断,更不如逻辑推理的判断)。


    人类的判断实际是一种综合的思维活动,它的生成要有一个更复杂的过程。


    按照上述思路,大家也可以设想一下各种思维的生成过程。


    F、上述思想的推理成分。


    我们要指出,在我们这个预测能力和思维生成的思路中,自主学习能力是由桑代克的尝试错误实验证明的。伴随学习能力是由托尔曼认知地图实验证明的,预测能力可以由对动物的观察实验来证明。这些实验之间就是靠推理来补充的。因此这个推理就有被证实和证伪两个可能。


    目前,要用生理解剖实验证明上述过程的正确性还是不可能的,证实和证伪都不可能。但是我们现在考虑得是计算机程序,计算机程序并不要求它一定要与大脑的真实相符。只要是运行成功,就是好的程序。例如,目前计算机思维与大脑的思维相差甚远,但也一样叫做思维,一样起着很好的作用。


    另外,我们在脑科学和生物学都无法解释思维是如何产生的情况下,起码提供了一个由程序实现的由无思维到产生思维的途径,这也许并不是大脑产生思维的真正途径,但是它起码证明了无思维的设备可以自己在学习中产生思维。而不必须由人编程序为为它编制思维。


    也许,将来更进一步的研究,为我们找出真正的思维生成的途径。但是到那时,我们的这个途径也不失为第一个指出思维是如何具体地完成由无思维到有思维过程的意义。也就是说,也许这个思路仅在思维科学大厦中起一小块铺路石的作用,但是目前它还是第一块这样的铺路石。


    当然,我们更希望它是正确的,那样它就会为思维科学开拓新路。

 

 

二、模拟智能系统的学习过程。

    9、模仿学习能力。


    A、模仿学习。在过去我们养猫时,猫是自己捉老鼠吃的,母猫如果有了小猫,在小猫动作能力基本形成后,母猫就会教小猫学捉老鼠。它把捉到的老鼠不咬死,而是在小猫面前放开捉住,然后再放开,让小猫学着捉。这就是模仿学习。人类的模仿学习就更多了。


    显然由于模仿学习有模仿对象的存在,系统可以减少学习时间,因此我们要我们的模拟智能系统有模仿学习能力是加快系统学习速度的一个好方法。


    表面看,模仿学习只不过是增加一个模仿对象而已。但仔细从计算机模拟角度考虑,就会发现模拟模仿学习会对系统提出很高的要求。例如如何让系统接收对象的活动模式?如何让系统按模仿对象的活动模式活动?前者要求系统有较好的模拟感觉设备,后者要求系统有较好的模拟活动设备。


    这也不是说在家庭微机上我们不能模拟模仿学习过程了,只是很不像而已。例如我们可以用字符串表示某种活动的形象,用另一些字符串表示模仿出来的形象,一般说,这种PC机上的模拟,只有我们实验者承认它是模拟模仿学习,很难叫局外人承认这一点。但是它的优点是给出模拟模仿学习的程序结构,一旦用到机器人上,把程序稍加修改移植过去就可以了。


    B、模仿学习能力的程序结构。


    具有模仿学习能力的系统在人编程序上,没有太大的改动,只需要加入一个能够按输入活动形象进行相对应活动的程序就可以了。这里也有粗细程序之分。较粗的程序,通过人把活动形象与系统活动指令人为的对应起来就可以了。较细的程序,则要求系统通过自主学习学会这种对应,即要求系统先是胡乱对应,然后形成对应经验再合理的对应。粗程序人为量大,但学习进行得快。细程序更加逼真,但是学习过程要延长很多。


    在系统做模仿活动的过程中,由伴随学习能力记录下活动的过程,以此为系统模仿学习后自编而成的自编程序。显然,人编系统程序在这个方面没有大的变化。


    如果在PC机上运行模仿学习程序,还要人为的编写活动形象信息,还要编写输出这些信息的相应小程序。这些小程序就相当于我们前面所说的活动指令。其实这个过程是满麻烦的,但是唯此我们才能够在PC机上模拟模仿学习过程。

 

 

 二、模拟智能系统的学习过程。

    9、模仿学习能力。


    C、有教学习的雏形。模仿学习是有教学习的雏形,我们这里讨论的还是无智力情况下的有教学习。教育者就是模仿对象。


    随着学习能力进一步提高(它也是在学习中靠自编程序提高的),有教学习也可以模拟人类的在校学习,模拟人类在学习解决问题时对思维能力的模仿学习,对创造能力的模仿学习,等。由此可以预见得到,教育计算机的条件有多么高,计算机学习获得的能力就会有多么好。


    而且,由于这个计算机系统有自主活动能力,可以自编活动程序,那么它就有可能在某一方面超越人类知识的原有范围而提出自己的见解。于是一个具有发明创造能力的计算机便出现了!


    D、语言和思维能力的学习。


    在计算机学习理论中,人们需要解决的一个问题是知识的表达问题。但是这个问题在我们的程序中不会刻意的存在。因为它是一个自己获得信息自己处理信息的系统,知识的表达方式是在它学习中形成的。如果我们不叫它利用模仿学习能力学习语言,那么它的知识表达就会停留在使用低效的形象语言层次。我们并不需要向计算机内输入词库之类的东西,只要让它经历语言学习的过程,它就会自动形成一个自己使用方便的语言数据库。自己学会理解人类语言,自己学会表达人类语言。在我们这个系统面前,自然语言理解是一个完全不用编程者操心的问题。


    我们对于初等思维能力的出现较为关心,因为它与我们的人编系统程序(母程序)的性能相关。而对于高级的逻辑思维能力,我们就不必太过于关注,因为它们也是在学习中靠自编程序形成的。形成过程与人类在学生时期,通过向老师学习解决问题的方法,模仿学会各种思维的方式一致。并且在这个过程中自动形成逻辑思维。


    由于我们系统学习的思维是联想、想象、思维共同合作的过程,因此它与目前计算机思维完全不同,而与人类思维基本类似。既有自主性和灵活性,还具有创造性!

 

二、模拟智能系统的学习过程。

    10、反射学习能力。


  A、反射学习实验简介。其实在人和动物机体上,还有一种更为基本的学习能力,这就是反射学习能力。有关反射的实验有很多,如我国人了解最多的是巴甫洛夫的条件反射实验。此外还有斯金纳的工具性条件作用实验。巴甫洛夫的条件反射实验有三个要件组成:反应,条件刺激和非条件刺激。在反应与非条件刺激间实验前有一个非条件反射把它们联系起来。实验时条件刺激与非条件刺激多次同时出现,实验的结果是在条件刺激和反应建立起条件反射。


  在巴甫洛夫理论中两次把定语加在反射前面,显然反射另有解释。在巴甫洛夫理论中把反射定义为神经间的联系。因此反射学习能力是一种有机体神经结构决定的能力。


  斯金纳的工具性条件作用也有三个要件:刺激、偶然动作和奖励。刺激与偶然动作同时出现,并且获得奖励,反复多次后,在刺激与偶然动作间建立起反射。


  各种反射实验表明神经间建立联系的一个规律,两个神经部位多次同时被激发,它们中间就会建立后天性反射,当其中一个被单独激发时,另一个就会被反射连带激发。这里包含两个过程:后天性反射的建立过程和后天性反射的实现过程。


    后天性反射建立后需要巩固,不加以巩固就会退还。这也是反射学习能力的重要特征。


    B、反射在学习中的巨大意义。目前人们对大脑的结构进行了大量的研究,也得出很多实验结果,但是对智能的研究均没有多大的推动意义。目前能够见到的有关资料大多处于加入大量假设阶段,没有一个完整的理论是被实验严格证实的,所以我们一概不予以采信。


    目前对大脑各种实验对于智能研究有意义的只有两点:第一、大脑的活动是靠神经元间的联系和信息传递完成。第二、大脑间的神经间联系分两种,一种是与生俱来的先天性反射。一种是后天学习而来的后天性反射(靠多次同时接受刺激建立的)。这是我们认为目前仅能采信的大脑科学结论。但是它已经足够了。更多的东西先让有关科学家们研究着玩去吧,让那些喜欢追风的假学者炒作去吧。我们欢迎他们有成果,但是也不抱太大希望!


    首先反射确定了记忆。从艾宾浩斯的记忆曲线到今天的什么海马,记忆的规律基本与反射的规律一致,因此可以确定记忆是靠反射学习完成的。


    其次确定了原始经验的形式。既然各个同时被激发的神经间在多次反复后可以建立反射,那么可以确定最初的经验是用神经间联系书写的。用一个被激发,其他神经部位都连带激发回忆的。


    例如视觉经验,视网膜同时出现一些光点,在大量同时出现的观点经重复便建立了反射,这个反射就为我们提取出一个图像的模式,例如人头、人眼、人整体等图像模式。

 

二、模拟智能系统的学习过程。

    10、反射学习能力。


    C、反射学习的一个难题。


    反射建立的前提条件是同时出现和反复。因此建立起反射的神经部位具有共时性。也就是说它只记录同时(或时间相差不多)的神经间联系。那么历时性事物如何记忆,如何形成经验呢?


    比如一个活动自始至终的经验,比如一个事件的自始至终的过程。


    因此我们提出一个生物钟假设。我们假设大脑中有一个对时间先后顺序进行确定的先天性反射机制,并把它叫做生物钟。与它的每一时刻同时发生的神经性分别纪录为一条反射,再由生物钟的前进记录下顺序的各条反射,从而记忆下顺序事件和记录下顺序经验。


    比如一条肢体活动的经验,就是由与生物钟的每一时刻对应的多条反射组成,每条反射记录着同时进行的各个动作的神经部位,以生物钟顺序为依据,把整个肢体活动的各条反射连接起来,就是这项肢体活动的经验。


    D、神经信息分析法。


    由于我们在模拟类似人类的人工智能时,不可避免地要涉及到计算机中信息的具体形式,因此我们也就不可避免地要讨论神经信息的最可能形式。目前,这方面脑科学并没有为我们提供更多有益的东西。我们只能对其形式作尽可能接近的假设。


    这些假设对于人脑智能科学也许是不允许的,但是因为我们搞得不是人脑智能,而是人工智能,人工智能是以计算机的合理运行为目标的,所以只要是假设可以使计算机程序运行,就是允许的。而且计算机运行的成功,又会反过来为脑科学提供一个思路,它会表明,这样的一种信息编写方式,起码在计算机上模拟智能是有效的,如果你们在解译大脑神经信息是找不到出路,可以借鉴一下。


    我们这里提出的神经信息方式不是靠传递不同的信息完成的,在神经间只传递一种信息,神经部位的兴奋或不兴奋。而整个信息的表达是由神经间联系完成的。先天性反射是表示联系的基本符号,后天性反射是用基本符号编写的新编码。这里的大脑信息不是靠神经间流动的信息不同来表示,而是靠神经间联系的不同来表示。


    生物钟假设,为这种编码提供了更完整的表达前景:多条反射构成一个有时间顺序的事件或经验。它还提供一个神经间联系互不相混的条件:不同时间的神经间联系只与时间联系起来才起作用。也就是说,当两个神经部位在多个反射中出现时,可以靠时间不同加以区别。这也就是有限神经元能够表示无限信息的依据。

 

 

三、活动理论。

    1、活动理论对智能的意义。


    模拟人类智能为什么要涉及到活动理论?这就要考虑到智能活动的本质了。


    关于智能的本质有很多说法。我们认为,智能的本质表述为大脑对信息的一种特定的处理方式较为合适。这样认识智能本质的理论很多,甚至有些用类似的表述定义智能,但是我们的表述中增加了一个特定的定语。以表明智能不是对信息的一般处理。表述中的主语大脑是我们目前对智能的认识,如果电脑模拟人类智能成功,这个主语还可以扩大。


    既然智能的本质是处理方式,那么它就指得是一种操作,而不是指智能获得的各种资料。在心理学中,大脑的操作就是大脑的活动。因此我们在考虑模拟智能时并不以智能获得的资料为主要考虑目标,而以智能是怎样的操作(怎样的活动)?为主要讨论目标。


    既然我们把智能定位为一些大脑的活动,活动理论就显得十分重要了。这就是活动理论对智能研究的意义。

三、活动理论。

    2、对智能的结构性研究与功能性研究。


    在早期对智能的研究中曾经出现一个功能主义,他们就主张只考虑智能的功能,不考虑智能所依赖的大脑结构。尔后,功能主义在计算机模拟智能方面有很大的进展。例如他们把思维看成是一种逻辑运算,通过对数理逻辑的编程,模拟对一个课题的思维。他们也把一些人类思考的经验编写成程序,成为处理该经验范围的专用程序。然而,人们进一步发现,这种功能模拟的方法模拟的思维与人类智能相差甚远。


    后来,人工神经网络理论在经历一段徘徊不前以后,在解决一些问题上又取得很大进展。同时由于脑科学技术上的进步,人们在对大脑工作情况上又取得很多令人兴奋的成就。于是人们便对功能主义智能研究路线提出质疑,把希望寄托在大脑结构的研究上。近几年来,人们甚至认为:通过功能模拟不可能解决模拟智能问题,只有通过大脑结构研究才能够解决智能的模拟问题。于是我们提出模拟人类智能的基本构想后,不断有人提出:你不通过搞清智能的大脑结构,能够模拟类似于人类的智能吗?


    从上述对人工智能的发展过程的简单回顾,我们看到了人们思路在两个极端上的跳跃,要么否定结构崇拜功能主义,要么否定功能主义崇拜大脑结构。我以为这两种极端的态度都是不正确的。我们应该走两者相结合主义。


    对于大脑结构的研究我们大力支持,因为对大脑结构的新发现,有助于我们发现大脑结构中的前所未知的功能,从而对智能有更进一步的认识。我们还要对智能的功能模拟进行研究,因为作为操作、作为活动的智能,它所表现出的毕竟还是功能。与我们计算机相比,大脑的结构相当于计算机的硬件,大脑的功能相当于计算机的程序。而且,模拟类似于人的智能,最终还是要靠计算机的程序来实现。显然我们的结合主义还是偏向功能的,因此我把这种方法叫现代功能主义。

 

三、活动理论。

    3、活动理论的相关观点。


    活动理论是《动态心理学》的一个重要组成部分,我们只选择与编写模拟智能系统程序有关的几条介绍。


    A、活动经验相当于计算机的程序。大脑负责的活动由肢体活动、内脏活动、心理活动等,智能是心理活动范畴的活动。在大脑的记忆中保存着各种活动的活动步骤,我们通常叫做活动经验。它们就相当于计算机中的具体某项操作的程序。


    这里,我们所谓的经验不只是用语言纪录的经验,语言纪录的经验实际并不能直接用于机体的活动。我们所指的经验是用能够指挥大脑或机体活动的信号记录的东西,它们一般并不能为我们的意识读懂。


    B、活动能力形成的基本前提。机体所具有的顺利完成一项活动的本领,叫做能力。能力形成的基本前提是类似活动的反复进行。任何动物可能会进行各种活动,但是并不是每种活动都能够形成能力,只有那些大量重复的活动才会形成能力。


    这个基本前提是我们模拟智能是必须注意的。目前计算机的记忆是不遵守这个前提的,要么对活动经验没有记忆,要么是对活动经验全部记忆。不记录经验显然不利于能力的形成,全纪录下来显然又会与存储容量发生矛盾。


    C、活动间的相互作用。


    大脑的活动间是可以相互作用的,这种作用导致各项活动的促进发展,也会导致促退衰败。


    人们空叫喊智能的复杂,其实从各种活动的相互作用来看待智能,智能就一点都不复杂了。以记忆为例,记忆是一种大脑先天性功能,但是它原来的活动方式比较简单,就是用类似反射的方式实现记忆。然而大脑的思维能力产生后,思维就会促进记忆,例如把记忆的资料进行分类保管,把记忆资料按顺序、按逻辑关系、按提纲进行有条理的保管。这就大大提高了记忆能力。


    而它们的促进是相互的。思维就是产生在记忆的基础上的功能,没有记忆保存的资料,思维就没有对象处理。在思维进行时,记忆不仅仅保管思维处理的结果,还保存思维进行的过程,积累思维经验,所招思维经验的丰富,思维能力也就大大的提高。


    活动间的相互作用,使得所有心理活动:感觉活动、记忆活动、思维活动、情感活动、需要活动、言语活动、意识活动,都呈现一种动态发展的状态,因此我认为,用一种描述心理不断发展的动态心理学,才能够正确的描述心理想象。


    D、活动发展的层次性。任何一种发展的活动,就会有由于发展而自然形成的层次,这种层次性既可以简单的永初、中、高的方式区别,也可以用更精细的方法区别。

 

四、思维理论。

    1、思维理论的依据问题。


    目前对思维的讨论太多了,太滥了,就我所见就足足有二十几个版本声称自己是唯一正确地解释大脑思维问题的著作。目前热门的是脑科学,所以绝大多数所谓的解释都与脑科学拉关系、套近乎,把自己说成是唯一得了脑科学真传。实际上,脑科学的理论和实验还都没有到能够解决思维的时候。那些理论不过是引用一些脑科学的东西在加以大量的假设,而每一个假设又被作者冠以突破性的观点,于是一篇理论便这样拼凑出来了。


    我们也关注脑科学的进展,但是在其有真正突破性实验结果以前,我不准备妄加引用脑科学,也不准备提出一些突破性的独立见解。对于思维的大脑结构基础,我只采纳一个很不时髦但是又被实验确切无疑证实了的东西,那就是神经间的反射。


    我的思维理论的其它依据就是我们正在进行的,人人都在使用的思维事实。以下所有讨论都是根据我们正在进行的思维得出的。


    但是我们采用另一种方式观察和叙述我们的思维,这就是我们把我们的思维看成是一个不断发展的活动,我们从无到有,从低级到高级来观察和叙述我们的思维。除此之外,我们对思维理论再没有其他的突破性见解。

 

 

 四、思维理论。

    2、思维理论的要点。


    智能的典型特征是思维。因此模拟思维是模拟智能的重头戏。所以思维理论在模拟智能具有重大的意义。


    我们在思维理论中把思维看作是一种活动,因此在这里,思维与思维对象是要分别研究的。我们重点是讨论思维活动的形式。不把思维对象作为主要讨论重点。


    A、思维是由初级到高级按层次形成的。大脑最初只有思维可以形成的必要结构,但是并没有形成思维可以活动的程序(活动经验)。大脑的思维活动是按照活动经验由简单到复杂,由单调到丰富,这样一个过程发展而来的。


    这个思路表面看没有什么新奇的,但是它会使我们以往讨论的各种思维操作概念大大变异。


    比如,分类。在我们熟悉的分类过程中,分类起码要经过分析综合、要经过性质确认,然后把性质相同的分为一类,把性质不同的分在不同类。这已经是一种高级分类活动。按思维的层次发展观就不是这样了。初级的分类操作就是随机(胡乱)的事物分类。没有理由,没有依据。你如果没有思维按层次生成的观点,你就不会承认这就是分类。好在,人工神经网络理论率先作了这样的分类,熟悉人工神经理论的人不会对这种分类进行质疑了。但是其他人还免不了不承认这就是分类。


    而其它概念,如猜想、判断、推理、抽象、分析、综合、归纳等思维操作的初级形态,也都与你们熟悉的高级形态大大不同。我们在此说明以后,就不再为这些概念进行不必要的争论了。


    B、活动的相互作用问题。


    在活动理论中,我们强调了一个活动的相互作用定律。那里的活动是泛指的。在思维理论中,活动的相互作用就变成具体的。


    例如,思维活动与记忆活动相互作用问题。我们前面已经提到。思维是以记忆为基础发展起来的。记忆提供给思维以资料并记录了思维的经验,思维经验是思维赖以进行的根本保证。但是从思维活动产生开始,它就以记忆为对象进行对记忆的思维(特别是对记忆方式的思维),因此产生了以理解为基础的记忆方式,没有思维,理解记忆不可能出现。并且随着思维能力的发展,理解记忆也朝高品质发展。这就是很明显的思维与记忆的相互促进。


    不仅如此,思维与需要(欲望)也是相互促进的。需要发动机体的活动,思维也就在机体的活动中产生了。但是思维一旦产生,便开始对需要进行思维,思维对需要的作用促进高级需要的产生,例如对艺术欣赏的需要,就是在思维对原始需要(欲望)改进后的一种高级需要。没有思维的作用,人类不可能产生对艺术的需要。


    再例如思维活动与情感活动也是相互促进的。原始的情感活动是先天的,它是机体对需要满足程度的表达方式。但是随着思维的产生,思维也在对情感活动进行思维,结果是原始情感发展为高级情感。例如由性欲发动了对异性的追求,这种追求表现为一种原始的男女之情,经过思维的发展,经过思维把原始男女之情与社会环境的综合分析,这种原始情感就发展为男女的爱情。爱情是比原始男女之情容纳更多思维结果的情感。

 

四、思维理论。

    2、思维理论的要点。


    C、相互作用带来的界限部分的问题。


    由于机体的各种活动从原始形态往上就一直存在相互作用,因此对于我们来说,接触的多是高级活动,它们都是各种原始活动相互作用的结果,往往会使讨论者把它们混淆起来。


    了解了各种活动的相互作用关系,就是我们会产生这样一种分析方法:找到各种活动最单纯的原始形态,然后用相互作用的观点讨论他们是如何形成复杂的心理活动的。这也是我们讨论思维理论、需要理论、情感理论和意识理论的基本思想方法。


    它好像物理学研究运动一样,现实的运动是各种运动交织的,为了研究的方便,我们要把复杂的运动分解为纯运动来研究,得出纯运动的基本规律,然后又纯运动交织成复杂运动。匀速运动和运加速直线运动就是典型的纯运动,由研究加速运动的牛顿第二定律得出运动的基本微分形式,然后就可以依据初始条件列出各种微分方程,从而可以说从理论上可以推导出任何运动形态了。


    我们的思维理论也是用物理学的这种思想构建的,只是还无法写出微分方程而已。


    D、思维操作的最初状态。


    在学习过程的讨论中,我们已经说过,通过伴随学习能力对萌芽能力的纪录,通过自主学习能力对萌芽能力由胡乱到懂事的三个阶段的升级,一种能力就会成熟起来。我们也认为思维能力不是与生俱来的能力,因此每种思维操作的萌芽状态是什么?就成为我们最关心的问题。我们是从以下几个方面来寻找萌芽的思维操作的:


    甲、反射怎样演化出一些思维操作。目前可以确定的是原始猜测、原始归类和原始抽象是反射直接演化出来的。


    乙、有感觉和肢体活动经验移用出思维操作。目前可以确定分析、综合、分类等思维操作可以有感觉和肢体活动经验中移用而来。


    丙、由胡乱操作得出。从思维发展是看,很多思维操作应该是由胡乱操作经检验巩固而来,但是实际上这样就会使学习过程拖得太久,而且计算机模拟系统产生的思维具有很大的不确定性。因此我们为系统设置这种能力,但是不指望这种能力由多大作用。


    丁、通过模仿学习而来。我们有很多思维操作能力是在模仿解决问题的活动中,模仿他人思维而来,这是人类学习、发展思维能力的主要方式,也是计算机系统学习、发展思维能力的主要方式。

 

四、思维理论。

    3、思维产生前的信息编码问题。


    A、信息编码问题的产生。


    在计算机学习理论中,有一个重要的问题就是知识的表示问题。我们的思路采用的是由计算机系统自己学习,在学习中自己产生知识的表示结构。虽然避开了知识表示的最大难题:知识结构问题。但是也出现一个新的问题,信息编码问题。


    我们在讨论发射学习能力时,已经讨论了大脑表示信息的一种形式:不由传递信息的情况表示信息,而由大脑神经元的连接情况表示信息。但是在讨论到思维时,这种表示信息的方式遇到问题。我们用例子来说明这个问题比较直观。


    比如巴甫洛夫实验中的狗,灯光、食物与流唾液地反应间建立了联系。这种联系也用来表示这个关系的信息。那么如果狗是用这种信息思维的,它只要是一想到食物,就会通过反射链引起流唾液的反应,它只要是一想到灯光也会引起流唾液的反应。


    如果把这种现象延伸到所有的思维(例如人的思维),就会出现非常可笑的现象。如果这个人要想到跑,它的反射链马上会使他的手脚配合作出跑的动作。如果这个人想到哭,那么这个人就会鼻涕眼泪流出来痛哭起来。因为在想的时候,他的反射联会同时被激发,动作和反应都会被激发出来。但是人和动物都没有这种现象发生。这表明人和动物思维时,信息已经被弱化了。


    我们把这种反射链激发信息弱化的现象叫做代码化。


    B、反射链信息的代码化。


    我们在反射学习能力的介绍中,提出以神经间联系表示大脑信息的设想。这种设想最大优点是排除了假设神经信息是变化的,带来的传输、解译等复杂问题。而且,只要有较少的神经元参与联系,就可以表示大量的不同信息。我们也指出,模拟智能研究与脑科学研究不同,脑科学解决不了信息形式问题,可以先放一放。模拟智能解决不了信息表示问题,就一步也走不动。而且模拟智能时的这种假设与大脑不一定一致,只要它能够让程序运行就可以了。因此我们就确定了以神经元间的联系表示不同的信息为我们的信息方案。


    新问题出现后,我们如何保持我们原来的信息方案呢?


    我们设想大脑能够在空闲的神经元为工作的神经元(或是说与各个器官直接联系的神经元)间建立镜像关系。它与原来的神经间联系完全一样,但是神经元间的信息强度要远远弱于原来神经元被激发后的信息强度。思维就工作在这个神经元的镜像空间。这个镜像空间的任何神经元的激发,都不会引起实际工作的神经元的连带激发。因此也就不会想什么就表现什么动作的现象。


    工作神经元把它们的反射联系向镜像神经空间复制的过程,就实现了代码化。也就是说有实际动作、反应、感觉意义的神经兴奋,转变为镜像神经空间的神经兴奋,它们失去了实际意义,成为单纯的信息代码。


    镜像神经空间的神经元与它在实际神经空间的影像间还保持着微弱的联系,但需要把那些动作、反应、感觉实体化的时候,强化那种弱联系,就可以激发实际神经空间的神经元,重新表现出那些动作、反应。这就是思维的结果用动作执行。