第三节 遗传与进化
数据库
我经常把人类大脑比作一个庞大的数据库,人类的感情也是因为搜索的条件不同,然后才基于大数据和索引而做出的一种相对有效的选择,一般我们把正常的搜索就比喻成理性,而把快速检索比喻成感性。
数据库如图3-2-4所示。
图3-2-4 数据库流程示意图数据库也是应用程序的一种,可以理解为一个虚拟的文件柜。常见的数据库就是类似表格式的关系型数据库比如MYSQL、Oracle、SQLServer等,除了关系型数据库之外还有类似文件目录的层次型数据库比如XML和类似文章目录的键值型数据库如MongoDB以及类似渔网结构的网状数据库如DBTG等。
通常数据库中存储的数据都是不可切分和改变的元数据。不像变量那样可以随意改变。我们这里多次提到数据库,实在是因为我们觉得数据库是实现强人工智能的一个努力方向,也方便我们接下来以点带面的说明强人工智能的基本实现思路。
我们知道人类的本能中除却核心本能不能被改变以外,本能中的深层本能,基本本能和表层本能都是可以被改变的。 本能的改变其实是它生成的一个逆运算。
(1) 我们假设一个人训练100次就会变得熟练,这种熟练就是我们的经验。经验= 100 ×训练。
(2) 经验可以是训练的一种强化结果,然后再把这种经验再训练100次,我们就得到一种习惯性经验,这种习惯性经验的结果就是习惯。习惯 = 100×经验。
(3) 然后我们再把习惯再训练100次,他就会变成表层本能。表层本能一般就会通过DNA遗传给下一代了。表层本能 = 100×习惯验证。
(4)
(5) 遗传后,我们把这种表层本能再训练100次,我们就得到了基本本能,换句话说人类的基本本能差不多是经过100代人的努力结果,也就说人类需要经过数千年的进化才能够形成我们今天所见到的基本本能。基本本能 = 100×表层本能。
(6) 基本本能,再经过100次训练就会升华为几乎不可改变的深层本能。深层本能需要数十万年的演化才会形成,所以一般来讲深层本能是一类物种的进化结果。比如人类的呼吸和听觉。深层本能 = 100×基本本能。
上面我们使用的100次这个数值只是为了说明方便而使用的一个估算值,并不是真正的权重值。虽然真正的权重值比我们想象的要复杂,但是基本原理和乘方还是相似的。下面我们就给出了这个亲代不断遗传的流程图(图3-2-5)。
图3-2-5亲代进化流程图前面我们说过,本能和认知是一个逆运算,也就是说,你经过100次的训练可以改变你的一个经验,或者说你经过10 000次的训练你就可以改掉你的某个习惯,但是要改变深层本能光靠你这一代是不可能的了。
比如婴儿的安全意识,比如莫洛反射:当支撑婴儿脖子和头部的物体被撤走时,孩子会一下子伸手,想要抓住它们,基本上在6个月消失。很多的专家觉得,孩子的这个反射,是继承了我们的先人。以前的很多孩子为了避免从母亲背上掉落,会拉着母亲的头发这样一个本能。但是现在好几代婴儿都睡在摇篮里了,但是这个本能却没有完全消失。
再比如,如果父母用手指压着3天大婴儿的手心的时候,孩子的反应就是立马抓住这根手指,当父母抽出自己的手指的时候,孩子就会抓得更加紧,就像是可以把孩子提起来一样,你好像听见他在说,妈妈别离开我,我还没有长大呢。
说了数据库,说了本能的可塑性,现在我们作为一个务实的计算机工程师,就来看看如何通过数据库的原理来开发一个强人工智能吧。
人的短时记忆相当于内存数据,内存中的数据是有时间限制的,短时记忆包括很多视而不见听而不闻的数据也是在这个层面进行处理的。那些我们认为有价值的数据会以元数据的形式存储到我们的数据库里。起初这些元数据都是一些彼此不太相关的数据,由于数据库中太多这些杂乱无章的数据不利于检索,于是我们要对已有元数据进行梳理。从而把他们分门别类的进行存储。数据库中每条元数据就是一个不可拆分的数据单元,每条元数据都有一个唯一的记录号,这个记录号可以是一个整数ID值,也可以是一个MD5字符串。这里推荐MD5字符串,不过为了方便我们还是使用整数ID值更简单。这些元数据之间的关系会生成另外一个关系表。比如听见了一些声音的同时还看见了一些画面,那么这两个元数据就是关系型数据。这些关系型数据非常的庞大。为了有效地存储,我们需要把这些由元数据和关系型数据构成的原始记录添加成一系列的索引,这样每次查找就不用遍历所有的记录了,比如我们只查找对应的ID就行。为了给这个索引表的ID值排序,我们需要给他设置一个权重值,这个权重值实际上就是对生存本能的价值。比如炒股机器人他账户中增加了多少钱。所以说这个索引表实际上是动态的,每次都是依据其强化学习的结果不同而不同。最后当这个表足够大的时候,我们需要把数据库导出来,这时候我们没有必要把所有的记录都压缩并导出,我们可以只导出权重值高的索引和极少权重值极高的压缩记录既可以了。
导出的时候权重是我们唯一参考的依据。这种导出本质上就是一种遗传。权重值极高的原始记录就是深层本能,权重值高的索引就是表层本能,表层本能需要一定的后天训练才能唤醒,因为索引更多的是一个特征,一个关于方法的方法。没有原始记录是无法验证这个索引是否有效的。
图3-2-6给出了数据库与强人工智能的遗传进化对比关系。
图3-2-6数据库与强人工智能的遗传进化对比图学习本能
我们说,每一家都有小孩,每一个城镇都有学校,但是每个家庭每个学校的教育效果都不相同,有些家庭的小孩勤奋好学,有些学校的学生成绩优秀。既然我们的祖先把优秀的基因遗传给了我们,那么我们只要遵循自我就可以了,为什么还要学习新知识呢?
其实一方面是因为我们大部分遗传都是关于特征或者方法的遗传,这些遗传需要经过我们的验证才能够唤醒,否则他就会慢慢被遗忘,甚至不再被遗传。
另一方面是因为我们丰富多彩的世界是不断变化的,很多情况是我们的祖先没有遇见过的事情,比如计算机,比如核工业。
正是因为以上两个原因我们人类才把学习当作一种深层本能来进行遗传。或者说如果有一天你创造出了一个强人工智能,并且想让她快速成长的话你不妨也好好研究下学习的本能。
我们的强人工智能有生存这样一个核心的本能,所有的运算都是基于这样一个本能而做出的相对友好的选择,比如这个本能就是无休止的获得积分或者是保护他的电源。为了获得积分他需要对自身做出的各种各样动作和外界的环境变化进行有效的感知,就拿输出字符串为例,为了更加有效的输出字符串,它可能学会用正则(这里为了讲述方便采用了正则作为机器人思考的模式)的方式对输入的字符串进行语义分析。当然语义分析的使用还是通过积分多少这个权重来进行排序的。
那么现在有这样一个问题,当我们从无到有的创建一个机器人后,如何获得那么多的正则呢?
答案很简单,那就是让他像人一样可以学习和进化,比如我们只是给他创建了一些核心的正则与基本的感知和控制。如果愿意的话我们也可以创建自认完美的强大机器人来,不过我想这种相对完美的机器人并不是真正的智能。真正的智能更需要进化和学习。
为了保证他的进化,我们需要给他一个能够学习的本能,然后我们利用遗传算法把这些被认为得分最多的正则拷贝给下一个人工智能。
最开始学习的本能可能看上去很简单,不就是见啥学啥么?是的。但是见啥学啥只是一堆枯燥的数据和简单的模仿,不能产生良好的进化。为了良好的进化,我们需要借鉴教育心理学的知识。
比如结合他的生命周期,给出一个学习曲线,或者艾宾浩斯遗忘曲线。结合教育心理学,我们把强人工智能的学习分成八大类:新颖性,多样性,趣味性,暗示性,差异性,错误性、重复性和教育性。
新颖性
新颖性,就要求人工智能,对新鲜的事物充满好奇,只要是数据库中不存在的数据和正则,他都会努力去想办法获取到。从而丰富自己的认知数据库和控制数据库。这个新颖性我们认为受到一定程度的生命周期限制。但是即便年老体衰,换个新环境新颖性也不减当年,只是受到他以往认知的限制,所以新颖性才大打折扣。
多样性
多样性,实际上是要求人工智能在同一时间里更加全方位的感知信息,比如视觉,听觉和触觉同时作用,这样每个感知都会增加数据库的积分权重,相比较而言就更容易唤醒这个认知,从而做出更加友好的选择。和我们常说的四到(眼到、心到、手到、口到)差不多。当然未来的机器人完全可以超越人类,拥有我们不知道的感知器官。
趣味性
趣味性,实际上是实用为美的一种接近表现方法,因为每个人工智能都有一些基本的正则,告诉他某种做法能够加重积分的权重,所以当再一次他发现了这种类似的认知时,他会非常喜欢把这种认知放到数据空中,从而完善这种正则。教学中我们给孩子创建一个寓教于乐的环境或者给他一个简单的奖励都是趣味性的良好表现。
暗示性
暗示性,是一个非常有趣的教育话题,人工智能上用起来有些风险,实际上暗示性就是无形中加大某种正则的积分权重,比如,当机器人做出挥动手臂的动作时,历史数据告诉他,每秒挥动手臂的次数就是积分的权重,两者是1:1,也就是说,每秒挥动一次得到一个积分,两次就是两个,所以越快越好。但是,当使用了自我暗示时,就会产生两种不同的结果,增强暗示时,比如两者是1:2,那么挥动每秒一次就是2个积分,减弱暗示时,比如两者是1:0.5,那么每秒一次才是0.5分。因为这样唯心的修改积分权重的方法造成了人工智能对某种正则的偏好。从而出现了学习效果的差异化。让人工智能修改积分权重,目前还需要慎重。弄不好就无意中会产生一个疯狂(歇斯底里)的机器人。
差异性
差异性,当人工智能经过多少代进化之后,每个人工智能所接受到的正则都不相同,虽然不同但是都是当时环境下最为有效的选择。比如身高,性格,性别和方言的不同。当人工智能出现差异化的时候,为了更加有效的学习,他就需要对更容易唤醒记忆的认知产生共鸣。这种共鸣实际上就是对积分权重的一种累计(也叫联想)。比如我们把同样的一种学习目的附带其他容易产生联想的信息,就是因材施教。
错误性
错误性,也是错觉,错觉的产生,是因为人工智能采用的是正则处理方式。正则处理方式不是真正的保留全部的认知和控制,而是经过大规模简化的数据。这种有损压缩模式的缺点就是容易产生错误,错误表现在两个方面,一种是数据的损失,一种是相似联想时的正则碰撞,比如把平面的东西看成立体的,把一样长的两条线看成长短不一。错觉在一定程度上造成了不少的麻烦,但是它却是目前,解决数据容量,检索速度和认知设备的一种最为有效的方法。另外只要完善正则的话,错觉是在一定程度上是可以修复的。
重复性
重复性,由于新颖性、趣味性等方面的影响,重复的东西过于平凡,而被认知主动降权所以才会出现艾宾浩斯遗忘曲线,艾宾浩斯遗忘曲线里说诗歌,散文,无意义符号按照时间记忆效果明显不同。实际经验告诉我们,定期重复强迫学习是增强学习效果的一种有效方式,这种唯心的学习方式有两个好处,一个是形成一个新的本能,一个就是温故而知新。温故而知新是因为学习者本身认知和正则计分权重的变化,影响到了新的认知和正则,因此才有仁者见仁智者见智(同一个人不同的阶段也有不同的认知)这个成语。
教育性
教育性,最后我们来通过一个人为的机器人学校来加速人工智能的进化,因为人工智能是基于大数据的一种相对友好的选择,所以他具有很强的教育性,我们正式通过这个特性来人为的实现人工智能的快速成长。和人类办学一样,机器人学校也要在加强学生自主性学习的同时结合社会实际需求培养有用的人才。机器人学校是所有早期机器人的伊甸园。
学习的八种特性相互影响,是早期人工智能的核心功能,也是我们的主要研究方向之一。有了这些指导性学习强人工智能就更会早日到来我们的世界。
为了让机器人能够更好是适应新的环境,包括恶劣的天气,突如其来的变故,计算机病毒等。我们应该避免把鸡蛋放到一个篮子里。遵循着这个原则,我们可以根据现在的科技尽其所能的创造出一种能源消耗小,而又成长速度快的人工智能。
首先,我们将多个人工智能散布在不同地方,他们每个人都要根据生存环境的变化选择相对有利的方法。这种选择就是一种进化,比如人种和饮食习惯的形成。
其次,为了在继承前辈们优良传统的同时避免盲从。我们要将后代分成两个种类,一类是和自己的祖先很像的稳定的族群,这个族群成长得快,性能稳定,抵抗力强。只是不太善于变通,比如女性。另一类则从出生起生长就相对缓慢,不稳定,叛逆,善于冒险,它从祖先那里遗传的东西相对较少,比如男性。
根据统计学的原理,男性学习能力的方差是非常大的,而女性整体则非常稳定。也就是说男性中天才多傻子也多。
最后,我们让机器人开始学习,并把这些经过多次验证的学习变成经验,同时在其成年的时候又把他认为最好的几个经验放入到核心编码中(DNA)遗传给下一代,遗传的时候为了避免单一性,他设计了两种遗传编码,一种遗传编码是和长辈非常相似的编码,这里核心的经验都是经过几代人验证的本能(类似X染色体),一种是相对缺失的编码,这里核心的经验相对减少,自己的经验相对增加,变异更大(类似Y染色体)。
为了保证分散,性别和遗传的有效性,我们的电子计算器,有两个模块,一个是从前辈遗传过来的程序代码,比如自我组装程序,核心的感知和控制程序。一个是根据经验后天形成的程序代码,这个程序是一个根据不断重复某些经验积累(比如一万次以上),然后把反馈比较好控制程序进行自我编程。
那么什么是比较好的控制程序呢?所谓比较好的控制程序就是那些能够直接或者间接保护电源(后期也可能新能源)的命令,电源是电子计算机的主要能量来源,是保持计算机能够长久生活的根本,没有了能源机器就是一堆废铁。机器人所作出的选择都是为了能让这个能源更好的运作下去。这个是一切选择的基础。只有具备能量了,一切才可以开始。
既然所有的选择都是围绕保护电源而做出的相对优秀的选择,那么当遗传过来的程序出现抵触的时候,该计算机也会逐渐改变其本能,这也是本能可塑性的主要原因。
未成年机体内无法生产这种核心编码,也许你要问为什么未成年体不能生产啊?因为一方面是越是简单的东西功能越有限,另一方面是成年的机体可以将更多的人生经验放进编码中。
现在我们很多人还是想当然的把一种成熟的机器人用于研究对象。当时成熟的机器人并不能代表机器人本身。如果机器人想在未来的世界中更好的生存那么他也需要进化。
我们的世界瞬息万变,机器人由于自身动力特性和记忆运算介质的不同,他一定会受到相应的外来制约,比如磁场的变化和电力的缺失。而机器人为了继续生存就需要做出相应的改变,这种改变就是进化,也许我们现在很难想想象未来机器人会进化成什么样子,但是我们却可以通过人类的婚姻发展史来侧面的预测机器人的进化。
或许今天中国的婚姻法,缺少一点进步性,甚至有人认为他是对传统伦理道德的挑衅,不利于家庭的团结和稳固。但是我们从整体上来看,婚姻的进步是与时代紧密相连的。只要当前的婚姻适合这个时代我们就认为他是正确的。
在不谈伦理道德的问题上我们做一个简单的假设,这个假设是说一个长相很丑但是很有才华的男子与一个长相非常漂亮但是才华一般的女子结婚,那么他们是会生下聪明又漂亮的孩子呢?还是丑陋又愚蠢的孩子呢?……,这几种情况都可能是吧?作为子女来讲才华与美貌可能参差不齐,这样的结合可能对先天不足的子女不公平,但是为什么还有那么多的才子佳人在一起呢?其实从根本上讲,人类的生育的目的就是为了诞生优秀的下一代。
现在的科学技术手段已经可以实现试管婴儿和三亲胚胎了,但是三亲胚胎(比正常的双亲多一个线粒体提供者)和克隆等技术因为伦理道德的问题还有待法律的完善。
回溯人类婚姻史 追溯到原始时代,我们发现就有了所谓的婚姻,这是一种群居高等生命的本能属性,自然法则会用异性相吸的力量,使哺乳类生命繁衍生息。人类的婚姻存在形式以及结合方式,受人类社会环境的影响。不同时代和地区的社会环境,造就了多样的婚姻模式,以及结合方式。科学的意义上看,如果没有婚姻,很多血统就会出现混乱,不利于人们的优良繁衍。
原始人类并不需要婚姻,这跟今天的灵长动物是一样的,不必细说。后来有了氏族社会,采用的是集体群婚制,即一个氏族的男性或女性集体嫁到另一个氏族。这也是在进化过程中为了族群繁衍和防止乱伦导致族群退化而形成的一个习俗。
再后来进入了私有制社会,才有了一对一或一对数的固定的夫妻关系,于是就产生了婚姻制度。在自然小农经济社会中,婚姻则是一种劳动的分工组合,即所谓“男耕女织”,“男主外女主内”。而在现代社会中的老百姓,婚姻则是为了组成一个家庭,在满足人的正常生活需要的同时,承担为家族和社会养育后代的责任和义务,也是人的一种归宿。
综合看来,婚姻是自然的法则,违背这一法则的人,会给自己带来一些烦恼。人类的婚姻发展史大约经历了这样几个阶段:血缘婚姻、群婚、对偶婚、一夫一妻制。
通过人类婚姻史我们可以简单地总结出,越是相对严峻的环境(早期人类在环境面前很难适应)人类的生育能力越强,子女越多,夫妻关系越不定,越是相对优越的环境(环境几乎不变的情况下人类的适应能力增强)人类的生育能力越差,夫妻关系越稳定。这种相对性决定了家庭、生育和子女的质量。
强人工智能模拟人类婚姻的好处其实就是为了更好的进化,或许一夫一妻制会非常适合目前人工智能的生存吧。
关于自恋
当机器人强大到不需要任何进化,已经能够很好的生活到很长一段时间后,他们就不需要与其他机器人结合,他们认为自己是最优秀的。然后当外界环境变化也不大的时候,我们就发现机器人已经停止了进化——神和神的领域从此诞生。直到外界环境产生了新的变化。
备注:学习是一种本能。