问题导读 1.哪些问题阻碍了人工智能的发展? 2.这些问题出现的原因是什么? 导读
当今科学虽然非常发达了,但还是没能很好的理解和解释我们的世界。三个基本问题仍然困扰着我们:最小的是什么,最大的是什么和意识是什么。所谓最小,即最小的物质是什么。虽然我们证明了上帝粒子,快要证明各种粒子的统一和完备性了。但再往小了看呢,这些基本粒子又是什么组成的?这一层一层分析下去,是否有尽头?我们还要不断的了解更小粒子、逼近真理。所谓最大,我们可视的宇宙之外是什么?我们可视的宇宙之内,看不见的暗物质、暗能量是什么?是否有我们的世界和其完全没有作用力的黑物质和能量存在?最大和最小的问题也许是同一个问题。所谓意识,每个人都能感知到自己的存在。但意识和物质到底有没有关系?它在哪里?是否能创造、迁移和复制?对此,除了哲学家绞尽脑汁的思考之外,科学家对此基本也一无所知。研究意识的第一步,就是要研究人类智能。从现在的理解来看,人类智能有很大可能是意识的载体(软件上的软件?)。
当代人工智能发展的时间和计算机的发展时间基本是一样长的。现代的计算机和刚出现的计算机相比,性能上提高了不止百万倍。人工智能也是最近一些年才开始了大规模的应用。其解决问题所需要的计算、开发成本还是比较高的。但强人工智能仍然还没什么眉目,最多就是能拼拼凑凑的能和人在某一方面比较,比如回答问题、下棋、端茶倒水之类的。这和人类做的事情的种类和学习能力是没法比较的。到底是什么阻碍了强人工智能的发展呢?总结起来基本上是三个方面,强人工智能的基本问题、计算规模的限制、现实利益驱动不够。 1 基本问题
强人工智能的一些问题还没有得到解决。虽然有很多科学家从细胞,分子生物,心理,大脑活跃度成像等各个角度角度来研究大脑。但不得不说,大脑对我们来说仍然是黑盒的。我们对它的认识还非常粗浅,一方面对大脑的各个层次的功能也只是碎片式的理解,另一方面,从对碎片理解来看,也没有推导出产生智能的系统是什么样的。
强人工智能也可以算作是仿生学的范畴。从模仿的角度来看,有两种研究和应用方法,一种是全盘复制的模仿;另一种是理解核心原理,然后做出从工程上来说更好的设计。比如仿人机器人的设计可认为是全盘复制,这个好处就是现有的功能都有,而且人易于接受。全盘复制需要对其结构非常了解,仿人机器人需要对人体骨骼、自由度方向进行深入的研究。再比如飞机,是从鸟类飞翔开始,理解了空气动力学的核心原理,然后从机械上做出了更容易实现和维护的方案。理解核心原理需要更多的理论上的突破,通常都有新的学科产生。对于强人工智能来说,这两条路都不容易。结构上,神经元一方面是分子级别的反应,反应种类多、且蛋白质结构复杂。另一方面是上百亿神经元组成的网络,取一小块研究都是非常大的规模,且很难进行动态研究。从原理上,虽然单个细胞的行为有很多理论了, 但规模化以后为什么就产生智能了,还没有理论能说清楚。
下面也仅仅列出了从现在的研究来看,所能发现的基本问题。由于信息量太大,知识之间交错不清,对这些基本问题的分类也不尽合理。随着这些问题的解决,估计还会出现新的基本问题。
对于人类智能,从神经元细胞的层面已经有了大量的研究,这些研究有些为医学服务,还有些也是为了了解智能。在细胞层面上,科学家从比较宏观的角度研究了神经元的树突、轴突在信息刺激下的生长和衰减。也研究了信息如何从触觉神经元一路传递到脑部的过程。微观上还从分子、离子层面来研究传递信息的原理,特别是突触上信息是如何在树突、轴突直接传递,跨神经元的刺激如何才能激发成功。这些研究使我们理解了神经元的主要活动是整合、激发。神经元的树突、轴突会在刺激下有变化,产生或者消除一些突触,从而形成学习、记忆的效果。
这个方向上的研究帮助理解了神经元的基本活动过程。人们已经能够构建基础的神经网络。但这样的神经网络只能模拟很小规模的神经元网络。但这还不够,别说人类的智力,连虫子的智力都还没到。神经元细胞本身是属于比较大的细胞,其细胞体是否直接参与了神经活动,还是只提供了物质和能量?记忆效果如何在细胞上累积?神经元细胞之间除了突触传递外,还有什么别的物质来协调它们的活动?哪些活动是和神经活动有关,哪些活动是和细胞的基本生存有关?由于对生物细胞本身活动过程的理解还不够,这样的问题还没法回答。
从宏观上,科学家们也进行了大量的研究。通过对大脑活动的各种成像方法和医学研究。对于人类大脑不同区域所负责的功能已经理解得比较清楚了,大脑不同位置上的结构的差异也有了理解。但这个层面上的研究粒度太粗了,基本上能把大脑分成上百块就不错了。这样算下来,每块平均有上亿个神经元细胞。记得有人说,这种宏观上的研究相当于用红外线摄像机从汽车外面研究车为什么会开一样,基本上是理解不了原理的。这方面研究的应用主要是在医学和心理学上。
依靠人脑来研究人脑,有时就像自己要把自己拎起来一样,看似是不可能的任务。人、、的研究方式一般都是产生想法、然后逻辑推理。有句话叫做大胆猜想,小心求证。这基本上都要在大脑里进行一些模拟和推导。如果要对神经网络的宏观行为在大脑中进行模拟,至少也要模拟上千个神经元。这不是用10个神经元模拟1个,估计是用1000甚至10000个模拟1个。而且人脑的绝大部分神经元已经固化了别的任务,不会参与这个模拟过程。所以人脑本身对自己规模化的模拟几乎是不可能的,这个思考过程需要一些外部的帮助来完成。但想法的产生是迅速的,在快速验证原型前,可能大脑就把有些想法抛弃了,可能经常就是几个想法绕来绕去的,没有进展。所以,对这样的宏观问题的研究效率是很低的。这不像是对某些宏观情况,比如气象、星系演变类的研究建模,这些问题的计算量大,但其公式数量较少,程序架构也相对容易理解。 所以,虽然对宏观上大脑怎样分工,和对微观上单个神经元是如何工作的都有较多的了解,但没有一个方法能将这两者统一起来,实现一个完备的系统。考虑到这整个系统是从代码量不大的DNA中的一小部分产生的,这个系统就越发显得神奇……
所谓模式,也可以称为函数,即特定的输入能产生有规律的输出。神经网络和一般数学上函数的区别是,神经网络中有存储的功能,所以每次输入可能会影响下一次输出。这不影响一个神经网络被称为函数,但为了和一般函数的概念区分,下面还是称之为模式。
人脑的整个神经网络可以称为一个模式,心理学、大脑成像等方面的研究就是在研究其模式。但这个模式太复杂了,输入输出很多,作为一个整体只能进行宏观上的研究。每个神经元,也可以称作一个模式,科学家们对其行为基本研究得不少了。但这个模式的功能又太简单了,和单个的晶体管原件差不多,能够解决的问题有限。
现代很多神经网络和机器学习的算法,能够处理若干个神经元,这也可算做一个模式。对于这种模式,研究非常多,而且能够解决很多实际问题了。但这类模式的结构非常简单,一般是有清晰的层次关系,其输入也需要严格的标准化。人脑中一般不是分层的结构。不分层结构的主要挑战有:
1)如何抑制整合、激发过程中的振荡。虽然有神经网络算法是不分层的,但很容易发生信号的振荡,环路等,不容易解决实际问题。 2)如何有意义的创建、删除神经元之间的连接。这里的有意义除了是连接的调整能够有助于解决问题,或简化模型。另一方面,也需要这些调整是自组织的。所谓自组织,是通过神经元、或模式自身的信息就能够进行调整,而不是依靠大量宏观或外部的信息来进行调整。如果依靠很多宏观和外部的信息,其实就是把记忆、运算挪到了外部。这就不是一个可扩展的神经网络了。
先不管这些问题的难度。如果我们找到了能够解决这些问题的算法,产生了模式。那么其内部是否可分为更小的模式呢?可以认为大脑就是不同规模模式的组合。由于神经元之间的组合很自由,可能很难清晰的划出各个模式之间的边界。可以认为一组神经元之间的连接较多,而且它们和外部的连接较少,就可称为一个模式。正因为模式边界的模糊性,对其的研究就更难了。
如果要解决很复杂的问题,就需要将很多模式一起配合。在解决一些实际问题的时候,可能有好几个模式在使用,比如Cortana类的语音助手,有好几个模式组合在一起工作,才能实现所需要的功能。但每个模式的输入输出,模式之间该如何组合,都花费了大量的人力物力来设计和实现。
在基本组织结构的模拟上,产生了神经网络和机器学习的各种算法。这些算法大部分都将神经网络特殊化为分层结构,否则很容易因为信号振荡、或自由度太大而无法有效输出结果。基本上是人需要花不少时间对问题进行建模,然后调整各种参数,从而输出比较理想的结果。机器学习的算法从规模上比人类是有很大优势的,由于人类大脑运算、输入输出速度的限制,是无法对大量数据进行有效的统计归纳,并发现其中规律的。当有了一个比较有效的模型,这就比较好做到了。这是普通机器学习智能的优势。大脑的优势在于其容纳了非常多的模式,而且很容易学会新的模式。
随着所需要配合的模式的增加,软件复杂度也会随之增长。通过人工来设计模式、组合模式的效率和人的大脑相比,效率就低了。人脑里面的模式数量大概在千万级,通过人工的方式,几乎是不可能完成的任务。
具体的问题有:
1)如何高效的发现新模式。这里有两种思路,一种是设计一个模式产生器用来产生新的模式,并将其嵌入到已有的系统中。另一种是让神经网络自身能够产生新的模式。这样产生的模式之间可能并没有清晰的界限,更像是大脑中网络的结构。 2)如何发现类似的模式,并将其合并。这对节省空间、提高计算效率、知识的举一反三都有很重要的意义。这个问题对于输入输出定义很清晰的模式较容易,如果是人脑这样的没有清晰的模式界限的,就比较挑战了。 3)模型的通用性。大脑有一个一般化的网络结构,其灵活性非常大。即使某些专用区域失去了功能,如听力相关的区域,其它区域通过一些训练,能够恢复大部分功能。虽然某些部分,如小脑,有一些专用的变化,但其基本原理是类似的。这里面的挑战在于,如何能够创建一个灵活的结构,可以组成不同等级的模式。
这里说的语言不是计算机编程的语言,也不是用于人和人之间交流的语言,而是适合强人工智能内部交流的语言。人类大脑中是有这样的语言的,平常说的只能意会,不能言传,就是内部语言的表现。所谓意会就是出了人类语言之外的其它知识集或者感官可以理解的东西,但很难翻译成人类语言。这种语言是大脑中比较高级的交流层次,是我们的主观意识能够感受到的最低层次的活动。最低层次的神经活动就是神经元之间的激发整合了,我们应该是很难感受到的。
通用语言的优势在于能对各种概念、物体一层一层的归纳、建模。从而能够描述非常复杂的对象或者抽象活动等。
大脑中能产生这种通用语言,和它自由、混沌的网络结构是分不开的。大脑通过神经网络的自组织,完成了各种概念层次的自组织。它的语言体系不是先定义后实现的,而是一边输入、一边定义。这也是人为什么年纪越大,经验越丰富。因为通用语言的适应范围随着输入的增长而变大。
说到这里,我一直感觉我们的思想被冯诺依曼系统和现代计算机指令集限制了。我们走上了一条捷径,创建了当今看似高度发达的计算机世界,但其实一直是在用硬编码、强介入的方式来解决问题。人类花了很多智力资源用来和计算机系统沟通,比如,程序员。
每个人的大脑中对这个世界都有一个模型,从哲学角度也叫世界观。这个模型表达了人对这个世界的认知,包含了人所有的知识,对具体事物和抽象事物的理解。
虽然每个大脑先天上有所不同,后天的成长环境也不同,每个人的世界模型之间有一些偏差,但绝大部分都是一样的。这就像DNA一样,人和其它动物间的差别不大,别说人和人之间了,但人的个体差异从外表上也是很显著的。这样的个体差异也同时包括了先天和后天环境产生的差异。
当前的机器学习应用中的模型,一般都是单一或者有限的几个模式。这样的模型高度简化了真实世界,虽然降低了每个单独的问题难度,但是通用性很差。如果能有和人脑中类似的世界模型,绝大部分东西就可以重用了。这样就能在已知的基础上累积未知,在解决新问题时所需要的人工介入就很少了。
世界的模型是一个非常复杂的模型,估计包括了千万级的模式。其复杂性以当前的人口基数和软件管理水平是不能通过一行一行代码堆出来的。所以,需要通过大规模的模式整合来实现。一个能够自动化产生各种模式并吸收知识的系统。这和人类从小到大所接受的教育是类似的。另外,人脑的强大除了学习,还有归纳。对于类似的模式,人脑是能够将其合并的,这样的合并不仅能节省空间,还能有效的发现未知的模式和提高响应速度。另外,人脑对知识的有效的有损压缩也是很有用的。大脑是永远存不满的,它会不断的将知识合并、整理、遗忘。现在的计算机架构很难做到这一点。
这些基本问题也不完全是停滞不前的,还是有一些进展的。比如多层神经网络也有了一定的发展,比如深度学习。再比如,控制非分层的神经网络中振荡的问题,也有些比较简单的算法来处理了。
2 计算规模 虽然当前的计算能力已经很强了,但强人工智能所需要的规模也是非常大的。按照通常的计算,人类有大约120亿个灰质细胞,每个细胞有数百到上万个树突,假设平均每个细胞会有5000个树突形成突触。这样算下来,突触的数量大约有10的13次方。从存储上来看,假设每个突触有1k的存储量,总共是5PB的存储量,虽然很巨大,但现在的存储系统已经不难解决了。从计算量上看,假设人脑的频率是100Hz,每次活动有1%的突触参与。由于当前的计算机不是为神经活动设计的,所以需要用当前的指令集来模拟神经活动,假设每一次突触活动需要100个处理器周期。假设用8核2.4G的处理器,算下来大概需要29万个处理器,才能达到人类的运算速度和规模。虽然现在的超级计算机也有上十万个处理器,但不是简单的累加就可以达到同样的计算能力。整个系统内的数据存取速度,通讯速度也是需要考虑的。在大规模的并行计算下由于处理器之间的通讯,协调等问题,计算效率是会下降的。另外,这只是一个人脑规模所需要的计算资源,如果要支持多个团队的研究,所需要的资源就要数倍了。 现在IBM等公司已经在制造为神经网络优化的计算机了,且不说其架构是否和强人工智能所匹配。但从能耗、成本、并行规模上应该比现在的处理器架构更适用于强人工智能。即使这样,也需要可观的规模才能有足够模拟一个人脑的资源。 3 现实利益驱动 在人工智能发展的过程中有一个冷门期,大概是上世纪70年代。当时,一方面理论上没什么突破,另一方面也没有找到实际的应用。所以研究机构、政府、企业等没有动力继续支持研究,大部分科学家们也因为不容易出成果也就不研究了。直到那些不撞南墙不回头的科学家发现了新的理论、新的应用方向,才将大量的资源和科学家重新吸引过来。
当前人工智能、机器学习方向虽然看起来热热闹闹的,但主要还是集中在应用领域。愿意对强人工智能投入的组织和科学家有不少,但不是主流。虽然无人质疑强人工智能的应用范围,但对其可预见范围内能实现的信心不足,对其所需要的投资仍是敬而远之。所以人工智能虽然复苏了,强人工智能的研究可以说仍然是在被冷落中。一旦对人类智能的认识和模拟达到了新的高度,强人工智能有了更切实的时间表,各种资源就会蜂拥而至。这和资本主义的逐利性是一样的,从积极的方面来看,也是资源的合理调配。
综观全文,主要篇幅都在讲基本问题的挑战,所以主要不在于运算规模和资源投入,还是要解决一系列的基本问题。从基本问题的难度上来看,如果有各种资源的投入,这个过程是能加快的。通过人脑来超越人脑,实现强人工智能,需要规模化、系统化的研究,不停的迭代和积累,才会成功。
---------------------------
http://www.cnblogs.com/squirrel_sc
1. 如有引用,请包含本段文字及原始出处。以表示对作者的尊重,且能将有相似想法的人联系起来。
2. 如无特殊说明,本文的文字代表作者的观点和想法。由于人类的记忆和连通性的限制,可能会将别人的观点和想法当成自己的(会尽量避免,但我读书少,别蒙我:D);或有人会有同样的想法(那就太好了)。若有此类情况,请联系我。我会很高兴更新内容。
3. 每篇文章会根据反馈或新的想法,随时更新。我会尽量记得更新版本号。