模拟智能的整体思路

来源:百度文库 编辑:神马文学网 时间:2024/04/29 10:51:37
模拟智能的整体思路(原文)
作者:ruiaijun 提交日期:2006-5-9 06:12:00
(为了便于一些网友察看原文,我们在此主题下分段重发原文。望讨论者在原主题下参加讨论)
前言:
我们要模拟什么样的智能呢?我们要模拟和人类智能一样的智能,说明白了,我们要模拟的是与人类一样有意识、有情感、有独创能力、能提出自己主见(甚至理论)的智能。
我们把这种智能叫做强人工智能,也叫做仿人智能或类似人类的智能。相应的我们把目前计算机技术中的人工智能叫做弱人工智能,也可以叫做应用人工智能。
这种强人工智能应该是计算机理论的鼻祖图灵先生理想的智能。它应该是在各种情况下都能够通过“图灵检验”的类人智能。包括对它的心理测试,也应该使我们无法把它与正常人区别开来。
由于这种智能模拟的建设是一个非常繁重的工作。因此尽管我们用几万字来介绍思路,它也只是该项建设所有文件的梗概。因此很多网友反对它,看不懂它都是可以理解的事情。
显然它涉及到的东西很多。比如我们要模拟意识,就要弄明白什么是意识?意识在智能系统中起什么作用?我们需要使用那些算法来实现模拟意识?
比如在模拟人的创造能力时,我们要模拟直觉和灵感,这时我们就要弄清楚直觉和灵感是什么?直觉和灵感在系统中起什么作用?我们要使用那些算法来实现模拟直觉和灵感?
我们要使这个类人智能系统在图灵检测是通过心理检测,我们就要弄清情感是什么?个性是什么?欲望是什么?它们在智能系统中的作用是什么?用什么样的算法实现对它们的模拟?
好在我们已经有了较为统一的方案解决这一系列难题。这个解决方案确实已经超出人们原有的计算机理论范围。这就难怪有人劝我去歇歇,有人说我的想法是扯淡。但是我以为,模拟智能这个“雷”总得有人去闯,总要有人冒着失败的危险去为它花费精力。
那么我们凭什么来模拟人类的有意识的智能呢?
在我提出的思路中,我们掌握了模拟人类智能的三个秘密。它们是以前弱人工智能理论和实践中从来不曾有过的。它们是模拟人类智能的关键。这三个关键,也可以叫做三个有力武器。
第一个有力武器是自编程序。如果把人和动物活动的依据、方法也叫做程序的话。那么这种程序是它们大脑自编的。除去先天性的能力是与遗传有关的外,后天的能力都是生物系统自编程序的。因此只有也必须模拟自编程序,才能够是模拟智能系统与人类智能一致。请注意,这不仅不是扯淡,而且是必需,一定要这样做!这是目前计算机理论与实践没有涉及到的东西。
第二个有力武器是系统与环境(这个环境包括人类的教育与引导)交互过程中的学习。我在前面已经指出,这种学习与现在计算机学习理论中,把学习看成是对问题解的搜索是完全不同的学习。在我们的学习中,通过学习过程获得问题解并不是重要的事情,获得解决问题的经验(即获得一个解决问题的自编程序)才是学习的目的。学习过程既是一个自编程序的过程,又是一个使自编程序摆脱随机无限搜索的过程。
更为重要的是,模拟智能系统的这种与人类相同的学习能力,也给系统在人的教育下,不用程序员编写程序,能够自己越来越聪明,越来越能干。这就使我们的模拟智能系统从人编程序决定性能的状态下解放出来。这也是以前各种计算机理论与实践没有解决的问题。
第三个重要武器是能力的按层次生成。这里的能力也包括思维、情感和意识。按这个思路,系统的初始状态是一个像婴儿一样的无智力(或低智力)系统,但是它可以通过学习和自编程序,按一定层次渐次生成各种智力。所以这个系统的初始状态几乎解决不了任何问题,只有它经过学习渐次生成各种能力以后才会成为一个强人工智能系统。而且会强过目前的任何计算机。
显然,了解思维和意识是如何渐次生成的?是我们这个武器成功的关键。应该指出,这个部分的研究是冗长的、乏味的,仅在我们的思路中它就有几万字之多。但是没有对它的详细了解,我们则无法编写我们系统的母程序(人编程序部分)。
显然,仅仅就这三个重要武器而言,它已经完全改变了现有计算机理论的状态。而且不仅如此,它还会在其它问题上,突破计算机的传统设计思想。
那么,我们对传统的计算机思想还有什么需要改变的呢?
首先是要改变它成熟的建立数学模型的思路。我们以人工神经网络为例。它在人们对神经元和神经网络进行初步模拟后,马上建立起自己的数学模型,形成一个完美的理论体系,并且在编程运行中取得一些成果。但是实际上,在人们对自己的数学模型津津乐道的时候,在人们为数学与神经网络的完美结合而沾沾自喜的时候,人们已经偏离了大脑神经网络的实际,把大脑中不可能有的东西引入人工神经网络。从而使它走入绝境。
有人(特别是那些对人工神经网络深有研究的人)会认为,是别人的数学水平不够,理解不了人工神经网络的数学处理方法,才故意贬低它的。其实人工神经网络仅仅运用了理科大学生都学过得的数学知识,并没有什么不好懂的地方。其问题不在于它们的知识高深不高深,而在于它们与人脑的实际情况不符。
我们的世界是一个具有离散性的世界,大脑就产生于这个离散性世界之中,因此大脑神经结构遵循的只是离散性的规律。
人们在认识过程中由于测量手段的粗糙,提出了长度、重量、时间的连续性模型,并且由此抽象出连续性数学。尔后,人们沿着连续性思想发展了数学,出现了微积分、微分方程等高等数学思想。这些看来完美的数学理论,实际上仅仅是人类对世界的离散性测量不精确的表现。
随着人类测量技术的发展,人们必须用量子的概念描述世界,人们必须用测不准原理看待精确测量结果。这时,离散数学走上数学舞台。计算机理论也在离散数学的分支——自动机理论上发展起来。但是人们的头脑还停留在连续数学的范畴里,他们错误以为,有了用连续数学解释的完美理论,就一定是完美的计算机理论了。其结果是违背了大脑的离散性本质。
因此我们认为,我们要模拟人类智能,不是绝对不要数学模型,而是我们只要那些符合人类智能的数学模型,反对那些把不适合于人类智能的数学引入模拟理论的数学模型。
我们还需要对算法进行新的认识。
在图灵定义的算法中,没有对算法制定很复杂的规定,他只是指出在有限步骤内可以完成的过程是算法。它定义的图灵机本身也不具有计算功能,最简单的计算功能也是由编程完成的。
真正的电子计算机出现后,利用电子线路实现了数字计算,它使得现在计算机的算法与数学贴得更紧。在计算机理论的形成过程中,形式逻辑是构建起理论的重要依据。因此算法又都有照严格的逻辑体系。
然而,从算法本来的定义来说,它与计算、与形式逻辑都不形成必然的联系。但是人们目前评价一个程序使用的算法,往往还是看它与数学的联系程度,还是看它是否有严格的逻辑体系。否则就认为那种程序思想(或流程)不是算法。这种评价方式显然是不对的。
人的智能是自然界进化过程中自组织形成的,它并不遵守什么数学规则和形式逻辑规则。但是任何人类的智能都是由类似程序的操作过程完成的。它们都符合图灵的在有限步骤内完成的定义。它们的过程也都是算法,而且是不依赖数学和形式逻辑的算法。
那么计算机能否运行不与数学联系、不与形式逻辑联系的程序呢?如果能,那么不与数学联系、不遵守形式逻辑规则的算法对计算机就有意义(而不是不需考虑的)。
我曾经在另一个主题(他人发的)中举出一个初学者也可以编出的程序例子。那就是我们可以编一个程序,输入两个数字(例如1+1),可以得出等于不同值得结论(例如1+1=5、1+1=2)。这个程序以前不是不能编,而是人们认为它不合常理而不编。我建议编它,并不是说它正确,而只是说,数学上不正确的,不合逻辑的(两个对立命题同时成立)程序是可以编出来的,是可以运行的。
既然这种程序可以编出并运行,那么它的过程就是一种算法。我们这种提法实际是降低了算法的标准,但是同时也为我们模拟智能的算法打开的新的思路。那就是:我们不必拘泥于数学和形式逻辑设计我们模拟智能程序的算法,我们可以甩开任何人们习惯的算法的限制设计我们模拟智能的算法。
因此,尽管有些先生极力否定我的思路,但是我很赞同他的那句话:“任何‘新’的概念和方法,无论表面看起来多‘聪明’,只要没跳出现有的框框,就必然受到它的制约。”我要告诉他们的是:我们绝对不要用任何小聪明来解决模拟智能问题,而是要用突破现有框框的方式来实现模拟智能。
我们模拟智能,特别是模拟类似人类的思维、创造、情感、意识,实在是一项任重道远的大工程,要颠覆的传统思想实在太多。真希望多一些有志之士共同完成这件大事业!
作者:leekechen 回复日期:2006-5-9 10:16:17
-----
我们要模拟的是与人类一样有意识、有情感、有独创能力、能提出自己主见(甚至理论)的智能---强人工智能
-----
我认为要模仿人类智能,首先必须对人类智能下一个精确的定义:人类智能是一种时刻自发运行的、随身体状况变化而变化的、被情感所左右的创造性活动。这种创造性活动应该是对新知识的积累,旧知识的整理、在新旧知识的基础上再做出新的推断并验证推断的正确性的一种活动。
所以模仿人类智能,实际上应该就是对人类的创造性活动的模仿。只要实现了这个模仿,便建立了一个可以自我进化的模仿系统,可以预见若干时间后,这个系统必然可以进化到一个与人类智能无差别的程度。
作者:wonjean1983 回复日期:2006-5-9 10:51:08
如果创造出来,那么科幻电影中的好多场景将会出现.
作者:梦里幽魂 回复日期:2006-5-9 15:45:36
我看了,不是很懂,但有一点是现在在看来对的理论发展了今天的社会,从楼主的角度看这种理论一开始只是个限制模拟智能发展的框
框,哈,
作者:遥远的河流 回复日期:2006-5-9 15:48:29
楼主,加油,你从事的是伟大的事业,希望你能早日获图灵奖,为国争光,下一代的计算机是中国的。
作者:canoa 回复日期:2006-5-9 15:53:31
搂主高才阿,开拓了我的思路。
作者:yutou12 回复日期:2006-5-9 16:36:26
不从事这方面就没关注,LZ清醒了俺的头脑
作者:亮古子 回复日期:2006-5-9 18:43:49
这个~~~~~~~~~~~~~
好难好难
已经习惯了按逻辑思考
作者:打枪放炮 回复日期:2006-5-9 18:58:01
看完整篇文章,好像没有什么实质上有用的东西嘛
谁都知道人工智能最重要的是有自我意识,就是楼主说的“自我编程”能力,但是提出来要有,并不等于就已经有了啊???
就好像现在还没有一台能算出一个真正的随机数的电脑,并不是机器运算速度不够快,而是没有人能想出实现的办法。楼主你不能直接跳过最难的一步来想你的设计啊。
作者:有时沉默 回复日期:2006-5-9 19:27:04
好文,当顶!
作者:smartsky2006 回复日期:2006-5-9 20:21:49
楼住比较有思想,很不错
其实我认为,要解开大脑智能之谜,现在我们关键要在对计算的观念和理论和上有个突破和创新,要突破对计算的传统观念的认识,什么是计算,怎样看待计算?其实我觉得LZ并没突破传统的图灵计算观念。
作者:qqrabbit 回复日期:2006-5-9 20:24:59
基于算法来实现对智能的模拟的却具有一定的局限性,但是现在的问题在于怎样用一种方法来模拟人的不具备全局逻辑的,感性的决策过程,另外,如果决策推理情景为复杂环境,如何模拟这些环境呢?
对于自编程很感兴趣,能不能多说一下:)
我的研究方向与这个有一些些相关,欢迎联系啊justbreeze@sina.com.cn
作者:天鞋子 回复日期:2006-5-10 00:42:35
那种思维复杂的使人疯狂.
作者:天鞋子 回复日期:2006-5-10 00:48:54
计算机智能是没啥用处.
作者:jblue 回复日期:2006-5-10 03:33:42
我觉得人工智能的实现前提是分子芯片的实现,还有就是生物科技的突破,分子芯片就是利用微观分子做电信元,现在听说这个技术已经取得重大进展,另外生物科技的突破,可以提供利用生物细胞等元素作为永存体。分子芯片提供超级运算速度,生物细胞提供超大的永存空间,这两点是实现人工智能的“硬”前提(已经不硬了),剩下只有解决算法问题了。
我觉得要达到人脑那种逻辑和自学能力,庞大的数据库必不可少,如果这个数据库的存取速度不够快不够大,任何算法都是没意义的,而我所说的快和大,恐怕只有倒回到原始的概念去找,那就是生命体!
也就是,我认为最终真正又效的人工智能,其实只能由生命体去做,其实这也是为什么自然界会出现生命的原因,
作者:ygzw 回复日期:2006-5-10 8:43:06
这位仁兄好象研究很久了啊,不妨看看这里:http://blog.donews.com/ygzw/
作者:只有虚心才能进步 回复日期:2006-5-10 13:12:07
以后看
作者:逝去的童年 回复日期:2006-5-10 13:21:53
越来越难了:)
作者:jblue 回复日期:2006-5-10 03:33:42
我觉得人工智能的实现前提是分子芯片的实现,还有就是生物科技的突破,分子芯片就是利用微观分子做电信元,现在听说这个技术已经取得重大进展,另外生物科技的突破,可以提供利用生物细胞等元素作为永存体。分子芯片提供超级运算速度,生物细胞提供超大的永存空间,这两点是实现人工智能的“硬”前提(已经不硬了),剩下只有解决算法问题了。
我觉得要达到人脑那种逻辑和自学能力,庞大的数据库必不可少,如果这个数据库的存取速度不够快不够大,任何算法都是没意义的,而我所说的快和大,恐怕只有倒回到原始的概念去找,那就是生命体!
也就是,我认为最终真正又效的人工智能,其实只能由生命体去做,其实这也是为什么自然界会出现生命的原因,
作者:ruiaijun 回复日期:2006-5-10 13:29:51
一、自编程序技术。
1、自编程序的基本要点。
下面我们看一看现在所有人工智能程序整体的不足:它们是采用由研究人员分析人类智能的特点,然后把这些特点模型化、算法化,有时还采用一些数学理论进行处理,最后编成程序。一旦程序编成,系统就会按程序固定的方式进行智能处理工作。既不灵活又受编程人员对智能认识的限制。
而人类智能是灵活的,它可以随情况的变化想出新的处理方式来。先不考虑这个“想出”的来源,就是这种现象也表明人类智能不是按某些固定的方式进行操作的。我们首先要由此开始模拟人类智能。
智能的本质是大脑的某类操作能力,某些对信息的操作能力,在计算机中,操作是由程序实现的。因此我们首先把智能与计算机某些程序对应起来(我们先不要在它们是那些程序上考虑),人类智能不断出现新的处理方式,相当于计算机不断自己编写新的程序。于是我们模拟人类智能的思想先(仅仅是“先”,还有很多“后”,否则智能问题就太简单了)要解决计算机自编程序问题。
如果从目前计算机程序语言考虑,问题就麻烦了。比如我们用C++语言自编程序,就会出现如何让计算机理解语言、语法?如何设计程序?如何调试程序?而这些则首先需要计算机有较高的智能才能做到,我们便陷入一个不能前进的死胡同。
但是我们观察我们肢体活动的过程,就会发现那不过是一些小动作的直接连接。按照这种观察。我们可以得到这样一种编制程序的方法,首先编写一些成功运行的小程序块,然后用把它们前后连接的方式组成大程序。这就是我们需要的自编程序的方法。
循环怎么办?条件转移怎么办?我们还以肢体活动为参考,肢体活动是在大脑指挥下工作的,肢体活动程序是按大脑指挥调用的,这与计算机程序不同。计算机程序一旦运行,程序便取得完全的控制权,没有另外的东西监视控制它,必须由程序中的循环、转移语句控制程序的流向。我们模拟人类智能,也要另设一个控制运行的系统,因此自编程序中不需要有循环和转移存在,这样就不必考虑程序编写时由这些语言造成的死机问题。
到此,我们已经解决了计算机模拟人类智能的自编程序功能的程序结构和编写方式问题。预先设置一些小程序作为自编程的原材料,然后用把它们连接到一起的方式编写程序。(其实我们使用的高级计算机语言,也是预先编制好很多小程序,用高级计算机语言调用它们,我们写的高级语言源程序也是对那些小程序的一种连接。)
但是我们这样还不能真正的让计算机自编出程序来,因为还有一些重大问题我们没有解决,程序将如何产生?程序产生后将如何调试?我们以后再介绍。
2、自编程序是系统自主功能的基本体现。
我们为什么从自编程序开始讨论模拟智能呢?因为能够按自己编写的程序工作是生物体的基本特征。只有从模拟生物体的基本特征,我们才有可能模拟生物人类的智能。
为什么我们说,自己编写程序是生物体的基本特征呢?这里我们的对程序概念已经作了扩展。我们把生物体内的刺激信息扩大为“指令”,我们把生物体在内部刺激下进行的活动扩大为“操作”。把生物体内部产生刺激进行活动的方式叫做“程序”。也许在低等生物体内不存在这种程序,但是我们要用机器设备模拟低等动物也只能采用程序实现。因此我们的概念扩大对模拟有实际意义,也许对生物研究是没有意义。
我们知道生物体不仅仅是有机体,而且它是有自主活动能力的。最低等的微生物有自主活动能力。在生物体的活动中,它也能够按照自己的“意愿”进行活动。我们把意愿两个字用引号引了起来,因为微生物、低等动物不可能产生意愿。生物特别是动物的自主活动,可以设想为是由我们扩大了概念的程序进行的,而这些程序则是由动物们根据环境自己编写的。
考虑到微生物和低等动物也有自主活动能力,即也有自编程序功能。微生物和低等动物连神经系统都没有或很不健全,这种自编程序的能力,不会是由智能完成的。一定是由一种毫无智能的机制完成的。
我们就是要探讨一种不依靠智能就可以自编程序的机制,由计算机模拟这种机制,实现自编程序。那么计算机就会在它产生智能之前具有自主能力,进而在自编程序的支持下,使计算机系统产生智能。
这样一个模拟智能的思路,显然与以往的任何模拟人类智能的思路都不相同。因此我们可以说,这是一个全新的、前所未有的模拟智能的思路。
我们把前面的叙述在总结一下:生物体,特别是动物体,都可以具有自主活动能力,这种自主活动能力可以设想为它具有一个无智能的自编程序的能力,动物们就是在这种自编程序能力的基础上发展出智能的。因此我们要模拟人类智能,首先要使计算机具有自编程序能力。
这也是在我们的思路中,首先讨论计算机自编程序的原因。
3、这里自编的程序与原来计算机程序的异同比较。
通过上面的叙述,我们可以看出这里的自编程序与目前计算机的程序有很大差别,也有相同的地方。
首先看相同的地方:这里的程序也是由计算机执行的,因此它的基本元素还是计算机语言。
但是这里的程序还有很多与计算机程序不同的地方。a、在这种程序的基本单元是建立在计算机语言之上的小程序,这些小程序必须能够独立的成功的运行。b、编写程序只需要对小程序进行简单的连接,编写程序是不需要高智能的参与。c、在这种自编程序中没有流向控制,因此程序不会因为流向问题而出现死机。d、因为程序中没有流向控制,程序的流向还要由主系统控制,编写后的程序不象目前计算机程序那样可以获得对计算机的完全控制权,而是在主系统的监视和控制下执行程序。
由于这种自编程序的这个特点,因此它的能力就完全受到小程序的性能的限制,只要小程序选择的适当,很难出现失控(计算机的运行超出控制者的控制)的情况。当然由于程序的控制权在主系统程序手中,主系统的编写会使智能系统具有主动性和自主性,然而这正是我们需要的。要是担心系统会失控要从主系统的编写(它是人编程序)入手。
4、自编程序母程序的选择。
自编程序是一种基本技术,它可以应用在各种形式的智能系统之中,这就是我们这里要介绍的自编程序的目标选择。可以这样说,目前的任何一种人工智能程序,加入我们介绍的自编程序技术,都可以使该智能系统的智能得到在工作中的改善提高的效果。表面看,我们用一些已经成功运行的人工智能程序(如一些专家系统程序、一些推理机程序、一些人工神经网络程序)加入自编程序技术,进行程序的改进和提高,比较容易见成效。然而由于他们的程序在原理上与我们的自编程序有所不同,往往很难从他们的程序中分解出直接连接不用流向控制的小程序(这里的小只是相对于自编程序而言,有时并不真小)。因此无法实现我们意义的自编程序,以改进这些人工智能系统的性能。
另外,很多人工智能系统程序都有自己的专利保护和加密措施。我们把他们的程序改进为自编程序的系统及会遇到侵犯人家专利的问题,又会受加密的影响而无法掌握人家程序的核心,从而使我们的改进措施无效。所以我以为,虽然在目前的人工智能系统上添加自编程序技术以改进和提高它们的性能,是最简便易行的方法,但是实行起来的难度却是最大的。
因此我们可以以语言系统为目标,构建以自编程序技术为核心的智能系统是目前较为简单的方法。它是以各种语言为处理对象,以自编程序为处理语言的程序。以实现图灵检测似的人际交流,并在收集人类知识的基础上提出自己见解和观点为智能目标的强人工智能系统。表面上看,这种强人工智能除去野心比目前的自然语言理解系统大以外,没有多少差别。但是实际情况却不同。由于自编程序技术的基点是系统自己生成能力,因此在编写系统程序时,我们根本不必考虑系统的词汇库问题,不必考虑系统的语法和语言逻辑问题。这些问题完全由系统在学习中自己解决。我们在编制系统程序(它一定要由人来编写)只考虑系统的理解能力、表达能力、提出解决问题能力、自主决策能力是怎样来的,而不必为系统考虑理解能力、表达能力、提出和解决问题能力、自主决策能力的程序是什么样子。大家应该注意到,这是一个与现在编程思想绝对不同的一种新编程思想。
我们还可以以神经元信息为目标,构建智能系统。它比以语言为目标的系统要复杂一些,但是它与人类智能更加接近。因为神经元信息中包含着感觉信息,这就使我们的智能系统可以实现由感觉到提出理论的全面的类似人类智能的模拟。也就是说,我们的可以使我们模拟的强人工智能由感觉获得的信息一直到把它们加工为科学理论。
在以神经元信息为目标的构建智能中又有以模拟反射为基础和以模拟神经元网络为基础两种,以模拟反射为基础与模拟神经元为基础的区别在于,反射只考虑大脑神经联系的起点与终点,不考虑中间的传递过程。神经元网络则需要考虑信息传递的所有中间过程。
5、自编程序的产生和检验。
我们前面已经指出,用自编程序作为切入点可以解决智能系统的灵活性问题。同时我们也已经对程序的结构进行了新的解释,使我们现在的程序可以方便地由计算机自编。但是程序的是怎样产生的和程序产生后如何调试的问题还没有解决。显然这两个问题不解决,你就是把自编程序吹得天花乱坠,也不能解决智能问题。
但是我们也应该看到,我们现在确定的程序是由一些能够成功运行的小程序直接连接而成的,在这种程序的结构中,没有控制程序流向的转移和循环。这样一种程序可以在无智能或智能很低的情况下编制和调试。这也是为什么我们如此限制自编程序的结构的主要原因。
下面我们首先介绍一种没有智能情况下自编程序的过程。
我们考虑这样的情况,我们面前已经有一些能够成功运行的小程序。如何把它们连结成大程序呢?我们可以用一个随机组合操作。随便地把一个小程序与另一个小程序连接起来,这种随机地连接当然不需要什么智能。它是连接出来的东西也不能够正确的执行什么任务。我们就把这种操作作为自编程序的第一步。
第二步是把连接的东西记录下来,以便使系统知道已经做过那些连接。我们把这种记录叫做印象程序。
第三步是把这个程序拿去执行,并由人或系统自身(由人监视的系统功能比较简单,但是自动化程度差。自身监视的自动化程度高,但是系统的结构会几倍的复杂。)监视程序的执行,把执行结果通知给系统。
第四步是把成功的印象程序保存为最后的程序,这种程序叫做经验程序。
如果连接的程序执行不成功,就进入第五步。那时就返回第一步重新随机连接小程序,重新形成印象程序。同时把不成功的程序纪录为负经验程序,也就是失败的印象程序。在重返第一步随机组成新程序后先把新组成与负经验程序比较,如果相同,就把它否定掉,不进入第二步(纪录为新印象程序)。只有那些与负经验程序不同的才被记录为新印象程序。然后继续执行第二、第三、第四步。如果再次不成功,就再次返回第一步。直到找出一种成功的随机连接后的程序。
上述过程也是一个计算机程序,它就是系统程序的一个核心部分,它是自编程序的母程序。我们可以把上述过程作为一个流程为计算机编写自编程序的母程序。这个母程序可以同时完成自编程序的编写和调试工作。
上述过程的核心操作是随机连接,因此完全不需要有智能的参与,就可以自编出新程序来。因此可以成为我们由无智能状态产生出智能的基本系统程序。有关智能的操作,都可以有这个无智能的自编程序系统编出。
当然我们也可以看出,这个自编程序的方式产生一个新程序的速度会很慢。它要在大量随机连接中通过试运行选择出能够运行的新程序。如果我们的模拟智能系统的全部能力都靠这种方式编写程序,那么系统生成智能的速度就会太慢了。因此我们还要通过其它方式为我们的模拟智能系统实现自编程序。
我们把我们的模拟智能系统自编程序已产生新的能力的过程叫做学习过程。
6、组合不爆炸。
在计算机理论中流传着一种组合爆炸的说法,这种说法是组合就会引起组合出的东西无限增加,最后导致组合成为计算机无法承受的操作。人们把这种计算机无法承受的组合叫做组合爆炸。
在上面我们介绍的无智能自编程序过程中,核心操作是随机组合,于是有些人又会提出组合爆炸的老问题。但是凡事都需要具体事情具体分析。如果组合时的元素(组合所用材料)数量很少,组合就不会爆炸。
因此在自编程序随机组合小程序时,如果选择的小程序是围绕找一个目标进行的,而不是漫无边际的选择小程序,那么组合采用的元素就会很少,就不会出现组合爆炸。这就是组合不爆炸。
在上述自编程序的母程序设计中,我们设计了印象程序,负经验程序,也是为了减少在自编程序时,重复那些不成功的组合。加快随机组合的时间。这一切都会使我们的随机组合不连带着组合爆炸。
那么更复杂的程序系统能不能自编?如果采用随机组合确实不能自编复杂的程序。因为程序一复杂,组合形态必然增多,就有可能在组合与选择的过程中出现组合爆炸,或叫做搜索不收敛。
但是,我们的自编程序不是干别的用的,它们是生成智能的,是自编智能程序的。在一些自编程序完成后,系统已经具有了智能(依据这些自编程序生成的智能)。因此,更复杂的自编程序,就不再采用随机组合的方式,而是经过智能程序的操作进行的自编程序了。它们显然不会出现随机组合那样的组合爆炸了。
现在的很多人工智能程序,它们不能进行自编程序,因此它们只能按程序员的意愿,运行人编的智能程序。也不能在原来的智能程序的支持下,进一步自编更复杂的智能程序。那些智能程序,不具有自动进步、自动发展的性能。
而我们模拟智能系统,因为它们具有自编程序的能力,初级智能程序是自编的,自编的智能程序又使系统摆脱了随机组合程序的落后状态,从而保证了系统自编程序时不再出现组合爆炸。我们的系统的运行就能够保证它的收敛性。它又在组合不爆炸的情况下,编写出更复杂的智能程序,使系统的智能不断进步。
显然,我们这种自编程序的系统,自编程序不仅是系统自主活动的保证,而且也是系统不断进步的保证。需要指出的是,系统的不断进步,必须有系统与外界的交互作用,在交互作用中编写的程序得到检验和纠正,使我们的系统得到正确运行的程序。这个系统与外界环境交互作用的获得正确程序的过程,我们叫做学习过程。
下面我们就讨论系统的这种学习过程。
7、关于停机问题的讨论。
在我提出自编程序技术后,曾经在人工智能网上有过激烈的讨论。有人认为这种编程方式像要解决被图灵等计算机先驱们提出不停机问题,因此这种技术是不现实的。
在这个讨论中,我们分析了自编程序的程序特征,它仅仅是用一种较为特殊的程序语言,在一定程度上避免了死机问题。并不能彻底解决不停机问题。因此与图灵的判断并不矛盾。
程序的无休止循环,是造成程序不停机的一个原因。由于计算机自己无法对自己运行的程序进行判断,因此它不会自动解决不停机问题。但是,我们在系统无智能的情况下,让它采用随机手段编写出没有循环和分支的程序,这种程序就不可能产生死循环了,因此就不会不停机。
至于需要反复运行时,需要转移运行时,我们已经指出它是由母程序控制,每需要反复一次(或需要转移时),母程序就调用一次自编程序,并在检验运行结果后决定是否再重复(或转移)。这样就不会在自编程序中出现不停机程序。
由上面的过程可以看出,我们并没有解决计算机的不停机问题,只是采用了一个特殊的程序语言,使自编程序不出现不停机问题。显然,如果因母程序的运行出现不停机问题,计算机还不能自行解决。因此我们并没有违反图灵对不停机问题的判断。
计算机还有更大的不停机问题,就是它对所需解决问题不能收敛,造成它的不停机。这种不停机问题实际对于生物体也是存在的。生物体是靠群体的偶然和个体的学习解决此类问题的。一个个体可能解决不了问题,如果把一个生物个体看成一台计算机,那就是它个体程序运行出现不收敛。例如,陈景润在解决哥德巴赫猜想时,仅仅证明了一加二。就是他在解决问题没有做到完全收敛。但是他以前的数学家,连一加二都没有达到,那表明他以前的数学家个体比他的收敛程度更差。但是从数学家群体看来,他们每个人的出现是偶然的,但是互相连接起来,使哥德巴赫猜想趋向收敛。
既然生物解决问题的收敛性如此,我们也不应该要求一台计算机解决问题一定要收敛,不同计算机因为处理问题的方式不同(显然采用同一方式运行的若干计算机不在此列),可能收敛目标不同,而计算体群体,就会共同向问题的解决前进。即便有些问题一时无法解决也不要苛求计算机,要允许计算机有等待问题解决的时间。就好像目前数学家们正在“等待”(在继续研究中“等待”)哥德巴赫猜想的最后证明结果一样。
作者:xieshxi 回复日期:2006-5-10 14:11:52
高人,45度仰视!
作者:wuchonglya 回复日期:2006-5-10 15:52:45
地球就是被LZ等狂人所毁灭的~。。。。
作者:116319393 回复日期:2006-5-10 16:58:46
回下,慢慢看
作者:linshenghao 回复日期:2006-5-10 23:35:37
人工智能远不仅仅是计算机科学的问题,
也远远不是数学的问题.
要解开人工智能的奥秘,必须进行足够深度的自我反思,而不是玩弄那些数学概念.
作者:星虚 回复日期:2006-5-10 23:56:36
刚看一本叫《人工智能》的书,第四章讲了机器进化,与楼主的自编程序技术有相似点。
作者:jujuyang 回复日期:2006-5-11 00:27:05
楼主的办法工程太大,耗时太长,
我教你一种方法,只用十个月就可以搞定......
作者:ruiaijun 回复日期:2006-5-11 1:52:21
二、模拟智能系统的能力学习技术。
1、模拟智能系统的学习是完全不同于计算机学习理论的学习。计算机学习理论沿用人编智能程序的老思想。他们提出学习理论也是为了让计算机模拟的智能更灵活,解决问题更好。有时用人力来解决问题费时费力,想发挥计算机的高速特点。因此初衷不是坏的。但是他们定义的学习把方向搞偏了。他们为了计算机理论的方便主观的定义了学习,学习成了一种解决问题的过程。成立一个搜索问题解的过程。因此我认为他们是对学习概念的歪曲。
那么什么是学习呢?学习是学习主体通过与学习客体相互作用,获得学习对象的过程。学习主体也叫学习者,它可以是人、动物和一切具有学习能力的设备。学习客体也叫学习环境,它包括环境对学习主体的一切作用。学习对象是学习中获得的东西。它包括能力和资料两大类。以往的学习理论都很轻视能力的学习,包括教育理论研究的学习也是这样。而我们认为学习中获得能力是智能的关键。智能本身就是一些能力,它在人类个体出生时是没有的或不健全的(动物也是这样),就是靠在学习中不断获得智力操作的能力而使智能产生的,使智能发展的。而对于计算机系统来说,在学习中获得能力与该计算机能够自编程序是一个含义。
计算机学习理论定义的学习,是把计算机作为一个单纯的工具,让计算机替编程者解决问题,这种计算机的能力是研究者或程序员编写进去的。使计算机有一定的学习能力,也是为了解决问题的方便。然而这种对学习概念的歪曲,就扼杀了学习的最最主要的功能,也就是在学习中自编程序(获得能力)的功能。
因此凡是熟悉或学习过计算机学习理论的人,在讨论我们的学习过程时,一定要明确它们是很不相同的概念,不要用计算机学习理论中的学习,往我们讨论的学习上硬套!
2、自主学习过程。
我们在前面所说的由随机连接小程序来自编程序的流程,我们叫做自主学习过程。这种学习过程的在人类遇到前所未遇的问题时,也会采用这种方式,比如有些问题拟按规律考虑不出结果,你就可能瞎猜,这种瞎猜就类似于前面的随机连接。
自主学习过程是有实验基础的学习。它就是桑代克迷笼实验。
桑代克实验是最早使动物自己学会动作的实验。在当时引起很大的轰动。他能够让猫自己学会打开笼子,那时是很稀罕的事情。
这个实验现在看来就不再那么神奇。不过桑代克当时能够想出这个实验的确不简单!桑代克准备好一个装有开门机关的笼子,这个笼子后来叫做迷笼。他把饥饿的猫放到笼子里,关好门,笼外放上食物。然后观察猫的动作。起初,猫胡乱的动作,根本无法打开笼门的插销。经过很长时间后,猫偶然碰到笼门的插销,把门打开。观察者统计这段动作的时间。
然后把同一只猫在饥饿时再次放到笼中重复这个实验。观察猫的动作并统计时间。可以看到猫继续用胡乱的动作试图出笼。并最终偶然打开笼门出笼吃食物。这个过程进行多次后,就会发现,猫的错误动作越来越少,从放入笼子到出笼的时间越来越短。最后,猫可以在一放到笼子以后,马上打开笼门,跑出笼子吃食物。这表明猫已经通过大量的胡乱动作,经过学习学会了打开笼门的动作。
这个实验的重要在于它是猫在没有任何模仿或引导的情况下,自己学会了打开笼门。由于这个学习完全是胡乱加偶然,显然是不需要任何智能的学习,而形成的经验是比较复杂的操作。它为我们指出了人类个体完全可以通过这样的方式学习,从无智能到有智能,从无意识到有意识。我对婴儿动作学习的观察,也证实了这一点。
我们应该看到,猫学会打开笼门的动作完全是自己独立学习而成的。人为的实验条件只是对猫学习的环境设置,在实验中人不能通过任何方式引导或诱导猫学会动作。因此猫在学习中完全是自主的。我在我的学习理论中,一直把桑代克类型的学习过程叫做自主学习过程。
为什么叫它为自主学习过程呢?桑代克实验表现出的学习,是在机体对一件事情毫无经验的情况下进行的。没有经验,它就用胡乱加偶然的方式学习经验,形成应付环境的操作方法。这个过程没有任何其它什么来教它,甚至不用同种类的生物来教它,显示了系统完全的自主性。
这个实验提示我们,如果要求一个系统摆脱人编程序的限制,就必须让它能够学习,这种学习不是为了求某种解的答案,而是学会一种解决问题的操作,并且以后不断使用这个操作解决问题。这种学习是一种能够自编程序的学习。而自主学习过程是系统自主独立的一种模式。一个计算机系统,如果其底层的程序不编写任何智能,而是靠自主学习积累经验,自编程序,那它就会发展出智能,并进而发展出高级智能。计算机通过这种模式,其系统可以不用人编智能程序,而在遇到原来没有遇到的事物时,通过胡乱加偶然,形成新的程序。于是系统就可以摆脱人编程序,自主地产生出智能了。
当然,如果所有后天性的程序都用胡乱加偶然的方式,系统每形成一个程序都会很慢,要系统学会人类智能是不可能的。其实这并不是问题,人类个体如果脱离人类社会,独立通过胡乱加偶然的方式学习,也不会产生人类智能。狼孩、野生儿、囚禁儿不能产生人类智能,就是这个道理。胡乱加偶然的方式只是系统的一个独立自主的方式,完全掌握人类智能,还需要学习人类的知识和经验。
3、自主学习过程在自编程序中的发动机制(需要机制与奖惩机制之争)。
我们在前面已经片断地介绍了由自主学习过程实现电脑自编程序的母程序流程。它并不完整,因为它没有发起和终止程序编写的部分。
我们知道,传统的计算机程序都是由程序操作人员或用户来发动它的每一个程序的运行的。而人类智能则不可能是由其它人来发动的。它是大脑自主发动的。是什么东西是大脑自主地发动它的活动呢?我们认为使大脑自主发动活动的是需要机制,需要机制的初级形式是欲望,也就是说需要与欲望是一回事,欲望是一种低级需要而已。
在这个智能系统的驱动力问题上,我发现人们有很大的争执,不少人认为这个发动机制应该是奖惩机制。于是我们对智能系统自编程序的讨论,不得不转向对系统驱动力的研究。
首先我们回忆一下奖惩理论的来源。
在桑代克迷笼实验成功以后,他对自己的实验提出解释。他把这个实验的过程叫做尝试错误学习。他认为猫学会动作的原因是奖励,也就是猫在打开迷笼后获得食物,获得了食物的奖励。而这种奖励使猫学会的动作得到渐渐的巩固。就此他提出尝试错误的驱动力是奖励与惩罚,并确立了自己的奖励与惩罚理论。
他的奖励与惩罚理论由于迷笼实验和一系列白鼠走迷津实验的支持,在当时很有影响。但是后来被认知学派的托尔曼用实验证伪。
托尔曼设计了一个实验,他让两组白鼠学习走迷津。迷津中设置着较复杂的道路,在其中一个地方放有食物(每次都放到同一地点)。学习的目的是让白鼠学会从迷津中迅速的找到食物。所以采用一组(即不止一只)白鼠,就是为了计算学习所需时间,取统计的结果。这两组白鼠一组是对照组,这一组从实验一开始就在迷津中放好食物。另一组是主要实验组,开始在迷津中不放食物,这样白鼠会没有奖励地在迷津中白跑。到实验中期再在迷津中放入食物,让白鼠进行找到食物的学习。
如果桑代克理论成立,奖励是学习的关键因素,那么主实验组的白鼠会因为最初没有奖励,什么也学不到,它们的学习时间等于比对照组的少。显然最后学会的时间要比对照组长(把白跑的时间也计算在内)。
然而托尔曼实验的最后结果是主实验组比对照组的学习时间要短。这说明在白跑过程中,尽管没有奖励,白鼠也在学习迷津里的道路情况。从而证明奖励不是学习的关键因素。推翻了桑代克理论。
托尔曼是认知学派的,他的解释是在白鼠最初的学习中,头脑中形成了对道路的认知地图。至于为什么形成这个地图,他认为这是白鼠本来的欲望。
我认为托尔曼实验的意义就在于它推翻了奖励是学习的关键因素。
但是,奖惩理论并没有因为托尔曼实验对他的证伪而退出心理理论。这是因为桑代克属于心理学行为学派,托尔曼属于心理学认知学派,两派谁也不服谁,各自坚持各自的说法。他们的观点又分别带到人工智能理论中来。于是在一些人工智能理论中,奖惩理论还有它的市场。
由于托尔曼对他的实验解释得也不好,我就用需要机制来代替托尔曼的认知地图理论解释托尔曼实验。需要机制理论是这样:机体发动活动(活动的驱动力)是有需要机制完成的。当机体产生需要后,便会在机体内寻找经验进行活动以实现需要,如果没有相应经验,就会发动学习活动积累相应的经验。
4、需要机制的计算机模拟。有很多人认为计算机不可能有自己的欲望,这是一种对计算机的误解。不是计算机不可能有自己的欲望,而是编程者不想让计算机有自己的欲望。我的这种说法绝对不是我个人的想象,请看下面的证据。
在现在的计算机程序中已经表现出程序的一些需要。例如当程序需要你输入一些指示时它会提醒你,并等待你的输入,你输入的东西满足它的要求后再继续后面的运行。你输入的东西不满足它的要求,它就拒绝运行或再次提示你。当然,这种程序的需要,是编程人员为了自己程序目标设置的需要,不是计算机自身的需要。但是既然我们可以在编程时为程序的目标设置需要,也就可以在编程时考虑计算机自己的需要是什么,为计算机设置自己的需要。这就会使计算机具有了自己的欲望。当然这里所谓的计算机自己的需要还是靠程序模拟出来的,而不是计算机自己生长出来的。
从理论上讲,计算机模拟的自己的需要,可以完全与人类一致。比如人们往往最常用来调侃的问题就是:计算机能够有性欲吗?其实从理论上是完全可能的。它也可以分不同层面的模拟。比如仅在语言层面上模拟,你可以分别编制女性程序和男性程序。你可以使不同程序在不同性需要的驱动下,对异性语言感兴趣,愿意与异性(人或程序)交谈。也可以进一步为机器人编制不同性别的程序,完善它们的外设结构,使它们可以在性需要的驱动下与异性交往。当然,理论上的可能必须与实际的需要相一致才能转化为商品。如果实际上我们并不需要有性别的计算机,那么它们就不会出现在市场上。
那么在程序中需要机制是什么样的结构呢?简单的需要机制就是一些专门设置的双值变量,我叫做需要变量。一个值表示需要的满足,另一个值表示需要的不满足。一个计算机系统具有多种需要,就为它设置多个需要变量。需要由模拟感觉机制或一般的计算机输入系统激发(激发方式根据程序目标确定),激发时把需要变量置“1”,表示需要的不满足。再由这个不满足态发动系统内的相关程序以满足需要的活动。(例如我们设计这样一个有趣的小程序,设置一个饥饿需要,当外部输入一种食品词汇时,就激发了这个饥饿需要,饥饿需要的1值就会搜索并调出系统中一些有关食品的词,当调用完成后,程序自动把饥饿需要置0,此项需要终止。如果我们为这个程序设置多种需要,我们用不同词汇引诱这个程序,就会看到程序在自己的需要的驱动下,为我们调用出不同满足需要的词汇来。)
复杂的需要变量应该是一个多值不连续的变量,不同值表示不满足或满足的不同程度,它们也相应表示出该需要激发后调用程序的优先响应级别。
更复杂的需要机制应该能够以基本需要(原始欲望)为基础,产生出一些高级需要,组成由低级到高级的需要层次。这种复杂的需要机制,有一个专门的理论支持,那就是“需要在学习中生成理论”,我们在较后的时候再作详细介绍。
5、需要机制与奖惩机制有什么区别?
如果简单的分析,把需要的满足于奖励对应起来,把需要的不满足于惩罚对应起来,那么需要机制与奖惩机制几乎一样。问题是这样的分析有一个缺点,它忽视了惩罚只是需要不满足的一种形式。惩罚不等于没有得到需要。惩罚往往是得到了与需要相反的东西。而相反的东西作为惩罚,虽然会起到禁止机体的一些行为的作用,但有时也会起到机体反抗行为的作用。用奖惩机制代替需要机制,就会使我们的模拟智能系统失去模拟后一种现象的机会,就会使模拟系统显得太乖了!不能具有强烈的个性。
另一个问题是托尔曼实验指出的事实,在需要没有得到满足的学习中,系统也能够通过大量的反复得到一些与需要满足无关的东西,这些东西可能暂时满足不了此需要,但是日后会满足另外的需要。因此用需要机制作为系统的内驱力,系统会显示出一种无意识的“远见”。而用奖惩机制代替需要机制,没有奖励,学习即告失败,它就会使系统呈现出一种无意识的“短见”。从发展前途看,显然有“远见”的系统比“短见”的系统获得的能力更多。
因此我认为有些人以为两种机制差不多的看法是错误的,就以上的分析看,从将来的程序结构看,需要机制不会比奖惩机制复杂,但是从能力看,需要机制的系统就会比奖惩机制的系统强很多。因此我主张采用需要机制作为系统的内驱力,而反对用奖惩机制作为系统的内驱力。
作者:刘大胡子 回复日期:2006-5-11 10:29:16
留名·学习
作者是哪里的哦·搞啥的呢
作者:是否正人君子 回复日期:2006-5-11 15:55:43
厉害。
不过不能理解。
作者:amingsc 回复日期:2006-5-11 23:41:37
----------------------------
看了LZ的“自编程”,感觉跟现在国内外有些人研究的那些自动程序
设计差不多,觉得也没啥“智能”,因为从根本上来说采用的还是目前的经典智能模型,主要是进化计算和神经网络;
个人以为:一个模型要称得上具有智能,必须要求模型能通过计算修改模型本身,否则模型固化的是人赋予的行为,人的智能;
至于神经网络嘛,有人吹得天花乱坠,我看跟线性回归模型没有本质区别,我不相信有人会觉得线性回归模型有智能!
中文人工智能讨论组(欢迎关注智能科学的订阅邮件列表):
http://groups.google.com/group/ai-chinese?lnk=oa&hl=en
-----------------------------
作者:ruiaijun 回复日期:2006-5-12 3:33:38
二、模拟智能系统的能力学习技术。
6、完整的自主学习过程。
我们在花费一些篇幅讨论了系统活动的内驱力以后,就可以回过头来继续讨论系统的自主学习能力问题。自主学习能力是由人编程序完成的,它是我们说的母程序中的一部分。这种能力与人类出生后的先天性能力相当。它本身不是系统自编程序的一部分。
从我们前面的介绍的学习过程流程可以看出,自主学习能力是一个具有循环结构的程序,因此它也不具有我们提出的可自编程序的特征。完整的自主学习能力程序基本就是按前面介绍的流程编写的,只是要在那个流程的前面增加一个需要机制中需要变量发动学习,每一次学习成功,要由成功信息为需要变量置零,由需要变量的满足终止一次学习。由多次学习确认自编程序的完成,形成可调用的自编程序。
自主学习能力是一个循环反馈程序,其循环性我们可以从前面的介绍中看出。其反馈性是由输入信息来确定自编程序运行的效果。反馈机制的结构要看计算机的结构确定,如果计算机只是一台家用微机,那么只好靠人用键盘或鼠标来输入反馈信息。如果计算机系统有模拟感觉的机制,那么就可以自行获得反馈信息来进行学习了。显然后者与人类智能更加相像。我们在提出理论是并不具体要求使用计算机的形式,就是为了使我们的模拟人类智能系统有更强的适应性,使他在任何情况下都能够表现出较好的智力水平。
这里大家要注意一个概念的使用,我们一直把程序叫做自主学习能力程序,而不叫做自主学习过程程序。因为学习过程是由具有学习能力的学习主体和学习环境共同作用的过程,在我们的学习过程理论中,没有学习过程程序。学习过程也不是个程序。更清晰地说,学习过程是一个比程序大得多的概念。而计算机学习理论是把学习编写成程序的,这也是我们的学习过程理论与计算机学习理论完全不同之处。
自编程序的调用是由系统程序(它也是人编程序,涵盖着母程序)实现的。在需要产生时(需要变量被输入信息置1时)系统程序首先发动检索自编程序的操作,如果有自编程序可以满足需要,就优先调用自编程序。如果没有自编程序满足需要,就发动自主学习活动自编满足需要的程序。系统程序的这一部分,就保证了自编程序的调用。其结构显然非常简单。
7、自主学习过程的进一步完善。
A、基本途径说明。在上面的讨论中,有一点我们要非常清楚,自主学习过程虽然可以自编程序,但是其编程效率非常最低。如果我们的系统只有这一种学习能力,其发展到人类智能很有可能要经历人类智能发展史所需要的时间,这是我们绝对不能忍受的。因此系统的学习能力要进一步完善。这里我们首先要讨论在自主学习过程基础上的完善。
这个完善途径有两条。一条是在原来自编程序的方式基础上的提高。另一条是增加伴随学习过程。
B、在原来自编程序方式上提高。在原来自编程序方式上提高,还有两个途径:一条是提高小程序的级别,另一条是充分利用负经验。
C、什么是提高小程序的级别?小程序是人编程序,它们是我们经过充分考虑编写出的生成思维和意识的基本程序。在初步的自主学习过程中,这些小程序连接起来,成为自主学习过程自编出的程序。这些程序不仅可以用来实现特定的需要,也可以被自主学习能力中的随即操作调用来执行其它任务,通过效果检验确定能否成功。这种随即调用来执行其它任务是在模拟心理活动中的经验移用(把一种经验用到其他方面)。移用是一种重要的心理活动现象,它对于智能的形成具有非常大的意义。
自主学习能力的随即操作还可以把自编成的程序作为小程序来使用,把它们连结为更大的程序。这样,自编程序使用的小程序已经不是原来意义的小程序,而包括已经自编出的程序了。这样既扩大了编程时用小程序的数量,也提高了编成的灵活性。我们所说小程序级别的提高,就是说原来意义的小程序提高为自编程序。这个提高可以反复,也就是说凡是以前自编出的程序,不管它是由基本小程序组编的,还是有自编程序再次组编的,都可以继续组变成更大的程序。这种组编也不会出现组合爆炸的现象。因为对失败程序的负经验纪录,排除了大量不合理组编的出现。
D、充分利用负经验。充分利用负经验,是把负经验纪录的失败程序作为禁止的组合,这样就会在无智能的情况下,使胡乱的组合变得有序一些。同时会减少大量重复组合出失败的程序的浪费。但是也会出现一个问题:就是失败的组合有时只是在一种条件下失败,在另一种条件下还会成功,禁止它再次出现,就会使这种组合失去在相应条件下成功的机会。这在无智能情况下是不可两全的事情,要么不惜浪费时间,要么牺牲一些组合方式。这种情况在有智能情况下也难免,如果我们清楚一个程序失败的条件和成功的条件,就可以两全;如果我们不清楚程序的成功条件和失败条件,也会面临不能两全的局面。我们的程序选择牺牲失败程序的方法。但是并不绝对禁止,留待智能生成后再去分析条件,再启用一些有潜力的失败程序组合。
E、加入伴随学习能力。
伴随学习现象是由托尔曼实验证明的,我们在前面介绍托尔曼实验时只介绍该实验对奖惩理论的证伪作用,没有解释白鼠在没有奖励的情况下,反而学习更好的原因。在托尔曼实验中,白鼠学习的更快肯定是它们在没有奖励的情况下对迷宫中道路有了深刻地认识的结果。依托尔曼的解释,在白鼠的大脑中有一个认知地图,是它使白鼠认识迷宫中道路的。在进一步解释中托尔曼认为,这种认知地图就是类似于人类意识的东西。因为认知学派也不研究意识,所以托尔曼的解释也就到此为止。
我是反对动物有意识的。而且我以为不用认知地图足可以解释白鼠对迷宫道路认识的形成。由于得不到食物的奖励,实验组白鼠要比对照组白鼠更多的奔跑,奔跑中就会反复经过迷宫中的道路,只参考巴甫洛夫试验,就可以知道这些道路的情况会因此(大量的反复)建立起条件反射联系,因此产生白鼠对迷宫道路的认识。而对照组白鼠,因为得到食物的奖励,经过迷宫道路的次数反而少,建立对道路认识的条件反射要慢,因此学习就慢。这里丝毫不用引入有意识嫌疑的认知地图,就可以解释实验组白鼠学习快的原因。
我把这种与需要发动的学习有关,但不是直接满足需要的学习叫做伴随学习。简单地说,在某一需要发动的学习过程中,那些经常反复出现的刺激或感觉或活动方式,都能够作为学习结果保存在记忆中,这就是伴随学习。
在我们原来的系统中,人编程序中只为自主学习能力编写了程序,显然在增加伴随学习能力时,还要为系统增加人编的伴随学习能力程序。这个新增程序结构很简单,只要是经常反复接受的感觉和其它刺激(例如键盘输入),就会被记录为认识资料。只要是经常进行的活动组合,就会被记录为新编程序(这仍旧是系统在自编程序)。
显然,再加入伴随学习能力以后,系统地认识量和自编程序量都会大大增加。这就减少了对胡乱进行的自主学习能力的依赖,提高了系统学习的速度。
F、自主学习的几个层次。
我们在C段介绍了提高自主学习能力的级别问题。这种提高就是自主学习也具有了几个不同层次。我们下面就对比人和动物的实际情况说明自主学习的各个层次。
甲、纯随机层次(相当于人和动物在毫无经验时的学习)。在人和动物由需要发动的活动找不到相应经验时,就发动纯随机层次的自主学习。这时人和动物用自己的纯本能动作组织成尝试性动作。
在我们的自编程序系统中,就是要模拟人和动物的这种纯自主学习。我们把把系统小程序(相当于人和动物的纯本能活动)胡乱组织成大程序。这个层次的自主学习非常耗时,而且也会出现不收敛的情况。
当一个系统出现不收敛的现象时,我们必须用人为的方式引导它实现学习过程的收敛,这就要求我们编写的母程序有允许用户引导的相应界面。
乙、经验层次。在人和动物有了一些经验的时候,往往就会把一些经验作为新动作产生的基础。在桑代克的迷笼实验中,如果关入笼子的是一支具有丰富捕鼠经验的猫,你就会观察到猫大量使用捕鼠动作(与开门无关的经验)尝试打开笼门。对于重复同类工作,调用经验与调用程序是一样的。对于新的工作,我们往往把一种经验尝试用于另一项工作。这在心理学上叫做移用。
在我们的自编程序系统中,我们也要模拟人或动物对经验的移用。这就是用系统已经自编出的程序再次联结为新程序。如果只调用一个自编程序(连接组合的元素为一),那就是把一种经验胡乱的应用于另一种需要,就是直接移用。如果我们是把经验(自编程序)再胡乱组合成新程序,那就是符合移用。移用对于智能的生成有非常大的意义。
丙、混合经验层次。在人或动物积累一定量负经验后,正经验表明它应该怎样做,负经验则表明它不应该怎样做。于是人和动物的行为就受到经验的双向限制。这种“应该与不应该”并不是由思维确定的,而是由经验本身的正负性质决定的。
模拟人和动物的负经验积累,依据负经验禁止一些小程序的组成,可以大大减少系统胡乱组合程序的尝试时间。由于这种禁止是由经验的性质决定,而不是由系统的思维能力决定的,因此我们的这个自编程序系统就不必由编程者赋予它任何思维能力。它的全部操作就是自编程序、检验程序、调用成功程序(禁用失败程序)。在检验程序阶段,已经不是简单的由成功与否检验了。而是在执行自编程序前,先比较一下子编出的程序是否与成功程序(正经验)相同,是否与失败的程序相同,与正经验相同的不再去检验而直接执行,与负经验相同的也不再去检验而直接禁止。
这样我们就可以看到,尽管我们的系统还没有思维能力,但是自主学习过程到了混合经验层次,系统已经变得懂事了很多。
显然一个有胡乱连接小程序的系统(它相当于一个毫无经验的人或动物)仅在自主学习能力的作用下,经过自主学习过程的三个层次,就已经显得懂事了。这虽然还不表明智能已经形成(它还没有思维能力),但是会为我们对构造更懂事的智能充满信心!
G、自主学习的几个层次对智能生成的长远意义。
在前面的分析和程序设计中,我们给出了自编程序模型的自主学习算法。也叫做能力学习技术。
然后,根据对这种算法的分析,指出它会使自主学习过程出现三个层次。应该指出,每出现一个新层次,人编的母程序(系统程序)就要增添一些新的东西。但是增加量不大。例如为了实现自编程序中的移用功能,我们需要为人编系统程序增加一个小程序独自组合的功能。这在编程时只需要调整一下程序对初始组合量(由二变成一)的控制就可以了。再例如,为了实现对自编程序的再组编,就需要扩大原来系统程序组编程序功能得指向。方法很简单,只要把胡乱连接小程序的人编母程序组编对象的地址扩大到自编程序,使他也能够把自编程序当作小程序一样组编就可以了。程序改动是非常小的。
我们可以看出,自主学习能够使我们的系统由不懂事变得懂事。但是它的作用不仅仅是如此,它还可以使系统的任何一种原来没有的能力(如思维、意识)由萌芽到形成。例如想象,最初仅仅是利用系统的胡乱组合功能对感觉资料进行胡乱组合。然后这些经验组合被确认或否认,形成成功的想象结果和失败的想象结果。到了对想象自主学习的混合经验层次,人们就开始懂得哪样想象比较好,那样想象不好。出现无智力的但是比较懂事的想象。想象能力出现了,我们的系统便产生了初级的智能。值得注意的是,想象能力是人们认为计算机最难于模拟的,但是在我们的系统中它是作为初级思维能力出现。
自主学习的三个层次,是大脑一切功能发展的基本模型。我也叫做大脑功能按层次发展模型。
作者:ruiaijun 回复日期:2006-5-12 17:12:51
二、模拟智能系统的能力学习技术。
8、伴随学习对智能的意义。
A、伴随学习相当于机体的随行记者。伴随学习在机体活动中相当于一个随行记者,它可以把机体的活动情况随时记录下来。当这些记录中包含一些新活动的雏形时,这些记录就对智能的发展起了非常大的作用。下面我们通过一个具体的例子来体会伴随学习的意义。
B、预测表现和预测活动。
我们以猫的预测为例:在猫的头脑中记录着这样一段事件,主人穿好衣服,开门,自己跟着主人出去玩,满足了自己出去玩的欲望。这个事件经常发生,在猫的头脑中建立了牢固的反射。每当主人穿好衣服,通过反射链,就激发猫出去玩的欲望(需要机制),猫就随机采取了一个尝试满足出去玩欲望的动作(例如到门口等的动作)。尔后猫出去玩的欲望得到满足,猫的这个动作便被确认。以后,一旦主人有穿衣服的动作,猫就跑到门口等(有时候主人并不出门,它就等错了!)。猫的这种活动表现出猫有一定的预测能力。
但是在我们在上述的描述中看到,使猫产生预测表现的只是简单的反射,并不需要更复杂的心理活动参与,猫就可以完成上述动作,产生预测表现。
我们可以使用一个模拟反射的简单设备,来模拟这种没有智能的预测。
但是加入伴随学习后,上述过程就不同了。如果伴随学习把大脑活动也记录下来,把这个反射链纪录为一个模型。记录为:某反射链的一个环节发生,激发该反射链中的一个欲望,要用反射链中的其它某个动作实现这个欲望。这中间的“某”,只是为了表明它们具有可代换性。并且通过多次预测现象的发生,使这个纪录被巩固。
那么当大脑调用这条记录时,用具体因素(刺激或反应)代替记录中那些“某”,产生一个不是由反射建立的类似反射链条。并可以按这个类反射链出现预测行为。这时,一个新的大脑功能——预测活动就产生了!
新功能产生于:当大脑调用那条被巩固的伴随记录进行活动时,通过具体因素的替代,形成新的类反射链,它就是在主动进行预测了。不断地用新因素替代记录中的“某”,就不断出现新的预测表现。这个“不断地用新因素替代记录中的‘某’”就是“预测活动”了。它是一系列有倾向的预测活动,与依赖反射连或类反射链产生的“预测表现”具有不同的性质。
可能有些人还理解不了预测表现与预测活动的区别,预测表现是由反射链(或类反射链)加随机行为的结果,预测活动是由预测经验(即伴随学习的记录)进行的活动结果。前者具有随机性,并且是一个个别行为。后者已经成为一种确定的活动,并且是一种系列的活动了。
C、预测表现和预测活动的比较。在上面的过程中,如果没有伴随学习,就不会形成对预测的纪录。预测表现就只能停留在表现层次,也就是说预测表现只能是附属于反射功能的一种行为。然而有了伴随学习情况就不同了,它为预测记录了经验,大脑可以不通过反射功能,而通过对预测经验的调用来产生预测表现。预测便成为一个独立的系列的活动了——预测活动了。
下面我们对比预测表现(反射型预测)和预测活动(经验型预测)的操作流程:
预测表现(反射型预测):反射链的形成——外部刺激激发反射链的一个环节——整个反射链被激发——反射链中的一个欲望被激发——随机发动一个动作去满足欲望(这实际发动起一个自主学习过程)——通过学习得到一个确定的满足欲望的活动。
学习后,机体便产生对于这个特定刺激用特定活动(自主学习确定的)表现的预测表现。
预测活动(经验型预测):在预测表现(反射型预测)学习时记录伴随经验(预测经验)——外部刺激激发经验——找(替代)并激发相应反射链(产生类反射链)——激发类反射链中的欲望——随机发动一个动作去满足欲望——发动自主学习确定实现表现的动作——确定预测表现的动作。
学习后,机体也产生一个与特定刺激对应的特定的预测表现活动。
对比后,我们发现了预测活动多了一个环节,即“找(替代)并激发相应反射链(产生类反射链)”环节,这个环节就表明系统有了产生系列预测的能力,即产生了新的活动能力,产生了新的功能。
D、新功能产生的进一步讨论。很多人怀疑我的说法:不就是多一条经验么,能够有产生新功能那么大作用么?但是我们不要忘记机体的另一个学习能力——自主学习能力,它可以经过三个层次使一种活动的经验越来越成熟。
这三个层次作用于伴随经验,在第一个层次,是对伴随经验进行胡乱的替代。在第二、三个层次,对伴随经验的胡乱替代渐渐转化为有条理的替代。
当胡乱替代中产生出有条理的替代操作后,伴随经验就成为一条可以替代的模型,经过替代,一条经验就会产生多条类反射链,并在这些类反射链被激发后,形成一系列新的活动,也就由此产生了系统的新功能。
显然,自主学习能力与伴随学习能力的交替作用对于机体大脑新功能的产生作用是非常大的。伴随学习负担记录机体胡乱活动中新能力的产生,自主学习能力负责使那些胡乱进行活动的新能力转变为有条有理的新活动能力。伴随学习是发现萌芽,资助学习是培育萌芽。以这种路子,思维的各种功能的产生就是可以预料得到的了。
E、思维能力产生的初步讨论。
上面我们已经讨论到新功能产生的基本过程。按这个步骤,思维的各种功能也就会相继产生。
思维生成理论很长,因为它要讨论到各种思维能力的生成过程。不可能用几十字、几百字叙述清楚。因此只能作个初步讨论。
我们就以预测能力的发展为线索,讨论一下思维生成的一个侧面。
预测经过学习发展为一个成熟的能力以后,就会产生对相关事件出现的预测,这种预测就发展为对原因事件和结果事件的判断。伴随学习记录下这种新的能力——判断。自主学习能力使判断由最初的胡乱判断发展为有成熟经验的判断(当然还不如有成熟思维后的判断,更不如逻辑推理的判断)。
人类的判断实际是一种综合的思维活动,它的生成要有一个更复杂的过程。
按照上述思路,大家也可以设想一下各种思维的生成过程。
F、上述思想的推理成分。
我们要指出,在我们这个预测能力和思维生成的思路中,自主学习能力是由桑代克的尝试错误实验证明的。伴随学习能力是由托尔曼认知地图实验证明的,预测能力可以由对动物的观察实验来证明。这些实验之间就是靠推理来补充的。因此这个推理就有被证实和证伪两个可能。
目前,要用生理解剖实验证明上述过程的正确性还是不可能的,证实和证伪都不可能。但是我们现在考虑得是计算机程序,计算机程序并不要求它一定要与大脑的真实相符。只要是运行成功,就是好的程序。例如,目前计算机思维与大脑的思维相差甚远,但也一样叫做思维,一样起着很好的作用。
另外,我们在脑科学和生物学都无法解释思维是如何产生的情况下,起码提供了一个由程序实现的由无思维到产生思维的途径,这也许并不是大脑产生思维的真正途径,但是它起码证明了无思维的设备可以自己在学习中产生思维。而不必须由人编程序为为它编制思维。
也许,将来更进一步的研究,为我们找出真正的思维生成的途径。但是到那时,我们的这个途径也不失为第一个指出思维是如何具体地完成由无思维到有思维过程的意义。也就是说,也许这个思路仅在思维科学大厦中起一小块铺路石的作用,但是目前它还是第一块这样的铺路石。
当然,我们更希望它是正确的,那样它就会为思维科学开拓新路。
9、模仿学习能力。
A、模仿学习。在过去我们养猫时,猫是自己捉老鼠吃的,母猫如果有了小猫,在小猫动作能力基本形成后,母猫就会教小猫学捉老鼠。它把捉到的老鼠不咬死,而是在小猫面前放开捉住,然后再放开,让小猫学着捉。这就是模仿学习。人类的模仿学习就更多了。
显然由于模仿学习有模仿对象的存在,系统可以减少学习时间,因此我们要我们的模拟智能系统有模仿学习能力是加快系统学习速度的一个好方法。也是我们的模拟系统从随机组编程序的落后状态下进步的方式。实际上,我们的孩子在成长过程中大量的学习都是模拟学习,包括他们在思考问题方面的模仿。我们的模拟智能系统如果能够模拟模仿学习,就会大大提高系统自己获得能力(自编出优质程序)的水平。
值得指出的是,让计算机模拟智能系统进行模仿学习,虽然也有人类对计算机的干预,但是它与程序员向计算机输入人编程序大不相同。在模仿学习中,模拟智能系统获得的能力仍然是自编程序的,只是在自编程序过程中不采用随机加偶然的方式进行,而是向模仿对象进行模仿后形成自己的程序。从系统的灵活性上看,这种模仿学习显然给系统灵活增加优质程序提供了输入接口(这是目前任何计算机程序办不到的)。从系统的延续性上看,模仿学习能力又是自编程序和自主学习的发展。也就是说,没有自编程序技术和自主学习技术,模仿学习技术是不会出现的。
表面看,模仿学习只不过是增加一个模仿对象而已。但仔细从计算机模拟角度考虑,就会发现模拟模仿学习会对系统提出很高的要求。例如如何让系统接收对象的活动模式?如何让系统按模仿对象的活动模式活动?前者要求系统有较好的模拟感觉设备,后者要求系统有较好的模拟活动设备。
这也不是说在家庭微机上我们不能模拟模仿学习过程了,只是很不像而已。例如我们可以用字符串表示某种活动的形象,用另一些字符串表示模仿出来的形象,一般说,这种PC机上的模拟,只有我们实验者承认它是模拟模仿学习,很难叫局外人承认这一点。但是它的优点是给出模拟模仿学习的程序结构,一旦用到机器人上,把程序稍加修改移植过去就可以了。
B、模仿学习能力的程序结构。
具有模仿学习能力的系统在人编程序上,没有太大的改动,只需要加入一个能够按输入活动形象进行相对应活动的程序就可以了。这里也有粗细程序之分。较粗的程序,通过人把活动形象与系统活动指令人为的对应起来就可以了。较细的程序,则要求系统通过自主学习学会这种对应,即要求系统先是胡乱对应,然后形成对应经验再合理的对应。粗程序人为量大,但学习进行得快。细程序更加逼真,但是学习过程要延长很多。
尽管我们说得很简单,在实际建设系统时却非常复杂,因为要系统有模仿能力需要精细的机械装置,还要有相应的记录模仿活动的机制,真正模仿学习能力的实现,是一个很高仿人技术的综合实现。
在系统做模仿活动的过程中,由伴随学习能力记录下活动的过程,以此为系统模仿学习后自编而成的自编程序。这是对人必须亲自多次实践活动,才能够巩固所学的模仿活动的模拟。显然,人编系统程序在这个方面没有大的变化。
如果在PC机上运行模仿学习程序,还要人为的编写活动形象信息,还要编写输出这些信息的相应小程序。这些小程序就相当于我们前面所说的活动指令。其实这个过程是满麻烦的,但是唯此我们才能够在PC机上模拟模仿学习过程。
C、有教学习的雏形。
模仿学习是有教学习的雏形,我们这里讨论的还是无智力情况下的有教学习。教育者就是模仿对象。
随着学习能力进一步提高(它也是在学习中靠自编程序提高的),有教学习也可以模拟人类的在校学习,模拟人类在学习解决问题时对思维能力的模仿学习,对创造能力的模仿学习,等。由此可以预见得到,教育计算机的条件有多么高,计算机学习获得的能力就会有多么好。
而且,由于这个计算机系统有自主活动能力,可以自编活动程序,那么它就有可能在某一方面超越人类知识的原有范围而提出自己的见解。于是一个具有发明创造能力的计算机便出现了!
D、语言和思维能力的学习。
在计算机学习理论中,人们需要解决的一个问题是知识的表达问题。但是这个问题在我们的程序中不会刻意的存在。因为它是一个自己获得信息自己处理信息的系统,知识的表达方式是在它学习中形成的。如果我们不叫它利用模仿学习能力学习语言,那么它的知识表达就会停留在使用低效的形象语言层次。当然,系统处于这个阶段它想什么、干什么,我们都无法了解,只有程序员通过对系统内部信息的解析才能够了解它在干什么。这很类似与大猩猩不会说,尽管它们也有初等思维活动,但是我们无法了解它“想”什么。好在计算机是可以由人控制的,它的初始程序(母程序)使人编的,我们可以通过设计思想解译系统的内部语言。
为了使系统可以通过界面(简单的系统就可以通过显示器,复杂的系统可以通过语言系统、动作系统)与普通人交流。系统也要学习人类语言。请注意,这里系统是在学习语言,而不是通过向计算机内输入词库之类的东西,人为地让它懂得语言。只要让它经历语言学习的过程,它就会自动形成一个自己使用方便的语言数据库。自己学会理解人类语言,自己学会表达人类语言。在我们这个系统面前,自然语言理解是一个完全不用编程者操心的问题。因此也不会出现目前人工智能程序感到头痛的知识表达问题。
我们对于初等思维能力的出现较为关心,因为它与我们的人编系统程序(母程序)的性能相关。我们编写的母程序如何?很大程度决定着系统能否产生初等思维。
而对于高级的逻辑思维能力,我们就不必太过于关注,因为它们也是在学习中靠自编程序形成的。形成过程与人类在学生时期,通过向老师学习解决问题的方法,模仿学会各种思维的方式一致。并且在这个过程中自动形成逻辑思维。我们的系统可以在像人类一样的教育环境中,经过学习,学会高等思维。
由于我们系统学习的思维是联想、想象、思维共同合作的过程,因此它与目前计算机思维完全不同,而与人类思维基本类似。既有自主性和灵活性,还具有创造性!
作者:ruiaijun 回复日期:2006-5-12 22:57:48
二、模拟智能系统的能力学习技术。
10、反射学习能力。
A、反射学习实验简介。其实在人和动物机体上,还有一种更为基本的学习能力,这就是反射学习能力。有关反射的实验有很多,如我国人了解最多的是巴甫洛夫的条件反射实验。此外还有斯金纳的工具性条件作用实验。巴甫洛夫的条件反射实验有三个要件组成:反应,条件刺激和非条件刺激。在反应与非条件刺激间实验前有一个非条件反射把它们联系起来。实验时条件刺激与非条件刺激多次同时出现,实验的结果是在条件刺激和反应建立起条件反射。
但是,我们讨论的反射不等于条件反射!它比条件反射的含义要广。请那些只以为反射是条件反射的人,一定要明白这一点。反射分先天性反射和后天性反射两大类。生物机体出生时就有的神经间联系是先天性反射。生物机体在学习中形成的反射是后天性反射。巴甫洛夫条件反射是后天性反射中的一种,它的特点是由反应、条件刺激和非条件刺激三个要件构成。
在巴甫洛夫理论中两次把定语加在反射前面,显然对反射另有解释。在巴甫洛夫理论中把反射定义为神经间的联系。因此反射学习能力是一种有机体神经结构决定的能力,它包括条件发射学习,反射还包括其它种反射学习。
斯金纳的工具性条件作用是另一种后天性反射,它也有三个要件:刺激、偶然动作和奖励。刺激与偶然动作同时出现,并且获得奖励,反复多次后,在刺激与偶然动作间建立起反射。
各种反射实验表明神经间建立后天联系的一个规律:两个神经部位多次同时被激发,它们中间就会建立后天性反射,当其中一个被单独激发时,另一个就会被反射连带激发。这里包含两个过程:后天性反射的建立过程和后天性反射的实现过程。建立后天性反射和实现后天性反射,就是反射学习过程。
后天性反射建立后需要巩固,不加以巩固就会退还。这也是反射学习能力的重要特征。
B、反射在学习中的巨大意义。目前人们对大脑的结构进行了大量的研究,也得出很多实验结果,但是对智能的研究均没有多大的推动意义。目前能够见到的有关资料大多处于加入大量假设阶段,没有一个完整的理论是被实验严格证实的,所以我们一概不予以采信。
目前对大脑各种实验对于智能研究有意义的只有两点:第一、大脑的活动是靠神经元间的联系和信息传递完成。第二、大脑间的神经间联系分两种,一种是与生俱来的先天性反射。一种是后天学习而来的后天性反射(靠多次同时接受刺激建立的)。这是我们认为目前仅能采信的大脑科学结论。但是它已经足够了。更多的东西先让有关科学家们研究着玩去吧,让那些喜欢追风的假学者炒作去吧。我们欢迎他们有成果,但是也不抱太大希望!
首先反射确定了记忆。从艾宾浩斯的记忆曲线到今天的什么海马,记忆的规律基本与建立后天反射的规律一致,因此可以确定记忆是靠反射学习完成的。
其次确定了原始经验的形式。既然各个同时被激发的神经间在多次反复后可以建立反射,那么可以确定最初的经验是用神经间联系“书写”的。用一个被激发,其他神经部位都连带激发“回忆的。人脑的经验是由反射链来“书写”的,这是我们思路中一个关键性的观点。它指明我们的模拟智能系统的基本与研究是反射链。系统后来学习的人类交流语言,只不过是以“反射链语言”为基础的语言扩展。
也可以这么说:反射链是脑神经信息的基本编码,人类交流语言是脑神经信息的高级编码。
例如视觉经验,视网膜同时出现一些光点,在大量同时出现的观点经重复便建立了反射,这个反射就为我们提取出一个图像的模式,例如人头、人眼、人整体等图像模式。这些反射链就成为视觉信息的初级信息编码。而图像中的文字图像,后来就发展为高级神经编码——语言。
C、反射学习的一个难题。
反射建立的前提条件是同时出现和反复。因此建立起反射的神经部位具有共时性。也就是说它只记录同时(或时间相差不多)的神经间联系。那么历时性事物如何记忆,如何形成经验呢?也就是说:共时性反射机制如何转变为历时性的事件记忆呢?
比如一个活动自始至终的经验,比如一个事件的自始至终的过程。它们都是与时间顺序有关的。
因此我们提出一个生物钟假设:我们假设大脑中有一个对时间先后顺序进行确定的先天性反射机制,并把它叫做生物钟。这里的生物钟不是与钟表类似的能够表示时间的钟,而仅仅是生物机体中一个能够识别时间顺序的机制。与它的每一时刻同时发生的神经性分别纪录为一条与时间联系的反射,再由生物钟的前进顺序记录下历史的各条反射,从而记忆下顺序事件和记录下顺序经验。
比如一条肢体活动的经验,就是由与生物钟的每一时刻对应的多条反射组成,每条反射记录着同时进行的各个动作的神经部位,以生物钟顺序为依据,把整个肢体活动的各条反射连接起来,就是这项肢体活动的经验。
比如一个事件的纪录,是由每一时刻发生的事情构成一条反射,然后随着生物钟的前进,建立起多条反射,这些条以生物钟为顺序主线的多条反射,构成对事件的记忆。
引入生物钟以后,历时性记忆与共时性反射就可以都由反射学习机制完成。因此反射学习也就成为记忆的依据,模拟反射也就可以模拟人类的记忆了。
D、神经信息分析法。
由于我们在模拟类似人类的人工智能时,不可避免地要涉及到计算机中信息的具体形式,因此我们也就不可避免地要讨论神经信息的最可能形式。目前,这方面脑科学并没有为我们提供更多有益的东西。我们只能对其形式作尽可能接近的假设。
这些假设对于人脑智能科学也许是不允许的,但是因为我们搞得不是人脑智能,而是人工智能,人工智能是以计算机的合理运行为目标的,所以只要是假设可以使计算机程序运行,就是允许的。而且计算机运行的成功,又会反过来为脑科学提供一个思路,它会表明,这样的一种信息编写方式,起码在计算机上模拟智能是有效的,如果你们在解译大脑神经信息是找不到出路,可以借鉴一下。
我们这里提出的神经信息方式不是靠传递不同的信息完成的,在神经间只传递一种信息,神经部位的兴奋或不兴奋。而整个信息的表达是由神经间联系完成的。先天性反射是表示联系的基本符号,后天性反射是用基本符号编写的新编码。这里的大脑信息不是靠神经间流动的信息不同来表示,而是靠神经间联系的不同来表示。
生物钟假设,为这种编码提供了更完整的表达前景:多条反射构成一个有时间顺序的事件或经验。它还提供一个神经间联系互不相混的条件:不同时间的神经间联系只与时间联系起来才起作用。也就是说,当两个神经部位在多个反射中出现时,可以靠时间不同加以区别。这也就是有限神经元能够表示无限信息的依据。
最后说明,我们将用专题来讨论计算机系统对反射的模拟,从而实现发射学习功能,而且由反射信息编码,作为模拟智能系统的基本编码。
目前计算机科学有一个重要的分支——人工神经网络,模拟反射也是对神经网络的模拟。但是它们的区别在于:人工神经网络模拟的是神经网络的每一个分支,模拟反射仅仅模拟神经联系的始端和终端,不考虑中间的网络细节。
作者:ruiaijun 回复日期:2006-5-13 17:41:19
三、活动理论。
1、活动理论对智能的意义。
模拟人类智能为什么要涉及到活动理论?这就要考虑到智能活动的本质了。
关于智能的本质有很多说法。我们认为,智能的本质表述为“大脑对信息的一种特定的处理方式”较为合适。
这样认识智能本质的理论很多,甚至有些用类似的表述定义智能,但是我们的表述中增加了一个“特定的”定语。以表明智能不是对信息的一般处理。表述中的主语“大脑”是我们目前对智能的认识,如果电脑模拟人类智能成功,这个主语还可以扩大。
既然智能的本质是处理方式,那么它就指得是一些操作,而不是指智能获得的各种资料。在心理学中,大脑的操作就是大脑的活动。因此我们在考虑模拟智能时并不以智能获得的资料为主要考虑目标,而以“智能是怎样的操作(怎样的活动)?”为主要讨论目标。
既然我们把智能定位为一些大脑的活动,活动理论就显得十分重要了。这就是活动理论对智能研究的意义。
2、对智能的结构性研究与功能性研究。
在早期对智能的研究中曾经出现一个功能主义,他们就主张只考虑智能的功能,不考虑智能所依赖的大脑结构。尔后,功能主义在计算机模拟智能方面有很大的进展。例如他们把思维看成是一种逻辑运算,通过对数理逻辑的编程,模拟对一个课题的思维。他们也把一些人类思考的经验编写成程序,成为处理该经验范围的专用程序,形成专家系统。然而,人们进一步发现,这种功能模拟的方法模拟的思维与人类智能相差甚远。
后来,人工神经网络理论在经历一段徘徊不前以后,在解决一些问题上又取得很大进展。同时由于脑科学技术上的进步,人们在对大脑工作情况上又取得很多令人兴奋的成就。于是人们便对功能主义智能研究路线提出质疑,把希望寄托在大脑结构的研究上。近几年来,人们甚至认为:通过功能模拟不可能解决模拟智能问题,只有通过大脑结构研究才能够解决智能的模拟问题。于是我们提出模拟人类智能的基本构想后,不断有人提出:你不通过搞清智能的大脑结构,能够模拟类似于人类的智能吗?
从上述对人工智能的发展过程的简单回顾,我们看到了人们思路在两个极端上的跳跃,要么否定结构崇拜功能主义,要么否定功能主义崇拜大脑结构。我以为这两种极端的态度都是不正确的。我们应该走两者相结合主义。
对于大脑结构的研究我们大力支持,因为对大脑结构的新发现,有助于我们发现大脑结构中的前所未知的功能,从而对智能有更进一步的认识。我们还要对智能的功能模拟进行研究,因为作为操作、作为活动的智能,它所表现出的毕竟还是功能。与我们计算机相比,大脑的结构相当于计算机的硬件,大脑的功能相当于计算机的程序。而且,模拟类似于人的智能,我们很难靠复制大脑结构来实现,最终还是要靠计算机的程序具有的功能来实现。显然我们的“结合主义”还是偏向功能的,因此我把这种方法叫现代功能主义。
3、活动理论的相关观点。
活动理论是《动态心理学》的一个重要组成部分,我们只选择与编写模拟智能系统程序有关的几条介绍。
A、大脑的活动经验相当于计算机的程序。大脑负责的活动有肢体活动、内脏活动、心理活动等,智能是心理活动范畴的活动。在大脑的记忆中保存着各种活动的活动步骤,我们通常叫做活动经验。它们就相当于计算机中的具体某项操作的程序。
这里,我们所谓的经验不只是用语言纪录的经验,语言纪录的经验实际并不能直接用于机体的活动。我们所指的经验是用能够指挥大脑或机体活动的信号记录的东西,它们一般并不能为我们的意识读懂。
B、活动能力形成的基本前提。机体所具有的顺利完成一项活动的本领,叫做能力。
能力形成的基本前提是类似活动的反复进行。任何动物可能会进行各种活动,但是并不是每种活动都能够形成能力,只有那些大量重复的活动才会形成能力。
这个基本前提是我们模拟智能是必须注意的。目前计算机的“记忆”是不遵守这个前提的,要么对活动经验没有记忆,要么是对活动经验全部记忆。不记录经验显然不利于能力的形成,全纪录下来显然又会与存储容量发生矛盾。
C、活动间的相互作用。
大脑的活动间是可以相互作用的,这种作用导致各项活动的促进发展,也会导致促退衰败。我们把活动间的这种规律,叫做活动的相互作用定律。
人们经常慨叹智能的复杂。其实从各种活动的相互作用来看待智能,智能就一点都不复杂了。
以记忆为例,记忆是一种大脑先天性功能,但是它原来的活动方式比较简单,就是用类似反射的方式实现记忆。然而大脑的思维能力产生后,思维就会促进记忆,例如把记忆的资料进行分类保管,把记忆资料按顺序、按逻辑关系、按提纲进行有条理的保管。这就大大提高了记忆的保存和寻找资料的能力。
而它们的促进是相互的。思维就是产生在记忆的基础上的功能,没有记忆保存的资料,思维就没有对象来处理。在思维进行时,记忆不仅仅保管思维处理的结果,还保存思维进行的过程,积累思维活动经验,随着记忆中思维经验的丰富,思维能力也就大大的提高。这就表现出思维与记忆的相互促进作用。
活动间的相互作用,使得所有心理活动:感觉活动、记忆活动、思维活动、情感活动、需要活动、言语活动、意识活动,都呈现一种你促进我、我促进你的动态发展的状态,因此我认为,用一种描述心理不断发展的动态心理学,才能够正确的描述心理现象。
活动间的相互作用,也是思维中各心理活动的关系不符合形式逻辑的要求。它们构成一个非形式逻辑体系。
D、活动发展的层次性。任何一种发展的活动,就会有由于发展而自然形成的层次,这种层次性既可以简单的永初、中、高的方式区别,也可以用更精细的方法区别。
由于活动理论仅仅是《动态心理学》中思维理论的基础,对于模拟智能理论的重要性不是很大,我们为了理论的完整,只简述它的一点主要观点。其余就不多谈了。
作者:ruiaijun 回复日期:2006-5-15 8:52:57
四、思维理论。
1、思维理论的依据问题。
目前对思维的讨论太多了,太滥了,就我所见就足足有二十几个版本声称自己是唯一正确地解释大脑思维问题的著作。目前最热门的是脑科学,所以绝大多数所谓的解释都与脑科学拉关系、套近乎,把自己说成是唯一得了脑科学真传。实际上,脑科学的理论和实验还都没有到能够解决思维的时候。那些理论不过是引用一些脑科学的东西再加以大量的假设,而每一个假设又被作者冠以突破性的观点,于是一篇理论便这样拼凑出来了。
我们也关注脑科学的进展,但是在其有真正突破性实验结果以前,我不准备妄加引用脑科学,也不准备提出一些突破性的独立见解。对于思维的大脑结构基础,我只采纳一个很不时髦但是又被实验确切无疑证实了的东西,那就是神经间的反射。
我的思维理论的其它依据就是我们正在进行的,人人都在使用的思维事实。以下所有讨论都是根据我们正在进行的思维得出的。
但是我们采用另一种方式观察和叙述我们的思维,这就是我们把我们的思维看成是一个不断发展的活动,我们从无到有,从低级到高级来观察和叙述我们的思维。除此之外,我们对思维理论再没有其他的突破性见解。
2、思维理论的要点。
智能的典型特征是思维。因此模拟思维是模拟智能的重头戏。所以思维理论在模拟智能具有重大的意义。
我们在思维理论中把思维看作是一种活动,因此在这里,思维与思维对象(即知识)是要分别研究的。我们重点是讨论思维活动的形式。不把思维对象作为主要讨论重点。
A、思维是由初级到高级按层次形成的。大脑最初只有思维可以形成的必要结构,但是并没有形成思维可以活动的程序(活动经验)。大脑的思维活动是按照活动经验由简单到复杂,由单调到丰富,这样一个过程发展而来的。
这个思路表面看没有什么新奇的,但是它会使我们以往讨论的各种思维操作概念大大变异。
比如,分类。在我们熟悉的分类过程中,分类起码要经过分析综合、要经过性质确认,然后把性质相同的分为一类,把性质不同的分在不同类。这已经是一种高级分类活动。按思维的层次发展观就不是这样了。初级的分类操作就是随机(胡乱)的事物分类。没有理由,没有依据。你如果没有思维按层次生成的观点,你就不会承认这就是分类。好在,人工神经网络理论率先作了这样简单的分类操作,熟悉人工神经理论的人不会对这种分类进行质疑了。但是其他人还免不了不承认这就是分类。
而其它概念,如猜想、判断、推理、抽象、分析、综合、归纳等思维操作的初级形态,也都与你们熟悉的高级形态大大不同。我们在此说明以后,就不再为这些概念进行不必要的争论了。
B、活动的相互作用问题。
在活动理论中,我们强调了一个活动的相互作用定律。那里的活动是泛指的。在思维理论中,活动的相互作用就变成具体的。
例如,思维活动与记忆活动相互作用问题。我们前面已经提到。思维是以记忆为基础发展起来的。记忆提供给思维以资料并记录了思维的经验,思维经验是思维赖以进行的根本保证。但是从思维活动产生开始,它就以记忆为对象进行对记忆的思维(特别是对记忆方式的思维),因此产生了以理解为基础的记忆方式,没有思维,理解记忆不可能出现。并且随着思维能力的发展,理解记忆也朝高品质发展。这就是很明显的思维与记忆的相互促进。
不仅如此,思维与需要(欲望)也是相互促进的。需要发动机体的活动,思维也就在机体的活动中产生了。但是思维一旦产生,便开始对需要进行思维,思维对需要的作用促进高级需要的产生,例如对艺术欣赏的需要,就是在思维对原始需要(欲望)改进后的一种高级需要。没有思维的作用,人类不可能产生对艺术的需要。
再例如思维活动与情感活动也是相互促进的。原始的情感活动是先天的,它是机体对需要满足程度的表达方式。但是随着思维的产生,思维也在对情感活动进行思维,结果是原始情感发展为高级情感。例如由性欲发动了对异性的追求,这种追求表现为一种原始的男女之情,经过思维的发展,经过思维把原始男女之情与社会环境的综合分析,这种原始情感就发展为男女的爱情。爱情是比原始男女之情容纳更多思维结果的情感。
C、相互作用带来的界限部分的问题。
机体的各种活动从原始形态往上就一直存在相互作用。但是对于我们来说,接触得多是高级活动,它们都是各种原始活动相互作用的结果,往往会使讨论者把它们与原始形态的活动混淆起来。
了解了各种活动的相互作用关系后,就使我们会产生这样一种分析方法:找到各种活动最单纯的原始形态,然后用相互作用的观点讨论它们是如何形成复杂的心理活动的。这也是我们讨论思维理论、需要理论、情感理论和意识理论的基本思想方法。
这种分析方法好像物理学研究运动一样,现实的运动是各种运动交织的,为了研究的方便,我们要把复杂的运动分解为纯运动来研究,得出纯运动的基本规律,然后又纯运动交织成复杂运动。匀速运动和运加速直线运动就是典型的纯运动,由研究加速运动的牛顿第二定律得出运动的基本微分形式,然后就可以依据初始条件列出各种微分方程,从而可以说从理论上可以推导出任何运动形态了。
我们的思维理论也是用物理学的这种思想构建的,只是还无法写出微分方程而已。
D、思维操作的最初状态。
在学习过程的讨论中,我们已经说过,通过伴随学习能力对萌芽能力的纪录,通过自主学习能力对萌芽能力由胡乱到懂事的三个阶段的升级,一种能力就会成熟起来。我们也认为思维能力不是与生俱来的能力,因此每种思维操作的萌芽状态是什么?就成为我们最关心的问题。我们是从以下几个方面来寻找萌芽的思维操作的:
甲、反射怎样演化出一些思维操作。目前可以确定的是原始猜测、原始归类和原始抽象是反射直接演化出来的。
乙、由感觉和肢体活动经验移用出思维操作。目前可以确定分析、综合、分类等思维操作可以有感觉和肢体活动经验中移用而来。
丙、由胡乱操作得出。从思维发展是看,很多思维操作应该是由胡乱操作经检验巩固而来,但是实际上这样就会使学习过程拖得太久,而且计算机模拟系统产生的思维具有很大的不确定性。因此我们为系统设置这种能力,但是不指望这种能力有多大作用。
丁、通过模仿学习而来。我们有很多思维操作能力是在模仿解决问题的活动中,模仿他人思维而来,这是人类学习、发展思维能力的主要方式,也是计算机系统学习、发展思维能力的主要方式。
3、思维产生前的信息编码问题。
思维的本质是一种特殊功能的信息处理。因此它要处理的对象就是信息编码。在现在人工智能理论人编程序模拟思维时,把解决这个问题叫做知识表示问题。我们是采用知识的自然生成的原则,因此不存在知识的表示问题。我们只讨论思维的信息编码生成问题。
A、信息编码问题的产生。
在计算机学习理论中,有一个重要的问题就是知识的表示问题。我们的思路采用的是由计算机系统自己学习,在学习中自己产生知识的表示结构。虽然避开了知识表示的最大难题:知识结构问题。但是也出现一个新的问题,信息编码问题。
我们在讨论反射学习能力时,已经讨论了大脑表示信息的一种形式:不由传递信息的情况表示信息,而由大脑神经元的连接情况(即反射链)表示信息。并且可以用它解释记忆信息的表示情况。但是在讨论到思维时,这种表示信息的方式遇到问题。那就是这个用反射连表示的信息,由于反射链与神经的具体功能相关联,反射链上的神经功能会随着思维而再现。我们用例子来说明这个问题比较直观。
比如巴甫洛夫实验中的狗,灯光、食物与流唾液地反应间建立了联系,建立起反射链。这种联系(反射链)也用来表示这个关系的信息(一种以反射链为形式的信息编码)。那么如果狗是用这种信息编码思维的,它只要是一想到食物,就会通过反射链引起流唾液的反应,它只要是一想到灯光也会通过反射链引起流唾液的反应。
如果把这种现象延伸到所有的思维(例如人的思维),就会出现非常可笑的现象。如果这个人要想到跑,它的反射链马上会使他的手脚配合作出跑的动作。如果这个人想到哭,那么这个人就会鼻涕眼泪流出来痛哭起来。因为在想的时候,他的反射联会同时被激发,动作和反应都会被激发出来。但是人和动物都没有这种现象发生。这表明人和动物思维时,信息已经被弱化了,信息编码已经与原来的反射链脱离了直接的联系。
我们把这种与反射链脱离直接联系的现象叫做代码化。
B、反射链信息的代码化。
我们在反射学习能力的介绍中,提出以神经间联系表示大脑信息的设想。这种设想最大优点是排除了假设神经信息是变化的,带来的传输、解译等复杂问题(例如人工神经网络理论把大脑信息看成是某种函数,并在理论中对其进行数学处理)。而且,这种编码形式只要有较少的神经元参与联系,就可以表示大量的不同信息,与人类大脑的丰富记忆容量相符合。
我们也指出,模拟智能研究与脑科学研究不同,脑科学解决不了信息形式问题时,可以先放一放。模拟智能解决不了信息表示问题,就一步也走不动。而且模拟智能时的这种假设与大脑不一定一致,它不是大脑结构的复制,只要它能够让程序运行就可以了。因此我们就确定了以神经元间的联系(反射链)表示不同的信息为我们的信息方案。并以模拟反射技术保证这个方案的实现。
新问题出现后,我们如何实现我们原来的信息方案呢?如何继续用反射链作为模拟智能的思维编码呢?
我们设想大脑能够在一些空闲的神经元为工作的神经元(或是说与各个器官直接联系的神经元)间建立镜像关系。它表达的联系与原来的神经间联系完全一样,就是说在这里复制了原来的反射链,但是神经元间的信息强度要远远弱于原来神经元被激发后的信息强度。我们把原来与实际功能相联系的那些神经元叫做实际神经空间,把复制反射链的那些空闲神经元叫做镜像神经空间。思维就工作在这个神经元的镜像空间。这个镜像空间的任何神经元的激发,都不会引起在实际神经空间工作的神经元的连带激发。因此也就不会出现想什么就表现什么动作的现象。
工作神经元把它们的反射联系向镜像神经空间复制的过程,就实现了代码化。也就是说有实际动作、反应、感觉意义的神经兴奋,转变为镜像神经空间的神经兴奋,它们失去了实际意义,与实际神经空间神经元的控制、反应、传递信息功能脱离了关系。成为单纯的信息代码。
镜像神经空间的神经元与它在实际神经空间的影像间还保持着微弱的联系,但在需要把那些动作、反应、感觉实体化(即恢复其控制功能)的时候,强化那种弱联系,就可以激发实际神经空间的神经元,激发实际神经空间的实际反射链,重新表现出那些动作、反应。这就是思维的结果用动作执行。
我们这里并不肯定大脑是否就存在一个信息由实际反射链复制为镜像神经空间反射链的过程,但是人脑在思维时,并不因其相应动作或幻觉是事实。一些神经病患者则会伴随着说话出现动作或幻觉也是事实。这表明这种复制乃是存在的。由于我们主要搞得是模拟智能,我们对它的脑科学证实并不感兴趣,我们只对它能够通过模拟反射技术在模拟智能系统上实现感兴趣。
C、反射链信息代码化的意义。由于我们已经解决了模拟反射技术(细节未发),用反射链信息代码化的思想,可以简单地把原来建立的反射链复制后,就成为思维的信息编码,同时使系统自动的产生这种知识表达的方式。因此是系统自动模拟思维从处理对象上也有了自己的形式。
在反射技术中,系统的反射链式在学习中自己建立的,反射链的形式不是程序员编写的,因此它的代码化形式也不是程序员编写的。显然这个模拟智能系统依赖自己的程度会比其它任何人工智能要强,依赖程序元的程度要比其它任何人工智能系统要弱。这是与我们模拟智能的整体思路,即通过自编程序、通过学习形成智能是一致的。而且,智利系统学的另一个任务就凸显出来,那就是在学习中系统要为自己编写知识。
顺便指出,虽然脑科学不承认我的代码化设想,但是我却以为,由各种反射的实验和记忆的实验表明,大脑的神经信息编码很有可能就是反射链的代码化。
D、代码化的回忆。实际上,反射链信息问题在回忆中已经出现,不仅思维时不允许有动作和反应的出现,回忆时也不允许。因此回忆操作也应该是在镜像神经空间进行的。既然回忆操作是在镜像空间进行的,我们有理由相信,记忆操作就是一个把实际空间的反射信息复制到镜像空间的过程。
人类回忆时不出现相应动作和幻想的事实,也表明大脑的神经信息编码很可能是反射链的代码化。
E、联想的模拟。
在巴甫洛夫理论中,他就把联想解释为一种复杂反射。后来有一个时期,有一些人认为联想是思维,而且认为联想是思维的核心,甚至说只要计算机能够模拟联想,模拟思维也就不成问题了。现在,计算机模拟联想的技术已经非常成熟了,但是模拟类似人的思维(不是仅指逻辑思维)仍旧处于低水平。人们那种把联想看成思维的核心的论调渐渐衰败了。
我们这里模拟联想与目前计算机的模拟有所不同,我们是按系统的基本学习能力是反射学习能力来模拟联想。把联想作为反射学习的一种延伸。
前面已经说过,我们把记忆过程看成是把反射信息由实际神经空间复制到镜像神经空间的过程,这样,回忆就是利用一些已知信息,在镜像神经空间检索反射链的过程。如果说回忆要取得的是单值(一个结果)解,那么联想就是要取得多值的(多个结果)解。这样看待回忆和联想,它们在模拟类似人类的智能系统中的程序编写(人编程序)就会简单的多。
具体而言,如果用于激发的资料较多,只能得到唯一的结果,那就是回忆。如果用于激发的资料较少,得到的是很多结果符合条件,那就是联想。
因为记忆、回忆、联想、再识等都是大脑的先天能力,模拟时就必须靠人编程序实现,而不是靠自编程序实现。
但是对人类记忆在学习过程中提高部分的模拟,是由自编程序实现的。因此我们在确定人编记忆、回忆、联想程序时,只模拟极为初级的联想,不要把高级记忆活动编写进去。
F、想象的模拟。这里要模拟的是原始想象。也就是极为初级的想象。
原始想象是一种记忆资料的胡乱组合。在讨论自主学习能力时,我们已经指出随机调用经验和记忆资料是大脑的一种天生的能力。我们在模拟自主学习能力时,已经用人编程序让系统具有了这种能力。现在只要在人编程序中允许这种能力指向记忆资料,把记忆资料进行胡乱组合,就已经是模拟了原始想象。
这里我们说的指向记忆资料,显然是指向由反射链代码化后纪录的资料。于是我们便在反射链代码化技术和随即组合的基础上模拟了初级想象。也就是人们常说的计算机不可能模拟的大脑操作。
作者:ruiaijun 回复日期:2006-5-19 16:02:39
四、思维理论。
4、预测能力的形成。
这里所讨论的预测不是成熟思维的预测,而是有一点预测模样的初等预测。
A、初等预测现象的观察。我们知道,原来在平房饲养的猫出入是自由的,因此它的出入表现我们没有注意观察。现在在楼房中养的猫就不同了,它没有自由出入的可能了,于是便出现下述可观察的现象:
主人每次穿好衣服后,开开门出去,并且把猫放出家门在外面玩耍。次数多了以后,猫见到主人穿衣服,就跑到门口去等开门。表现出它对开门事件的预测能力。但是有时它也会犯错误。有时主人穿衣服是因为觉得屋子里冷,它也跑到门口去等,在等候失败后猫会显出失望的表情。
不仅如此,猫可以产生很多预测行为。比如在主人睡觉时,它喜欢卧在主人身边。每次主人总是先铺好被窝睡觉,多次以后,猫就会在主人整理被子时卧在主人床上,等着和主人一起睡觉。再以后,它甚至可以一见主人往睡房走,就抢先跑到睡房,卧在床上等候。当然在主人只整理被子不睡觉时,在主人去睡房干别的事情时,它也会等错。
B、初等预测生成的分析。
猫的这种初等预测的来源比较简单,它就是来自实际神经空间的反射链。
在主人穿衣服、开门、出门、放猫多次以后,这些事件在猫的大脑中形成反射链。反射链一旦形成,主人穿衣服的事件马上引起猫大脑中记录的开门、出门、放猫事件的兴奋,而放猫事件又激发起猫要出门玩的欲望,于是猫要出去玩的欲望发动猫采用到门口等的动作。这就形成猫的初等预测行为。
由于猫的头脑比较简单,它不会理解主人穿衣还有其它目的,它只能按自己头脑中的反射链行事,因此它也就会常常预测错。
显然初等预测虽然表面看已经是一种智能行为,但是实质上它仅仅是由反射链引起的活动,是对反射链某一部分激发后,通过反射链引起其它部分的反射功能出现。
因此我们确定初等预测能力来源于反射。
C、人类的初等预测活动。类似猫的这种初等预测活动,在婴儿身上也可以观察得到。例如大人穿衣后出门的连续动作多次重复后,孩子在大人穿衣时也会像大人怀中扑,往门口曳等,表现出他对出门的预测。
对于婴幼儿来说,我们同样认为,他们的初等预测能力来源于反射。这样就保持了生物体能力来源统一的原则。
这种由反射链部分被激发产生的预测行为,我们叫做反射性预测。
D、反射型预测转变为思维型预测。
反射性预测是指依靠实际神经空间的反射连进行的预测,思维性预测是指依靠镜像神经空间进行的预测。后者的明显区别是没有反射链上的行为出现。
人类大脑后来的预测已经没有反射链上的动作表现出来,显然就是思维性预测了。由于脑科学目前还没有对这两种预测作出确认,更谈不上它们用实验证明或研究这两种预测是如何转变的了。但是在我们模拟智能时,必须解决这个转变问题,不然我们无法编程。
我们设想这样一个过程,大脑把已经建立的反射链复制到镜像神经空间后(代码化),当实际神经空间反射链某部分接受刺激后,它就会把刺激传到镜像神经空间的复制链上(代码化),并且可以在镜像神经空间复制链上引起反射,从而实现镜像神经空间上的预测。我们这里的设想,并非对大脑具体情况的假设,而是为了编程模拟思维性预测而进行的假设。这个设想的适用范围仅在模拟智能理论中,但是对于脑科学,它无疑会提供一种思路。
这样,我们在编程中就可以编写母程序,使它能够自动复制反射链到镜像空间,一旦复制完成,就通过上述过程在镜像空间开始预测。从而实现没有行为和反应表现出来的思维性预测。
作为模拟试验,我们还可以有意识让人们观察到两种不同预测的不同表现。
E、预测经验的形成。
人是有思维经验的,这些经验中记录着思维要先考虑什么后考虑什么。因此由此不难推论出预测也会形成相应的经验。也可以又伴随学习记录预测的经验。
但是,我们模拟系统前面纪录的经验是由反射功能完成。它记录着小程序的调用地址(相当于发动先天性功能的神经部位)和调用的先后顺序。
预测经验则纪录的是把原来的反射跳过一些环节(如猫的预测将记录着主人穿衣符合它跑到门口,略去其它环节)。当预测转移到镜像空间进行后,预测经验也变成对镜像空间活动的纪录。
预测经验就是我们系统自编的预测程序,它是由伴随学习完成的自编程序。预测经验的完成标志着预测已经有一种反射链的附属特征,变成一个依程序运行的独立活动。
5、归类的形成。
人工神经网络理论也模拟了分类。但是原理有所不同。我们的模拟更为简单,也不需要任何数学作为基础。
A、二次反射。在巴甫洛夫的条件反射理论中,就提到以已经建立的条件反射为基础,还可以在此建立反射。我们把这种现象叫做二次反射。
例如,每棵树在我们视网膜的出现,次数多了建立的反射,使我们获得一棵具体树的形象,这棵树的形象是靠视神经反射链记录在大脑中的。多棵树的形象建立后,它们的反射链记录间就建立了二次反射,使我们得到多棵树的共同部分的形象。
实际上,预测功能已经是一种二次反射。它是同一个反射链上一些现象与结果间再次建立反射,新的反射省略反射链的其它环节。但是这种新反射没有脱离原来的反射链,二次反射的现象不明显。
B、以需要为线索的归类。
先举一例。例如一条狗,在饥饿的需要驱使下,建立起饥饿与骨头间的反射,又建立起饥饿与屎之间的反射,还建立了饥饿与馒头间的反射等等。以后,一旦饥饿的需要产生,骨头的形象、屎的形象、馒头的形象就会同时出现,经过多次反复以后。这些形象间也就建立了二次反射,这些形象间的反射就是满足够的饥饿需要的事物的归类。
这种以需要为线索的二次反射建立。基本形式是这样:一刺激与某一需要先建立起一次反射,另一刺激与同一需要在建立起一次反射,最后形成多个刺激与统一需要建立起一次反射。而后这多个刺激以那个需要为媒介,互相建立起二次反射。这种反射显然是一种初级的归类。
显然,我们可以确定,这种归类是由反射直接产生的功能。
C、一般性的归类。
与以需要为线索的归类一样,有很多围绕一个神经部位建立起多个一次反射后,在该神经部位被激发后,引起多条反射同时实现的现象。这样就会形成以这个激发部位为媒介的二次反射的建立。这些二次反射,就都是一些以反射为基础建立的归类。
这类以反射为基础形成的分类,显然也可以叫做反射新分类。它不过是反射现象的附属功能而已。
D、归类在镜像神经空间的进行。
根据人类归类情况不会引起其它反应、动作等出现的事实。我认为可以确定,归类是在镜像神经空间进行的。
它产生的过程应该与预测在镜像神经空间的产生过程一样,于是我们也就可以用编程的方式使它实现。这就形成思维性归类。
E、归类经验的形成。
在归类活动在镜像神经空间进行后,伴随学习也开始为归类活动记录相应的伴随经验。形成归类经验。
归类经验纪录的是这样一种操作:它以很多反射链上的共同部分为依据,把反射链上的其它部分联系起来。归类经验是系统的自编程序,在它形成以后,模拟智能系统的归类活动,就由反射的附属功能成为一个独立的活动了。
6、抽象功能的形成。
这里先讨论的抽象功能也不是人脑后来成熟的抽象功能,它也是那种有一点像抽象的很原始的抽象功能。为了讨论不同情况下的不同抽象形式,我们把原始抽象分成:多次反射型抽象、缺省型抽象、异器官替代型抽象三种,这些讨论在心理学和思维学中都是不进行的,但是在模拟思维时我们不能不考虑,因为对于程序来说,我们任何一个细节考虑不到,都会在运行中出现问题。这不是说我们要重归人编程序的思路,就是在自编程序的思路下,原始思维功能的出现涉及到系统程序和小程序的编制,也是必须考虑的。
A、多次反射型抽象的形成。
多次反射型抽象主要表现为对形象抽象。
前面我们已经用到视网膜看树的例子。下面我们继续用这个例子。
我们通过观察可以把各个具体的杨树抽象为杨树,把各种树抽象为树。请注意,虽然我们这里是用文字描写的,但是实际抽象工作是用形象进行的。
这个抽象是建立在反射的基础上。通过大量反复先把一棵棵具体的杨树的形象建立在大脑之中(即形成表象)。在不同杨树的表象建立后,这些杨树表象间又在比较中产生二次反射,把各个具体杨树的共同外形部分保留在二次反射中。于是得到杨树的抽象表型。
注意,这里抽象前是表象(形象)抽象后还是表象(形象),这里的抽象与形象并不对立。抽象前是具体杨树的形象,抽象后是抽象的杨树的形象。
如此,大脑中会形成多种树的抽象表象。然后在这些抽象树的表象间又进行比较,把它们共同的部分(大量出现的部分)提取出来,形成抽象的树的表象。这里抽象的树仍然是用形象描写的,只是比具体的杨树、比抽象的杨树、比具体的柳树、比抽象的柳树更简单一些。
显然这种抽象是按照大脑感觉接受信息的情况,一次又一次进行的,并且不断把抽象引向深入,使抽象的结果更加简单。因此我们称其为多次反射型抽象。
显然我们可以确定,这种多次反射型抽象不是什么新的功能,它也是反射链的一个附属功能。
B、缺省型抽象。
当一个反射记录太复杂时,大脑采用其中一部分代替整体,就是缺省型抽象。因为这种抽象用部分信息代替全体,缺省了其它部分,所以我们称其为缺省型抽象。
最初产生缺省的原因我们认为是部分遗忘。当一个形象建立反射后,由于没有巩固而出现部分遗忘,当它再次出现后未遗忘的部分就得到特别加强。于是在同一反射中就出现强弱不同的部分。另一种可能时,形象的某一部分出现的次数比其它部分多,因此这部分也就得到特别的加强。
当外部刺激被大脑接收后,它最先激发的是那个反射链尚未被遗忘的部分,或是被强化的部分。多次反复后,反射的一个部分与反射链建立了二次反射,该部分便成为这个反射链的代表。于是产生了缺省型抽象。
人类早期的象形文字符号,就是这种缺省型抽象的产物。它是用部分图画代替完整的形象,成为最早的文字。
显然我们也可以确定,这种缺省型抽象,也是建立在二次反射基础上的抽象,它也是反射现象的附属功能。
C、异器官替代型抽象。
异器官替代型抽象最初是缺省型抽象的发展。
实际上人们对一个外部事物建立反射时并不只限于一个器官获得的信息。例如见到一个人,眼睛看到他的图像,耳朵听到他的声音,手摸到他的皮肤,鼻子闻到他的气息。建立的反射是多器官联合的反射。而由于眼看和耳听比较多,这两部分的情况得到特别的加强,于是这两个部分信息就代替了全部信息。这一工作还属于缺省型抽象范围。
但是由于这个功能是对一个多器官共同建立的反射进行的,它的结果不是一般的缺省,而是缺省一些器官,仅仅保留一个器官的信息,我们称之为异器官替代型抽象。
异器官替代型抽象在声音语言和文字语言的产生中起到了非常重要的作用。声音语言和文字语言都是用一个器官得到的信号代替所有器官得到的信号。大脑没有异器官抽象能力的产生,创造语言和使用语言是不可能的事情。
我们同样可以确定,异器官替代型抽象,也不过是反射现象的附属功能。
D、抽象经验的形成。
在抽象活动在镜像神经空间进行后,伴随学习也开始为抽象活动记录相应的伴随经验。形成抽象经验。
抽象经验纪录的是这样一种操作:它以一些反射链上的某些部分为依据,用它代替整个反射链。抽象经验是系统的自编程序,在它形成以后,模拟智能系统的抽象活动,就由反射的附属功能成为一个独立的活动了。
作者:ruiaijun 回复日期:2006-6-2 23:15:15
四、思维理论。
7、原始的预测、归类和抽象能力在相互作用中发展。
A、心理活动发展的基本过程。
这个基本过程我们在异器官替代型抽象的讨论中已经介绍了。现在把它总结为一种规律性的东西。
任何一种能力产生后,伴随学习能力就开始记录这种活动的具体经验,这些经验就是我们本文第一大段中讲到的自编程序,大脑为自己编写的字编程序。显然,我们有了第一大段介绍的自编程序技术后,就可以把上述过程用计算机加以模拟。
当这种活动的经验积累多了以后,多次反射型抽象就开始把这些具体的经验变成这种活动的抽象的经验。从自编程序的角度看,抽象的经验是把具体的经验这种自编程序的操作对象扩大化,改写程序的操作是由毒刺反复型抽象完成的。当系统调用这种抽象的活动经验(对象扩大化的程序)时,这种活动就开始成为一种独立的活动了。
请注意,我们上面反复使用了“抽象”一词,在不同位置它的含义是不同的。与“具体的经验”对应的“抽象的经验”,其“抽象的”是形容词含义的抽象,即作为“具体的”反义词的“抽象的”。而“异器官替代型抽象”和“多次反射型抽象”中的“抽象”是一种思维操作,是动词含义的“抽象”。
下面我们再解释一下独立活动与不独立活动的区别。还以前面的异器官替代型抽象的形成过程为例。先是系统接收到多器官综合信息,然后由缺省型抽象完成用某一个器官的信息代替全部信息,这实际已经是在进行异器官替代型抽象的工作。但是这种工作是靠缺省型抽象完成的,故不是独立活动。尔后,伴随学习能力记录了由缺省型反射完成的异器官替代工作的经验,多次反射型抽象对这些经验进行抽象,得出这类活动的抽象经验。这类经验的内容大约是(由于它们不是用语言纪录的,只能估计)用眼睛或耳朵获得的信息可以替代全部信息。当调用这条经验时,系统显然就开始主动的用眼、耳信息代替全部信息了。这时的异器官替代型反射就成为一个独立的活动了。
从自编程序的角度看,不独立活动是依赖自编的具体操作对象程序,这种程序应用范围很窄。独立活动是依赖把具体操作对象的程序扩大后的程序,这种程序的应用范围很广。它代表一类新的思维操作形成了,它可以作用于系统内一切对象。例如异器官抽象经验形成后,它就可以对任何对象进行异器官抽象,形成思维的一种抽象操作。
这样一个基本过程是大脑各种功能相互作用的结果,显然不会只应用于异器官替代型抽象的形成,它还可以应用于许多其它活动。我们将在下面具体讨论。
B、预测能力的发展。
我们在前面“预测能力的形成”中仅仅讨论到预测的具体的经验的形成,还是由反射和镜像空间的复制联合完成的,也还不算是独立的活动。那时我们还没有介绍抽象的形成,无法介绍预测能力的进一步发展。预测活动在伴随学习为其记录了大量具体经验后,这些经验经多次反射型抽象处理后就形成抽象的预测经验。这种经验的内容大约是,某事件的发生就可以预测到与其相关事件的发生。当系统调用这条经验时,预测就可以不依赖反射进行,而直接在互相联系的事件间进行,预测也由此成为一个独立的活动了。
C、归类活动发展。
同预测活动一样,前面在“归类的形成”中也还只讨论到依靠反射完成的非独立活动。在多次反射抽象对其大量的经验进行抽象,得到抽象的归类经验后,就可以有不依赖于反射的独立的归类活动了。归类活动就有不独立活动发展为独立活动了。
不独立的归类一定要按原始欲望进行归类,独立后的归类活动就可以先把某种事物确定为需要(分类的需要,详见需要层次理论),按这种方式进行分类,归类已经进步为分类了。
D、多次反射型抽象的发展、自作用现象。
我们已经看到多次反射型抽象在促进其它活动独立时(即进一步发展时)的重要作用,然而我们前面讨论的多次反射型抽象也不是独立的活动,它也还是有反射完成的类似抽象的工作。那么在伴随学习记录大量它的具体的经验后,多次反射型抽象也会对这些具体的经验进行抽象,得到抽象的多次反射型抽象活动的经验。这种抽象的多次反射型抽象经验的内容大约是:可以把一些记录中大量重复的信息抽象出来,代表全部信息。
这里我们就会看到一个有趣的现象,一种活动还可以作用与它自身的经验,我们把这种活动作用于自身经验的现象叫做自作用。自作用现象所以能够进行的道理很简单。因为经验(即自编程序)作为一些记忆就存在于那里,它并不分你我,因此就产生处理自身经验的可能。当它把自身的经验进行处理时,就出现自作用现象。
自作用现象在心理的发展中非常重要,主要表现在思维对思维的自作用,不断改进思维能力方面。
E、缺省型抽象的发展。
它的发展过程与其它能力的发展类似,不再多说了。
8、思维活动的进一步发展。
A、预测——推理——推测——猜想。
依照上面的规律,每种原始的思维操作能力还可以进一步发展。
由于预测是基于已经建立的反射链上发展成的思维操作,因此尽管它不是非常准确(有时同一反射链上的事件并不一定会发生),但还是比较准确的。
甲、原始推理。如果两条反射链上有一个或几个交汇点,那么预测操作可以沿这个交汇点从一条反射链预测到另一条反射链。这就出现原始的推理。在第一条反射链上首先出现的事物就相当于推理的大前提,两条反射链的交汇点就相当于推理的小前提,在第二条反射链上预测到的事物就相当于推理的结论。
不过请注意,这种原始的推理,不具有成熟推理的严格要求。大前提与小前提的关系,小前提与结论的关系,都不是十分准确。它们都是建立在反射基础上的相对的准确。事物不按反射建立时的情况进行了,推理就错误了。
乙、原始推测。如果出现的事件不是反射链上的事件(或还没有建立稳定反射的事件,或已经退化的反射链上的事件),系统也可以调用预测经验进行预测,此时由于没有反射链作为依据,系统就运用联想寻找类似事件的反射链进行预测。这种预测由与没有真正的反射链支持,因此结果比预测还不准确。我们把这种准确性较差的预测叫做原始推测。
原始推测还可以以这种方式沿多条联想出的反射链进行(像原始推理那样),得出的结果也比原始推理更不准确。这种操作也叫做原始推测。
原始推测显然是原始预测和原始推理的发展,其特点是没有稳定的反射链,依靠联想的反射链进行操作。
丙、猜想。在推测过程中,如果联想的反射链不是一条,而是两条以上,就需要从中确定一条进行操作。这是需要由原始想象(即胡乱操作)确定一条,这种确定是没有理由的。这样就更增加了推测的不准缺性。这种更不准确的推测叫做原始猜想。
如果十分需要进行推测,但是既没有稳定的反射链,有没有可以联想的反射链,往往会由原始想象胡乱确定一条或几条反射链进行操作。由于反射链是胡乱确定的,结果的准确性也会十分差。这也是一种原始猜想。
丁、对原来词汇的新定义。前面,我们实际上重新定义了原始预测、原始推理、原始推测、原始猜想这些概念。预测、推理、推测和猜想的含义已经与通常使用的有所不同。
其中原始预测被定义为沿一条稳定的反射链进行的操作。原始推理被定义为沿两条或多条有交汇点的反射链进行的操作。原始推测被定义为沿一条或多条由联想确定的反射链进行的操作。原始猜想被定义为由一条或多条由原始想象确定的反射链进行的操作。原是预测和原始推理较为准确,原始推测比前两者差,原始猜想准确性最差。
B、判断和选择。
甲、原始猜测。猜测与预测不同,预测是以稳定的反射链为依据的,猜测是没有任何依据的。在某些情况下,发生一个事件,没有相应的反射链可供预测。也没有可供联想的反射链进行推测,这时系统就胡乱调用预测经验并胡乱确定一个结果作为事件的将来情况。于是便产生了毫无依据的猜测。显然这里,猜测也比通常所使用的词汇具有了更确切的含义。即它被定义为没有任何依据的对已知进行确定的活动。
我们在讨论自主学习过程的时候已经指出系统有一个先天性的能力,随机调用能力。这种能力随机的指向小程序时(在大脑中是指向激发某活动的神经元),就产生自主学习过程。这种能力随机的指向某事件的记录时,就产生猜测。而前面讨论的原始猜想中的想象也是由这种天生的随机调用能力实现的。
下面再看一看猜测与推测的区别。猜测与推测不同,推测是有反射链为依据的,但是依据的反射链由于联想的参与而不够准确。猜测与猜想类似,只不过猜想偏重于事物的情景和过程,猜测偏重于事物间的关系。
乙、原始猜测的经验积累。
在原始猜测进行时,伴随学习也记录下原始猜测的经验,其中有猜测成功的正经验,也有猜测失败的负经验。由于有了猜测经验,在同类事件或类似事件的猜测时,有些猜测被成功经验很快确定,有些经验被负经验禁止,不准往那个方向猜测。由于经验的存在和经验对猜测的约束,因此也会出现随机但不会爆炸的现象。因此,计算机理论中人们担忧的组合爆炸现象在此处还是不会出现。
有了经验以后,猜测会由有很胡乱向比较正确方向发展。这相当于思维操作由无序向有序发展。一个耗散结构系统从无序向有序地发展需要引入负熵流,此时引入的负熵流就是系统在自主学习中由感觉器官获得的操作效果的信息。因此本文第二大段的自主学习技术对于一些不是由反射发展出的思维方式,是一个关键。没有学习过程为系统反馈信息,就不能像系统引入负熵流,就不能是无序活动(胡乱进行的活动)转变为有序活动。
丙、原始判断。多次反射型抽象对猜测经验进行抽象后,便得到了抽象的猜测经验,这种经验的内容大约是,由某事件可以猜测到另外的事件。这种经验的扩大应用,便从出现的可能扩大到有联系的可能,既有一个事件猜测与之有联系的事件。这是猜测便发展为原始判断。原始判断与形式逻辑中的判断还是有很大区别的,它是没有准确依据的判断,它只不过是较为准确(因为依赖了经验)的猜测。
这种原始判断还只对两个事件进行操作。
丁、由推理、推测和猜想参与的判断。
原始判断也会由伴随学习纪录为判断经验,依据判断的正经验判断会更准确,依据判断的负经验会有些不合理判断被禁止。从而在经验的支持下,提高了原始判断的准确程度。
原始判断在经验的支持下继续扩大,会引入推理、推测、猜想的结果进行判断。也就是说,在原始判断的过程中增加了原始推理、原始推测、原始猜想的操作。增加原始推理的判断,由于原始推理依据了稳定的反射链,判断的结果就比较准确。增加原始推测的判断,由于原始推理依据了联想的反射链,判断的结果就不够准确。增加原始猜想的判断,由于原始推理依据了没有可靠依据的想象,判断的结果就很不准确。从而形成对多种形式的判断。
这时的判断已经接近于我们思维的判断。但是它们(引入三种不同操作)并不是形式逻辑的判断。只有依赖严格推理的判断才是形式逻辑的判断。增加原始推理的判断最为接近形式逻辑的判断。其它的都不是形式逻辑的判断。其中增加原始猜想的判断属于非逻辑判断,增加原始推测的属于非形式逻辑判断。
显然,这里我们看到了思维中判断操作在逻辑上的分化。出现了非逻辑、非形式逻辑和形式逻辑三种不同类型。因此我们确信,人类智能工作在一个非逻辑体系(只要包含非逻辑操作就是非逻辑体系)中。
戊、选择。由了判断能力后,在系统面临选择时,就会由判断作为引导,通过判断进行选择。
9、由反射推证出一些原始思维能力的产生的意义。
A、证明反射与思维确实有密切的联系。
我们在上面仅仅由神经系统的反射功能出发出发,加入大脑的随机调用能力,就可以推证出原始预测、原始归类、三种原始抽象、原始推理、原始推测、原始猜想、原始猜测、原始判断和选择能力的产生,构成一个除去分析、综合能力以外的主要思维操作体系。这表明,反射的意义不仅仅是象巴甫洛夫学说那样简单,而且可以与思维的复杂操作有着密切连系,表明思维不是一些不可捉摸的大脑操作方式,而是由简单的神经系统的反射功能演变而来的。
B、原始思维是由学习产生的能力。
上述推证也表明,虽然思维与反射有着密切的关系,但是不经过学习是不可能有思维能力产生的。实际上,后天性反射的建立,就是人和动物学习能力的一种。而我们已经看到,那些原始的思维操作能力都是与学习中建立的反射联想联系的。没有反射学习,就不会有包含大量后天性反射的反射链出现,也就不会有各种思维操作能力出现。仅仅靠神经系统中那一些为数不多的先天性反射,不足以构成稳定的、大量的反射链,也就不能够产生思维。
这也证明了我们一再申明的观点:大脑和神经系统只为思维的产生准备了条件,没有后天的学习,大脑不可能有思维。
从我们对思维能力由反射功能的产生来看,我们也可以知道为什么我们讨厌计算机学习理论,因为它讨论的学习与反射的建立、思维的生成,没有多少关系。
C、为思维的测度打下基础。
有反射到原始思维能力的推证,也为我们测度思维的产生提供了思路。
思维的产生显然有这样几个条件:
第一、大脑和神经系统具有一定的先天性反射。
第二、大脑和神经系统有在后天学习中建立后天性反射的能力。
第三、大脑有随机调用经验和各种纪录的能力。
第四、大脑有则够多的神经元,以便建立镜像神经空间复制实际神经空间的反射链。完成代码化过程,为思维提供空间。
第五、要有充分的学习环境和长期的学习过程。
如果某种动物不满足上述条件中的任何一条,其思维能力也就不会产生。这样我们就为判断动物有没有思维能力提出一个可以测度的标准。当然目前还不能把这个标准全部量化,只能进行定性的测度。随着研究的深入,定量的测度思维也会是指日可待的。