心软脾气硬 发表于 7 天前

浅谈反射算法

浅谈反射算法
    反射算法,是我在截获算法网友提问大脑算法的提醒下认识到的一个问题。在此以前,我在“反射意味着什么?”一文中实际已经将反射作为一种大脑的算法来探讨。但是那时还没有把反射提高到大脑算法的这样的高度来认识。认识到反射是一种大脑的算法,认识到大脑的反射算法与计算机各种算法截然不同的区别,是我在最近的讨论中的一种重要的收获。
    下面就向网友们用浅谈的方式,介绍一下我对反射算法的认识。
    我们首先要解决的是,反射算法与反射机制、反射现象有什么联系和区别?
    其次要解决的是,反射算法与计算机算法有什么截然的不同?
    然后是讨论反射算法是如何完成各种运算功能的。


一首爱的歌 发表于 7 天前

感兴趣,关注

丢了一个月亮 发表于 7 天前

先来看一看反射算法与反射机制、反射现象有什么联系和区别?
反射现象是由生物实验总结出的。最初是巴甫洛夫的条件反射实验,后来是斯金纳的工具性条件作用实验。然后又有缺省的工具性条件作用、多刺激反射等反射现象的揭示。反射现象基本是由反射的建立和反射的实现两个阶段完成。不同反射类型仅仅是由于建立反射的神经部位或个数的不同形成的。
反射机制是由反射现象总结出来的大脑机制。由于反射被定义为神经间的联系,反射机制也是可以由生物神经网络实验和相应理论推论出来的机制。反射机制确定了神经元间建立起反射链的联系,而反射链就是一个局部神经网络。因此整个神经网络,又可以描述为由反射链组成的网络。
反射算法,则是指依据反射机制的大脑处理信息的方式。其具体内容我们将在以后的浅谈中详细介绍。
由上述的三个概念的介绍中,我们可以看出,反射现象偏重于反射的过程。反射机制偏重于反射的结构。反射算法偏重于信息处理的方式。

與吻離別式 发表于 7 天前

我们下面再来看看反射算法与计算机算法有什么截然的不同?
计算机的所有算法,都建立在数据的传递的基础上。图灵机的纸带移动和读写头的移动,就是在进行数据传递工作,因此图灵定义的算法实际是在数据传递基础上的算法。目前计算机的主体模型——冯.诺伊曼型,也是用中心处理器和存储器件交流数据来执行算法的。
而反射算法则不需要传递数据,它仅仅传递传递神经元间的兴奋,就可以实现运算。由于人们太熟悉计算机的数据传输了,我们就必须从多个角度来为人们建立反射算法的结构思想。
我们先看一看,脑神经能否运用类似计算机的数据传输方式构建其结构。
我们知道,目前神经学已经能够证明神经元具有兴奋态和抑制态,因此这两种状态可以与计算机代码“0”和“1”相比。于是很多人便由此想象大脑一定会有与计算机类似的信息形式。但是人们想象得太简单了。
为什么呢?我们先假定人们想象的正确,那么会出现什么事情呢?稍有些计算机知识的人都会知道,一个具有双态的神经元,仅仅相当于计算机存储器的一位(bit),那么组成一个字节的信息,就要有八个神经元。目前计算机250M内存,就需要20亿的神经元来组成。于是,按这个计算方法,目前的计算机不是不够模拟人脑,而是远远超过人脑。
更不用说,人脑没有类似计算机信息传输的总线,神经元们不能直接挂在总线上,而是要通过一些传输信息神经元来连接,来传输信息。传输信息的神经元要比存储信息的神经元多几倍到几十倍。如此,与250M内存相当的人脑,就需要几倍、几十倍于20亿的神经元来组成。这种人脑结构显然是与事实不符的。
实际上,人脑的信息容量和处理能力,除去处理速度慢一些外,其它方面都是远远高于目前具有250M内存的电脑。要解释为什么人脑会优于电脑,则必须否定,人脑具有与电脑类似的信息表示结构。也就是说人脑的神经元,是利用与计算机截然不同的方式表示信息和传递信息的。

树衡酱吖 发表于 7 天前

