让我们来开发一种更类似人脑的神经网络吧(一)

经过仔细思考,我觉得bp网络无论如何也是和生物神经网络毫无关系的一种算法。它的目标就像其他算法,是用来解决一些问题的,比如模糊的模式识别等。这样子的思路在我看来太功利,急功近利,完全是稍微借鉴了一点点生物神经网络的样子提出的传统思路的算法。有以下理由可以说明这个和生物神经完全无关:

1.这个算法相当复杂,生物网络绝对不可能存在这种严谨的逻辑。神经元的输出函数还必须可导,一般推荐sigmoid函数,否则在反向传播的时候还得算导函数值。sigmoid函数可是有指数有倒数的函数,要生物支持这种算法是难以想象的。

2.网络结构固定,必须预先设计好。解决一个问题,bp网络的隐藏层神经元数目是固定的,少了解决不了问题,多了训练速度更慢。而生物网络解决位置问题显然不可能先实验好隐藏层神经元的数目。按照生物神经元的那种密度,动则上千万每立方毫米个神经元的数量,任意输入神经元都很可能连接着上百万神经元。而BP网呢?解决图像识别人脸朝向问题,输入需要上万个神经元,而隐藏层只用了3个就解决问题了。多了之后训练时间就长得离谱了。显然和生物的模型不一样。生物模型应该是以量取胜的模型,应该是一种多多益善的模型。决不能如此娇贵,少了不行,多了也不行。

3. 训练次数多,比如要记住一个简单的异或关系得训练上千次,这还是有所优化的情况下。而生物从来没有这种事情,一两次就记住了。另外一个值得关注的现象就是“第一印象”现象,大家都知道一个人给别人的第一印象非常重要,而且这种印象非常难以改变。这就说明生物的学习规律是一下子就记住一个印象,之后的训练参数会大幅下降。而训练过bp网的人都知道,bp网一般是一开始的一段训练非常平坦,误差下降不大,几乎输出不变,到后来突然开始误差下降,快速下降,再然后,误差就开始慢慢趋向于零。这个和生物完全不同。

4.著名的巴普诺夫实验,两种外界输入如果经常同时发生,会导致两种输入的神经互相关联,就像一个神经一样。一开灯,狗就馋了。也就是说神经元模型应该支持关联输入信号的能力,也就是神经反射。而bp网显然没有任何迹象可以支持这种功能。

另外一个著名的人工网络模型是hopfield循环网,传说中可以用电路模拟的神奇网络。不会学习!只能先在计算机上算好权值,然后烧到网络里面去!而它的主要功能特点是会记忆。只能记忆实现写好的记忆,这样的记忆如果对应到生物身上的话,我估计也就是那块神秘的“本能”和这个有关了。本能是由基因内就写好的记忆,无需训练也无法抹除。就像逛街看到漂亮美眉眼珠子自己就转过去看了。本能只能用其他记忆来平衡,也就是所谓的“理智”。但是本能的反应是迅速的,是直接的,眼珠子是直接就跟着漂亮美眉走的,不需要任何反应时间。而hopfield网络的工作模式是从当前输入,跳转到另一个状态,如果不是记忆中的状态就继续跳转,直到跳转到记忆中的状态为止。从这个方面来看,本能也不是hopfield网络可以存身的地方。

所谓不破不立,现在先把先有的神经网络模型破一破,接下来下一篇立。

原文地址:https://www.cnblogs.com/hyperddr/p/2198701.html