机器的方式,人的方式--传统计算机技术很难实现人工智能

晨曦之光 发布于 2012/04/10 15:02
阅读 197
收藏 0

声明:本文的传统计算机指的是冯若依曼式的存储式计算机。
现在有很多关于人工智能的书籍和资料,我也看过很多,但是我认为那些资料很大意义上是一些算法方面的资料,所谓的智能也只是在算法上寻找突破,可是算法设计得再精妙也还摆脱不了计算机愚蠢的本质,所改变的仅仅是结果,过程愚蠢的本质没有改变,而过程恰恰是智能的精髓,原来1年完成的计算,现在使用一种很精妙算法1毫秒就可以完成,这叫智能吗?这当然不叫,一台计算机可以在不到1秒算出2461*7932的值而人不能,这根本不能说明计算机比人更聪明。每一 本讲人工智能的书籍上几乎都提到了剪枝 算法,那比穷举遍历好在哪里,仅仅是时间更短罢了。看一下遍历的“规则”,就是按照深度优先或者广度优先依次访问树结点,而树的构造也是依据了一些“规则 ”,这些规则其实就是我们编制的程序,是人输入的,而不是计算机自己生成的,计算机的所作所为只是按照事先人们编制的规则例行公事罢了。由此可见,只要计算机不会自己产生规则,那么智能就永远不可能出现。
我们人类可以自己产生规则,而规则的产生依靠两个方面,一个是人类的大脑具有非线性特征,具备强大的逻辑推理和空间能力;二是人类具有学习和记忆能力。前者可以促使简单规则的生成,后者和前者联合可以使得简单规则的累积从而生成复杂规则。再看一下传统的计算机,它没有学习能力,实际上它也没有逻辑思维和空 间能力,它本质上是线性的,一个确定的初始集合得到的是一个确定的结果集合。所谓的线性就是它的任何行为都可以分解为若干确定的简单行为,是确定的简单行为的叠加,而非线性就是不能做这种分解,人的大脑就不能将复杂行为分解为确定的简单行为,最起码现在不能。计算机硬件是基于二进制的,这对于智能倒是无关 紧要,但是它的行为本质其实也是二元的,实际上计算机唯一的“聪明才智”就是“判断真假”,它只会判断,至于别的加减乘除只是一些工具行为,作为判断的前 因和后果存在,这么说计算机是足够傻的,只具有几种(可以说只有移位和相加两种)计算能力和唯一的判断真假的能力,更加重要的是它不具有学习能力,如果说我写了一个程序具有了学习能力,那也局限于那个程序本身,而该程序也是由愚蠢的几个简单运算和愚蠢又单一的判断真假逻辑组合而成,并且,就着上面规则的概 念,程序不能产生程序意味着它不能产生新的规则,如果非要抬杠说编译程序可以产生新的程序,那么试问,输入从何而来,也是编译程序自己生成的吗?只要你能根据一个结果进一步的将过程的复杂分解为简单,那么就不是智能的生成点,如果你不能再分解了,但是结果出现了,那么智能也就产生了。根据智能具有学习能力 的原则,拥有智能的程序必须不是自闭的,必须是开放的,拥有输入和输出,输入的是一些规则,输出的也是一些规则而不仅仅是数据,并且这些规则可以被“记忆 ”。现今存在的所谓的智能程序本质上是人先按照一些精妙的算法编制好的一段程序,其输入是需要计算的数据,输出的是直接结果,整个规则就是程序本身,而程序是人编制的,因此这种程序我认为根本就不能算是人工智能。
我认为计算机算法就是将精妙的数学论证变成了无休止的数据遍历,将一眼望穿的领悟变成了按部就班的繁复,用前辈的话来说就是:将质的飞跃变成了量的积累。人和计算机行为的相同点就是都是“刺激-反应”式的,这里的反应其实就是一个规则,只是人可以将规则通过学习-记忆-遗传等机制积累下来作为别的刺激的输 入之一然后类似的反应形成更加复杂的规则,最终导致人类智能的进化;而计算机只是单纯的接受输入然后输出,它输出的不是规则,而是结果,像是一个过滤器一样工作,它不会学习规则更不会积累规则,也就不可能形成更加复杂的规则了。因此我们不能埋怨计算机只会遍历,过程繁复,因为它就是被设计成这样的,它的工 作方式当然也是这样。有人说他写出一个智能程序可以回答人提出的任何问题,并且可以让提问者无法分辨回答者(参见图灵测试)。实际上,程序设计者提供了场景,一个场景包含了一个刺激和对应的反应,如果一个场景仅包含一个刺激,那么就程序本身而言根本无法得出反应。即使程序本身没有直接提供反应,那它也是间 接地通过特征识别,排列组合等手段得到的反应,而不是通过学习和积累得到的反应,而不管是特征识别还是特征组合都是线形程序,我们不断将它们进行行为分解就会发现,一切都是确定的,事先安排好的。
设函数f(x)=ax+b。我们求方程ax+b=0的根。是人都知道该怎么解,移项,相除,就是x=-b/a,但是我们为什么这么解?实际上如果我们没有学过除法,没有学过分解因数等知识的话,我们可能根本就不知道这是怎么回事,更谈不上解方程了,只可惜这些知识我们已经印入脑海了,因此我们可以一下子得 到通解x=-b/a,以后再遇到此类型的方程我们只需要替换a和b就可以了,a是未知数x的系数,b是0次系数。但是对于计算机而言事情就没有那么简单 了,它没有积累任何知识,所拥有的仅仅是不超过4个的运算和一个真假判断技能,它没有因数的概念,没有方程的概念(你完全可以教给它这些,但是它学不会如 何使用,所以你还得教它如何使用,到头来你所有的知识都教给了它,它智能了,你累死了,它拥有了你的有生之年的所有知识,但是到了明天,它就不知道该怎么办了…你不教它,它就不会),它需要用仅有的不超过4个的运算和一个判断逻辑来解方程,怎么办?当然是穷举了,通俗些就是一个一个试,至于怎么试,办法就多了去了,人们很容易将精妙的尝试方式当成了人工智能,比如什么二分法之类的,其实这根本就不是什么人工机器智能,而只是程序员的智能。
《机械公敌》和《黑客帝国》我看了一遍又一遍,我更喜欢前者,因为后者附带了一些我不喜欢的魔幻色彩。《机械公敌》中的一段对白或许为人工智能的研究提供了方向,那句对白我当初听到的时候,又觉得搞笑又觉得恐怖:
人:  Can a robot turn a canvas into a beautiful masterpiece?
机器:Can you?
虽 然简单,但是完全出乎意料,机器不再简单的回答是或否,而是给了人类当头一棒,我想,如果当初问机器人的不是个警察而是一个画家,那么机器人的回答可能就不再是刁难的反问句了。这正是显示了机器人已经拥有了判断力和应变能力,而该判断力已经不再仅仅是判断真假那么简单了。
我说我们所有的程序都是判断你能给与否定吗?不管是for循环还是while,do-while其实都是判断,而顺序执行则是连判断都不用,在这样的条件之下是很难实现真正的智能的。计算机充其量知识一个高速的“机械装置”,和齿轮,滑轮,发动机没有本质的区别。不怕规则逻辑简单,就怕不能学习和积累,一个规则逻辑虽然简单但是多个简单的规则就会产生复杂的规则,进而产生非线性效应,而学习和积累正是产生非线性效应的先决条件。因此,传统的计算机很难产生 真正的人工智能。
如果写一个永远不会终止的程序,它的内部逻辑包含了“学习”,这样该程序虽然可以学习到很多知识,但是很难将其进行归纳重组进而变为别的规则,因为它本质 上不会归纳和思考,只会判断真假,不经归纳的知识是松散的知识,很难形成定理被再利用,因为这些知识不具有一般性。


原文链接:http://blog.csdn.net/dog250/article/details/5303336
加载中
0
r
root_cn

好文,不过,我觉得应该要先对智能下一个定义。究竟什么才是智能,可以算1+1=2,算不算智能?他心情不好,那你就不要去招惹他,算不算智能?还有学习能力,什么叫学习?等等

我觉得人的智能有三个方面,一是知识的学习,二是规则的学习,三是同境转化(类似举一反三)的能力。

 

0
D
DanielDW

智能就是“学习能力”,学习能力就是:实践--反馈--记录经验(经验数据库)--指导实践(通过”经验操作系统”,不是诺依曼结构),这一过程周而复始,有效运转,自我进化。必须建立新的操作系统,这个操作系统具有:

1、自我构建、自我复制

2、自我防御、自体识别

3、不完成知识库的功能,只完成小脑的功能,也就是形成经验直觉,并记录。

 

0
D
DanielDW
现有操作系统是服务于机器的操作系统,新型的操作系统是服务于人脑,现有操作系统是底层结构,必须构架“ 经验性操作系统”(人类小脑) 才能完成,衔接底层“机器操作系统” 和 上层"知识库”(人类大脑)。
返回顶部
顶部