在突破计算机算法带来的思想瓶颈方面,人工神经网络理论是有着突出贡献的。我虽然多次批评人工神经网络是不可能实现模拟人类智能的。那是针对它的缺点而言。但是出于对科学负责的态度,我们也必须承认,人工神经网络理论在突破计算机算法瓶颈上的积极意义。
学习过人工神经网络理论的人们都会知道,在介绍了神经元和神经突触的基本性能后,如果按计算机算法考虑,也还会把神经元与门电路比较,把被阈值限定的神经信息与电脉冲比较,依此构建以后的理论。但是人工神经网络理论并没有这样做,它开始构建人工编造的神经网络模型。该理论在上世纪六七十年代,正是因为这种奇特的做法,受到人们的狠狠批判,也因此被冷落了二十多年。
人工神经网络的构建网络模型的做法,实际意味着它承认了,神经算法(真正的脑神经算法)不是以脉冲信号和门电路为基础的,而是以神经元的多向连接为基础的。这种接近“脑神经算法”的“人工神经网络算法”取得很大成功的原因,也就在于它的算法比计算机算法更接近大脑算法的实际。
在学习人工神经网络的初期,我也还持有计算机算法的传统思想方法,无法理解人工神经网络中训练的结果保存在哪里?依传统的计算机算法,一定要为训练结果的保存,专门构建一个神经网络模型,使它们像计算机的存储器一样。但是人工神经网络训练信息的保存就表现为权值的改变。而这个权值在神经网络中是不移动的。因此“人工神经网络算法”也是一种没有先取值再计算的算法。
但是,它的神经网络模型毕竟是人工编造的,有很多连接形式与大脑实际不符。而且在人工神经网络理论最出彩的地方,恰恰是它的败笔。那就是它引入了输入信号的函数,并给出了网络模型的传输方程。它在后面的精彩推证,获得计算机界和数学界的一片喝彩,完美、系统、逻辑、深奥、令人惊叹,等等赞扬声不绝于耳。但是因此它却从正确的起点走上万劫不复之路。
这是因为,智能体系,包括模拟人类智能体系(强人工智能)和人工智能体系(弱人工智能)都不会是一个形式逻辑体系。把人工神经网络理论沟造成完美的形式逻辑体系,大量的应同数学表达式,就使人工神经网络理论进入“哥德尔定理泥潭”,是它永远不可能摆脱哥德尔定理的阴影。这个阴影使它永远发展不出能够解释自身的智能体系。

柚花离海 发表于 7 天前

(有错字重发)
在突破计算机算法带来的思想瓶颈方面,人工神经网络理论是有着突出贡献的。我虽然多次批评人工神经网络是不可能实现模拟人类智能的。那是针对它的缺点而言。但是出于对科学负责的态度,我们也必须承认,人工神经网络理论在突破计算机算法瓶颈上的积极意义。
学习过人工神经网络理论的人们都会知道,在介绍了神经元和神经突触的基本性能后,如果按计算机算法考虑,也还会把神经元与门电路比较,把被阈值限定的神经信息与电脉冲比较,依此构建以后的理论。但是人工神经网络理论并没有这样做,它开始构建人工编造的神经网络模型。该理论在上世纪六七十年代,正是因为这种奇特的做法,受到人们的狠狠批判,也因此被冷落了二十多年。
人工神经网络的构建网络模型的做法,实际意味着它承认了,神经算法(真正的脑神经算法)不是以脉冲信号和门电路为基础的,而是以神经元的多向连接为基础的。这种接近“脑神经算法”的“人工神经网络算法”取得很大成功的原因,也就在于它的算法比计算机算法更接近大脑算法的实际。
在学习人工神经网络的初期,我也还持有计算机算法的传统思想方法,无法理解人工神经网络中训练的结果保存在哪里?依传统的计算机算法,一定要为训练结果的保存,专门构建一个神经网络模型,使它们像计算机的存储器一样。但是人工神经网络训练信息的保存就表现为权值的改变。而这个权值在神经网络中是不移动的。因此“人工神经网络算法”也是一种没有先取值再计算的算法。
但是,它的神经网络模型毕竟是人工编造的,有很多连接形式与大脑实际不符。而且在人工神经网络理论最出彩的地方,恰恰是它的败笔。那就是它引入了输入信号的函数,并给出了网络模型的传输方程。它在后面的精彩推证,获得计算机界和数学界的一片喝彩,完美、系统、逻辑、深奥、令人惊叹,等等赞扬声不绝于耳。但是因此它却从正确的起点走上万劫不复之路。
这是因为,智能体系,包括模拟人类智能体系(强人工智能)和人工智能体系(弱人工智能)都不会是一个形式逻辑体系。把人工神经网络理论沟造成完美的形式逻辑体系,大量的应用数学表达式,就使人工神经网络理论进入“哥德尔定理泥潭”,使它永远不可能摆脱哥德尔定理的阴影。这个阴影使它永远发展不出能够解释自身的智能体系。

