本文转载自微信公众号“人机与认知实验室”(ID: 9h_9c3c1f805cb8),作者weixin_33882443
原文链接 https://blog.csdn.net/weixin_33882443/article/details/86150464
本文将从最基本的逻辑分析的角度来分析人类思维的起源和基本过程的逻辑结构等基本问题,以便对于人工智能的设计提供指导性作用!首先分析了现有的人工智能研究所面临的问题,然后提出解决这些问题的办法,然后将分析人类的意识的最基本逻辑表达和人类思维中的各种状态的逻辑内涵,其中包括记忆与遗忘,学习,推理(算法),对象的产生,自我意识,感觉(输入),表达(输出),表达反馈,睡眠,潜意识,感情。然后根据这些分析构造出一个最接近代码的逻辑结构与算法!本文尽可能的使用人们都可以理解的逻辑语言来表达,希望看过本文3遍以上并且认真思考的人们可以构造出自己的人工智能算法,以促进中国人工智能未来的发展!
现在的人工智能研究和人工智能软件都面临着一个问题,那就是没有人类那种强大的学习能力,所有这些软件都是根据代码来执行和表达的,代码是由程序员输入的,这样一来任何一个对于人类来说简单的智能问题(例如识别人长相等)输入到计算机内都变的十分复杂!因此如果用这种方式来进行人工智能的研究的话那么要想让计算机达到人类中7岁小孩的思维水平的话也有非常长的道路要走。而要想解决这个问题我认为就必须从关键的问题着手,关键的问题就是学习能力,如果计算机具有和人类一样的学习能力的话,那么根据现有的水平完全可以将这个能力进行扩大,因为制约学习能力的关键因素是信息的质量和逻辑处理的速度和记忆的强度这几个关键问题,而对于计算机来说这几个问题是可以通过硬件的改进而加强的!研究过神经元网络的人可能知道计算机的处理能力和人脑的处理能力相比在速度上具有明显的优势,在处理精确的问题时一个486的处理速度就是人脑的很多倍!如果扩展到现在的超级计算机,不可想象它将是人脑运算速度的多少倍!您可能会发出这样的疑问,人脑处理模糊事物的能力是现在的计算机所无法比拟的!这个问题您将在后面的分析中自己找到答案!
要解决目前人工智能研究所面临的巨大难题,唯一的解决途径是分析人脑学习机制的逻辑结构和流程,然后根据这个逻辑结构来模拟一个算法,并将这个算法在计算机上用代码进行实现。人类的智能是怎么产生的呢?在人类刚出生的时候并没有成人那样强大的思维能力,所拥有的仅仅是简单的本能,人类的强大思维能力其实是建立在本能的基础上的,人类的智能其实是本能的扩展和延伸!所有的本能都只有一个目的,那就是生存。生存就是表现生存,例如当婴儿感到痛苦(生存受到威胁)的时候的第一个本能反映就是哭,哭可以理解为增大自身的行为表现,以增大自身的生存表现。这种本能行为一般会以最大限度的强烈程度的表达而体现,而当自身的需求得到满足体现为自身的表达的扩大,例如控制某个物体的移动等时,则表现为神经兴奋周期的加快,体现为兴奋的各种状态,笑,开心,好动……。随着婴儿的成长,慢慢就会产生对象的概念,最开始产生的对象是自身表达的感知对象(自我意识的雏形),然后是父母对象,当形成了这些对象以后会进行类比,自我意识和父母对象中相同的部分在思维中会建立一种联系,当父母和自身表达出相同的行为时(自我意识被肯定)会产生兴奋,否则会产生悲伤,例如当母亲离开自己的时候会哭(这是最开始的表达方式)。随着他对于自身行为的理解,当父母产生和自己行为的不同行为表现时如果哭这个办法不管用,可能就会产生改变自己的行为以达到行为的统一这种倾向,对于重复出现的不同行为会不断的加强这种倾向(当这种行为可以被理解以后,行为的理解最开始就是与本能建立联系),这种行为倾向就是人类模仿事物行为的倾向和能力!小孩子喜欢玩过家家等模仿性游戏(电子游戏也是这样,自己模仿一个虚拟对象的行为)的原因就是这个,随着人类对于事物认识的不断深入,自我意识的扩展就体现为各种各样的形式,并且十分的复杂,例如会产生逻辑思维,要体现自我意识就一定要生存,而生存又一定要有钱,等等!当自我意识不被肯定的时候可能会产生极限的行为那就是自杀,精神分裂,变态……。前面的分析中最重要的部分是“本能”“对象”“自我意识”。通过前面的分析可以看到人类思维产生的根本原因就是自我本能的存在,意识的产生,对象的产生,其它的问题后面讨论!
通过前面的研究你可能会产生一个问题,究竟智能是什么?我来回答,智能就是一个可以输入输出,输入信息在智能内部可以构成具有和输入的真实信息一样的联系机制(包括运动和变化)的系统!例如当向人脑中输入一个世界的时候人脑中就会存在一个世界以及世界中物体之间的运动变化关系,并且存在一个自我(自我的形成就是人的表现被输入到人脑中产生的),以及自我在这个世界中的可能行为,从而形成人的种种行为!一个系统越智能则存储的信息就越多,存储的信息之间的联系就越接近真实的物质!人类具有强大的智能就体现在人类可以存储强大的信息以及信息之间的运动变化关系这点上!而现在的所有程序都不具有这个特性,所以从严格的角度来讲现在的所有程序都不是真正的人工智能!现在的程序记忆的仅仅是很有限的信息和非常少的一点联系,而人类的智能就是建立在存储信息和存储的联系之上的!并且任何复杂的联系任何复杂的逻辑其实都是由简单的联系和逻辑所构成的!在人脑中这些基本的联系是由神经元来完成的!而记忆实际上是神经元状态的改变和联系的改变!神经元的状态只有一种,可以在程序中用一个变量来模拟!而神经元的联系也只有一种,这个联系也可以用一个变量来模拟,并且这个变量只对应一个数值的改变,只对应神经元状态的改变!通过这个规则可以构造一个算法!神经元的状态的数值最高的处于最优先的位置,而每个神经元对应一个信息,有的神经元对应人类的行为的表达信息,有的神经元对应人类的某种感觉“视觉,听觉,触觉,味觉,嗅觉……”。有的神经元状态是争抢一个通道,例如视觉信息和形象思维,当人类注意看一个东西的时候就不可以进行形象思维,当人类进行形象思维的时候对眼前的东西的注意力就会下降!听觉信息和视觉信息也是争抢一个通道,所有的感觉信息都争抢一个通道,您可能会产生一个疑问,那就是人类可以一边听东西一边看东西一边还“感受”其它的信息?其实原因是人类处理感觉信息的时间是有富余的,处理一个声音的时间要比声音输入的时间快的多,所以有其它的时间处理其他的感觉信息!因此只要计算机的速度足够快也完全可以模拟甚至超越人类的脑神经的功能的!我认为所有的神经元共有一个通道,前面讲到神经元的状态可以称为神经元的优先度,神经元的优先度决定表达和感受的先后次序和强度!而神经元之间的联系可以叫做关联度,关联度的意义就是当一个神经元的优先度最高时被处理,并且可以改变其它神经元的优先度,如果关联度为正则这个神经元的优先度增加时和它相关联的神经元的优先度也增加!反之都减少,为负则变化数值相反,变化的比例大小根据优先度的绝对值决定!如果原先的两个神经元没有关联但是它们先后出现在通道中最优先和次优先的位置上的话,那么这两个神经元变建立了联系!因此人类可以创新,例如电灯的发明,其实本质就是人们将原先没有关联的信息建立了关联,将电,真空,钨丝,联系起来,制造出白炽灯。其他的发明也不外乎如此!这样就可以通过两个数值来模拟人类的一切思想与行为,通过直接联系来模拟一切间接联系!您可能会有疑问,难道人类的思维仅仅是这么两个数值就可以表达的吗?下面的分析将会使您对于这个结论深信不移!
除了前面的数值必须模拟以外人类还有一个特性是计算机所不具有的,那就是遗忘和疲劳,您可能会问疲劳和遗忘对于人类的思维来说是没有必要的,这些东西只会阻碍人类的思维,如果我不需要睡觉不会遗忘那该有多好,但是看了我下面的分析您会对这个想法有新的认识!首先说疲劳,如果人类没有疲劳那么人类将会不断的做同一件事情,因为那件事情始终可以使人类快乐,那样就不会对新事物产生兴趣,也不会学学习!正因为有了疲劳的存在才使得人类出现兴趣的转移,当同一个信息不断的调用的时候就会使得那个信息对应的神经元产生疲劳,从而使得其它的相对不疲劳的信息处于通道中的最优位置而出现兴趣的转移!使得人类行为呈现多样化趋势!下面研究遗忘,在研究遗忘之前首先研究一下记忆!记忆的含义从最本质上来讲就是信息与感觉神经建立联系,并且将这个联系存储,也就是说记忆的本质就是信息与神经建立联系,而这个联系就是关联度,人类的回忆就是信息的优先度处于最高,只有这种情况才可以造成表达,也可以叫做回想,我叫做知觉回放!人类思维的过程就是一个知觉回放的过程,因为信息优先度的不同所以在知觉回放的时候会破坏信息存储时的优先度关系,而其中经常被刺激的信息的优先度一定是最高的,因此经常处理的信息不会被遗忘!因为经常处理的信息优先度始终处于最高的位置,所以人类可以在大量的信息中找到信息之中共同的属性,从而进行联想,进行归纳总结,抓住事物的规律,并且人们主要的学习方式是书本和语言,因此人们思考问题(知觉回放)的主要方式也是语言!大家在思考问题的时候头脑中反复出现的是不是语言信息呢?显然答案是肯定的!当然这也不是绝对的,其中也伴随着图形知觉回放,人类称之为形象思维!人类在思考问题的时候实际上可能会忽略很多感官的信息,例如一个人在聚精会神的思考问题的时候是无法听到外部的声音的(除非声音强度非常的大)!
这说明一个问题那就是知觉回放和知觉神经是争抢一个通道的!只有当知觉神经处于最优先的位置时人类才处理知觉神经中的信息!而人类的遗忘就是因为联系的强度不够高(关联度不大或者与起关联的信息的优先度不高)以至于无法使得信息的优先度处于最高的缘故。通过上面的分析可以看到记忆的本质就是联系(关联度),没有联系的信息是不可能被记忆的,即使记忆了也不可能提取。而人类思考的本质就是联系(知觉回放就是信息与知觉联系以及信息与信息联系),因此一个人的记忆越丰富记忆的信息越精练,那么这个人的思维能力就会越高,也就是说这个人会越聪明,而人类的记忆的最开始就是信息和本能的关联,因此没有本能人类也不会发展!本能必须对应输出,因为只有对应输出的本能才可以使得人类的行为表达被人类自己所理解,从而产生自我意识,人类思维中如果没有自我意识的存在也就不会产生主体的行为,这个时候请认真的思考,认真的思考者将发现自我意识和本能的联合作用产生了人类的几乎所有的行为规则!这个面实在是太大了,包括人类以至人类社会中方方面面的表现与行为,规则,法律,道德,知识……。聪明的读者到这里如果已经理解了前面的知识将会在脑中形成一个人类思维的产生和规则的基本逻辑框架了!通过这个框架来构造一个在计算机内可以实现的代码将可以构造一个模拟人类思维和学习能力的程序,而且如果是在强大的计算机内被构造并且教育这个机器的人全部都是人类中最优秀的人的话将可以构造出远远超过人类智能的程序来!如果你还有疑问请看下面的部分!
模糊思维,通常的程序通过各种各样的随几函数来构造和模拟模糊思维,通过这种方法来构造模糊信息将站用大量的CPU,即使是处理简单的模糊问题也需要十分复杂的计算!这就是为什么很多人认为现在的计算机的运算速度不及人类思维的缘故,但是人类处理模糊问题并不是通过随几函数来处理的,人类通过潜意识和上面提到的优先度和关联度,疲劳度来实现对于模糊问题的处理!下面具体解释潜意识,前面讲到人类思维是通过知觉回放来思考问题,这仅仅是表层思维的过程,也就是显意识思维的过程!那么什么叫潜意识呢?所谓潜意识就是指具有表达可能,但是却没有形成表达(这里的表达是广义的表达,其中包括知觉回放)的意识,也就是信息的优先度处于较低位置的信息,例如人类在思考“为什么”这个信息的时候,“因为”这些字的写法不会在意识中出现,但是当“因为”这个信息处于最优先的位置时和它所关联的信息的优先度也会被加强,但是却不一定造成表达(知觉回放),这个时候这些信息,例如“写法”,“中文”,“所以”等等信息可能再其它的信息的关联的影响下而表达,在两次表达之间这些信息的状态就可以称为潜意识状态!潜意识虽然没有表达,但是具有表达的可能,在人类思维中也是起着十分重要的作用的!例如灵感的产生,当人们思考某个问题的时候可能这个问题中的一个关联序列始终没有出现,但是这个关联序列却可能是问题的关键部分,没有这个关联序列的产生问题就不可能得到解决!(这时候可以在头脑中进行我说的情况的想象!)于是人们暂时放弃了这个问题的思考进行休息,(此时问题处于潜意识当中)突然有一天这个关联序列被某个事物或者是事物的运动过程所启发(关联建立,并且优先度增大到最大)于是人们就产生了问题的解决办法,人们称这个为灵感!当然灵感可以在睡眠中产生,那是因为睡眠本质上来将是头脑中所存储的信息的优先度处于最高,而感觉神经中的信息优先度较低(也可以称为潜意识和显意识的换位),这个时候清醒时潜意识被表达,所以可以形成灵感!通过睡眠人脑中感觉神经的疲劳度降低,在做梦的过程中白天所接受的信息与以前所存储的优先度较高的信息建立关联,有的信息优先度被加强,有的被减弱,从而实现了合理的记忆和遗忘!而人们之所以会感到困是因为感觉神经疲劳度增加并且外部信息的强度降低,当人们闭上眼睛一段时间以后就会发生潜意识和显意识的转换,进入睡眠状态!在理解了上面的知识以后我用一个简单的例子来说明模糊识别,一个人的脸部特征和这个人的名字在脑中建立联系,当这个人再一次出现的时候某些信息因为优先度不高而被遗忘,于是再进行记忆,这时优先度较高的信息(特征信息,名字信息)就可能建立联系并表达,而这时所记忆的已经不是实际的图形而是经过遗忘的图形了,保留下来的是特征信息,于是当信息发生改变以后仍然可以识别,这是模糊思维的一个方面,另外的方面是由于思维在产生过程中总是由简单的但是较大的图形的识别开始的,因为在婴儿事情视觉并不直接对应本能,而只有触觉对应本能,因此最先与本能建立联系并且造成记忆的一定是较大(优先度较高),颜色较单一(会被认为是一个物体),可以被摸到,可以被移动的物体,也就是说人们首先认识的是简单的几何图形,而人们对于人类的认识也是这样的,会在脑中产生一个人类的抽象的概念(简单的几何图形的描述),因此和人类这个概念类似的图形都会增加人类这个概念的优先度(再没有其他的概念的优先度高于这个概念的时候),从而造成表达,造成模糊识别!随着孩子的成长会逐渐的区分不同的事物(因为通过错误,一些不同的特征会被记忆),于是识别也越来越精确,例如当孩子们知道好和坏的时候总是用好和坏来衡量人,这也是一种模糊识别,还有就是孩子们的想象力非常的丰富,也是因为脑中存储的类非常的有限,于是会对差别比较大的事物产生的就造成优先度的最高从而造成显意识的表达的缘故!
通过这些分析聪明的读者应该会对于为什么我说“人类处理模糊问题并不是通过随几函数来处理的”这个问题有一个自己的答案了吧!而且也应该明白为什么小孩子喜欢看动画片有一个解释了吧!也应该对于如何构造类似与人类的思维的程序和具有强大学习能力和模糊思维的程序有一定的头绪了吧!如果你还有问题请看下面的分析!
为什么人类都具有类似的审美标准呢?是因为人类在意识中(潜意识)存在一个女人(男人)类的抽象,而对于这个抽象具有最相近特征的表现就会被称为美!(这个时候好好想想是不是这个样子的!呵呵)人类的感情实际上也是由本能和自我意识产生的!我已经说明了开心与伤心,其它的感情是由不断输入的信息和联系和自我意识以及本能的综合作用而产生的!所以用我表达的这个逻辑结构拉设计的软件是有感情的!
人类通过行动的视觉表达和声音与视觉图形建立联系来理解图形,人类开始的时候主要的本能是建立在触觉信息的基础上的,因此一开始对于图形的理解是建立在触觉的基础上的!例如小孩子总是喜欢玩,当看到物体的时候形成的第一印象就是物体的移动等和自己的触觉相联系的信息!前面已经说过人类开始时理解的信息是简单和规则的图形,当出现类似的信息的时候就会联想到行为,如果这种行为表达出来,会根据事物在这种行为下的表现而建立这个新的图形的触觉相关信息,当这样的信息积累到一定的程度以后就可以对各种各样的图形形成自己的认识了!
人类通过输出的输入来建立对于自身行为的理解,并且在意识中形成自身和世界的“完整”映射,也就是说关键的问题是输出的东西一定要以某种形式被输入识别,只有这样才可以能产生自主的行为趋势!当婴儿第一次叫“妈妈”的时候会产生父母的行为输入,父母会爱抚孩子,使孩子的触觉感受神经产生某种良性反映,从而形成了对于“妈妈”这个输出的输入理解,这样就具有了在某种情况下主动的产生这个输出的可能,在他需要父母的良性触觉刺激的时候就可能产生语言的“妈妈”输出,从而产生了行为,其他复杂的行为只不过是这个道理的复杂化而已!再例如孩子们在小的时候看到的东西产生的第一印象往往是这个东西可以怎么移动,于是孩子们会特别的爱玩!在大人们看来很无聊的东西孩子们往往会玩的很开心,这是因为具有强大感知效果的东西会在智能中具有强大的优先度和关联度从而最容易产生回想,例如孩子们玩水,但是在孩子们的心中可能处于最大优先度的不是水,也不是水里面的肥皂盒。而是海,是船,甚至是孩子们曾经在电视里面看到过的航空母舰的行为关联理解!所以说孩子们会很开心,但是随着年龄的增长孩子们会发现这种类比的越来越多的不同,从而产生了对于事物的更加明晰的划分,因此再也不会产生那种联想了,也不会玩那些幼稚的游戏了!人们在小的时候往往有很多的幻想,但是随着对于物质划分的明晰这些幻想往往被证明是不可行的,因此人也变得越来越现实!但是如果想象力足够丰富的话会有很多科学所不能达到的领域仍然被“幻想”所覆盖,而那正是科学发展的原动力!
下面详细描述一下我根据人类思维的逻辑抽象来构造的算法(注意了有点复杂,请开动脑筋好好理解)!我认为一切联系都可以通过直接联系来模拟,“ 思维”的本质是可能建立一个真实世界的信息以及信息之间的关系(运动变化)。而事物之间的关系虽然复杂但是可以理解为直接的简单的关系的组合!这个关系可以用一个变量来标志,我叫关联度!而关联改变的东西无非就是信息的表现可能,否则关联所改变的其它东西是没有意义的!而这个特性是可以通过一个变量来描述的,这个变量叫做优先度!这个变量必须对应信息相对表达的可能才可以,而所谓表达一定是对应关联,关联又对应改变才可以!再考虑到遗忘与疲劳这些因素,就产生了这样的算法!我只能进行定性描述,因为定量的东西是需要实践才可以构造的!定性的描述是:算法构造在BMP图形里面。但是那仅仅是一个很不完善的算法!
也许您会提出这样的疑问:“这个软件是需要输入事物的所有规则才可以理解这个事物的”,这完全是错误的想法!因为您忘记了规则是有联系的!知道基本的规则就可以推导出新的规则,而智能是具有建立新联系的特性的,所以显然那是错误的想法!
我的这个东西要想发挥最大的威力必须具有硬件的支持,例如智能程序必须具有行动的能力,只有这样才可以形成对于行动的智能理解!必须具有触觉,只有这样才可以正确的理解行动!但是在没有这些条件的情况下,只要解决了回想的问题也可以在纯语音和视觉信息的处理方面体现出智能的优势!因为对于输入的信息会在程序内部产生关联度的变化,会产生输出,因此可以通过对于输出进行反馈(肯定或者否定)的形式来增强某些联系,这样可以对于优美的声音增加关联度,从而在智能内部建立复杂的对应,最后会产生新的优美的声音输出,也就是说程序会创造美妙的音乐……
当智能程序建立了对于图形的基本理解以后如果本能设置合理的话就可以建立起良好的高级沟通平台,程序可以自己阅读文章……也就是说随着智能程序的不断丰富智能程序学习的能力也会越来越强大!这样推断最开始的工作是最困难的,而以后的工作就越来越简单了!在这一点上我构造的智能和现在的任何智能都不一样!现在的方法是构造越复杂功能的程序代码工作量越大,但是我构造的这个逻辑设计出来的智能程序是构造越复杂的功能所需要的“教育”就越少,因此从发展的淹灌来看是具有不可估量的效果的!
最后希望对于我的设计有兴趣的人一起加入到这个设计中来,我可以负责一切逻辑上的工作,如果再有经验丰富而且具有思想的程序员的加入的话构造真正的人工智能仅仅是时间的问题了!