版本:0.1
前文介绍过,大脑是非常复杂的,研究强人工智能需要参考大脑的结构和算法,来理解并创造智能。人脑算法、结构的秘密都隐藏在DNA和人存在的世界中。从现在的哲学和科学的认知来看,可认为人脑是自组织的,没有明确的全局目标函数。而自组织是大脑非常重要的一个特点。自组织最大的好处是人工介入少,这是对智力生产力的解放,代表了下一代生产力。
当前的人工神经网络算法以全局控制为主流。虽然有一部分自组织的算法,但是其应用范围非常小。所谓全局控制,即需要比人工神经网络更高级的观察者来控制神经网络,比如设定神经网络的目标,选择其算法,设定参数等。而自组织系统则最小化对系统的初始设定,把其余部分交给神经网络系统自己去调整。
在全局控制的神经网络系统中,全局控制的部分包括:
1)神经网络算法和数据结构。现在已经出现了很多神经网络算法,它们有各自的优势和其擅长解决的问题。在解决实际问题中需要根据经验,或各种方案都试验一下,来看看哪种算法给出的结果更好,并决定所使用的算法。一般在算法决定后,数据结构也随之决定了。
2)神经网络规模。在通常的机器学习算法中,都在设计模型的过程中决定每个模型的规模。规模太大运算复杂度太高,规模太小则无法得出足够精确的结果。
3)神经网络的初始值。由于大部分神经网络要解决的问题是多极值的,如果初始值附近的极值不是最优解,可能最终神经网络很难达到最优解。所以正确的初始值对得到更优解是很重要的。
4)目标函数。即确定神经网络的目标或叫做期望值,由此根据每次的输出来调整神经网络的权重。这在有监督学习中是很重要的。在大部分无监督学习中,其实也是有目标函数的,只是目标函数的设定不需要人工干预。
自组织系统不是为了自组织而自组织,而是因为自组织系统有更大的灵活性,能够自适应输入输出。自组织的范围越大,系统的发展空间会越大。但自组织的范围越大,同时也带会带来更多的不确定性,从而使系统无法进入一个稳定发展的状态。比如我们的宇宙基于一些基本的物理常数,产生了稳定的基本粒子,所以成为了一个稳定的系统。如果这些物理常数有一些微小的改动,可能宇宙就不能稳定的产生星系和智能了。在我们还不够了解智能的阶段下,需要通过在全局控制的系统中,通过不断提高其自组织性的方法,来尝试创造稳定的自组织系统,并创造出有智能的自组织系统。
相对于全局控制的系统,自组织的系统可如下考虑各个部分。
1)神经网络算法和数据结构。算法是一切的核心,即使是自组织的系统,也要有固定的神经网络算法来完成自组织的过程。但自组织的算法和当前机器学习的算法有很大的不同。从算法作用的范围来看,当前的机器学习算法的主要功能是调整节点之间的权重,而自组织算法除了调整节点间的权重,也要调整结构。结构上的调整包括节点的增删、以及节点群之间的连接强度。从算法解决的问题来看,传统算法要解决的问题是节点之间的连接强度,而自组织系统算法所要解决的问题也比普通算法要多。自组织的算法是元算法,从微观上要实现系统的稳定,宏观上要能产生有计算能力的结构。要解决的是如何规划层次,处理知识冲突和发现并迁移相似模式的问题。这些问题可以一个一个解决,从而堆叠出一个相对智能的系统,也可以通过一个能够解决大部分问题的核心算法来解决。人脑中究竟有多少个核心算法,也需要进一步研究。
神经网络的算法和其神经元的目标函数相关,基本上目标函数决定了可使用的算法有哪些。不同的算法只是效率上的区别。后文仅讨论目标函数,具体算法是很有挑战的,待实现时再研究。
除了神经元的算法,还有整个神经网络的算法。神经网络的算法决定了自组织神经网络是否能产生有意义、高效的输出。当确定了神经元算法后,神经网络的目标就是将单个神经元所计算出的有意义的结果累积起来,进一步产生更高级的意义,从而产生智能。另外,在输出时,也能有效的将高级的意义映射到较低层次的输出,从而实现通讯。
2)神经网络规模。自组织的系统的规模应该是由资源规模决定的。自组织系统能够优化资源的分配,减少计算复杂度。优化资源分配是自组织系统的最重要的功能。资源优化好了,相当于处理能力的提升。所以在自组织系统中,规模的问题其实是优化资源的问题。
3)神经网络的初始值。如果一个神经网络是从0开始生长的,初始值就不是难题了。所有的输入输出在初期就联系在了一起。随着神经网络规模的增长,对外界输入输出处理的能力也随之增长。这样得出的解决方案可能仍不是最优解,但在整个神经网络生长过程中都是持续有效的。这里要注意的是,在神经网络还很小的时候,就连接了外界的输入输出了,并开始和外界进行交互。这是能够产生持续有效网络的关键。
4)目标函数。自组织系统是否需要目标函数是一个有争议的部分。这个问题也来源于人是否有目标函数的问题。人类已经思考人生意义等哲学问题很长时间了,科学家也尝试着从生物角度来回答人类的生存目标等问题。至今仍然没有能普遍认同的答案。
同样,自组织系统有可能看上去没有目标,但实际上背后还是有目标函数在起作用。自组织系统的目标函数需要从神经元、系统两个层次分别来研究,最后将这两个层次的目标函数统一起来。
神经元层次的目标函数可能是从输入中计算并输出有意义的信号,这样一层一层累积起来最终得出有意义的知识或结果。因为神经元的计算能力有限,所以很难直接解决问题。这里的目标函数所能实现意义指的是结果的数学意义,比如微分、求极值或分离出异常值等。神经元层次的目标函数不宜过多,如果有过多的目标函数,则自组织系统需要根据情况选择出合适的目标函数。神经元层次要考虑的是系统的通用性,所以最好情况是能找到一种最基本的目标函数,然后通过组合多个神经元细胞,将所有其它目标函数都表达出来。这和计算机基本计算单元的设计是类似的,但计算机的基本单元的设计是从数学角度思考的,而不是从目标函数角度思考的。
系统层次的目标可以是能量最小、冲突最少或者是更高级的目标,如生存等。系统层次的目标函数也代表一个系统有全局控制的能力,是否这就表示了一个系统不是自组织的了呢?也不完全是。一个系统是否是自组织的,其实没有明确的界限。自组织系统也并一定比全局控制的系统要高效。强人工智能系统中系统层次的目标函数应该不是系统能够感知的高级目标,否则和自组织产生的目标之间没有区别,也会绕过,或被自组织系统的目标所替换。