重阳贝贝 发表于 7 天前

(接第7楼)
不过我们要感谢人工神经网络理论在算法上的突破。它的主要贡献就在于,它强调了神经元的连接形式的作用,给神经元间的联系以高度的重视。而不是死守作为计算机算法基础的“0”和“1”的信息编码形式,以及死守CPU向存储器取值后再处理的计算方式。
虽然人工神经网络理论最后又皈依到传统数学的形式逻辑体系中,但是它的突破在引导人们对大脑算法的认识上是功不可没的。也许几十年以后,人工神经网络理论作为一种过时的东西,已经毫无价值,但是它在计算机科学史上的贡献是不会被人们忘记的!

゛﹏花凋为谁祭 发表于 7 天前

我们从人工神经网络理论,已经可以看到“脑神经算法”与“计算机算法”的截然不同之处。它不是靠信息向系统各个部位的传递来储备信息,也就不需要靠取值后再计算的方式进行计算。人工神经网络理论已经很重视网络的组成,即神经元如何联结为网络模型。也注意到网络联系中的某些东西就是信息编码,例如它用模拟神经元的权值改变表示训练的结果,也以此作为识别的依据。它已经用不可移动的权值表示某种信息。
但是人工神经网络毕竟不是真正的大脑神经网络,它受到人类对神经网络认识的限制,它也受到人类主观构造的神经网络模型的限制。因此人工神经网络理论还不能使自己的算法(人工神经网络算法)进一步接近“大脑神经算法”。
为人们更方便的理解“反射算法”,我们介绍一种与大脑神经算法更加接近的算法——群魔殿算法。
这个算法的名称是我给起的,它来源于心理学的认知群魔殿的假设。
“认知群魔殿”设想大脑里有一群认知小鬼,每个小鬼负责识别某一种特征,当需要识别的时候,信息被传递到小鬼们那里,各个小鬼以叫声表示对信息的认知,其中叫声最大的被确定。如果几个小鬼同时叫声最大,那么传入的信息就是有着几个小鬼负责认知的特征的组合信息。
应该说,认知群魔殿的假设,并不完全符合大脑的实际,因此现在人们较少提到它。但是认知群魔殿设想体现出的算法,与大脑的实际算法有些类似。
那么,“群魔殿算法”的特点是什么呢?它与计算机算法有什么本质的区别呢?
从算法的角度看,认知小鬼们负担保存数据并兼有计算的责任。它们负责识别的特征,就是它们负责保存的数据。它们对传入信息的反应(发出叫声)就是它们进行的计算。但这只是计算的头一步。由叫声最响,或多个叫声最响的组合确认输入信息,是计算的第二步。由这两步计算得出最后结果。
认知群魔殿与目前计算机结构上的区别之一是,它立足于一个并行处理体制。每一个认知小鬼都能够独立计算,并且可以同时进行计算。
它与目前计算机处理方式的最大区别在于,它是把输入信息“洒”向认知小鬼们,而不是把认知小鬼们保存的信息取值到中心处理器。也就是它的计算方式与计算机取值计算方式截然不同。它的保存数据在计算中是不移动的。在“群魔殿算法”的计算中移动的是被处理的信息。而计算机从图灵机开始,到目前结构的计算机,数据在处理中都是移动的。图灵机的读写头和无限长纸带,就是为了保证数据移动的设计。而目前计算机CPU的寻址周期和读写指令的设置,也是为了保证数据的移动的。
“群魔殿算法”的不取值、不移动保存数据的方式,就是与计算机算法截然不同的方式。它用把输入信息“洒”向保存数据区域的方式,取代取值后计算的方式。

半痴半醉半虚伪 发表于 7 天前

我们说“群魔殿算法”与大脑实际不符,因为它是假设了一种大脑中实际上不可能存在的机制——认知小鬼。它没有把认知小鬼与大脑实际的结构联系起来,也就是它没有用神经元间的联系,来解释大脑的结构。
“群魔殿算法”没有做到的事情,恰恰“人工神经网络算法”做到了。后者的基本思路就是强调神经元间的联系方式。而“人工神经网络算法”也刚好没有把信息“洒”向数据保存区,作为自己的信息处理方式。显然,把“群魔殿算法”的信息“洒”向数据保存区方的信息处理式与“人工神经网络算法”的神经元联系方式结合起来,就可能产生一种更接近大脑实际的算法。

沈醉在夢 发表于 7 天前

写得很好,希望能看到进一步的分析
页: [1] 2
查看完整版本: 浅谈反射算法