大话人工智能(2)——“中文房间”理论以及AI的“看上去挺智能”

上篇文字说道AI的信息堆积,之后朋友提出了“中文房间”理论,这里科普一下,以下两段是摘录:

“中文房间”最早由美国哲学家John Searle于20世纪80年代初提出。这个实验要求你想象一位只说英语的人身处一个房间之中,这间房间除了门上有一个小窗口以外,全部都是封闭的。他随身带着一本写有中文翻译程序的书。房间里还有足够的稿纸、铅笔和橱柜。写着中文的纸片通过小窗口被送入房间中。根据Searle的理论,房间中的人可以使用他的书来翻译这些文字并用中文回复。虽然他完全不会中文,Searle认为通过这个过程,房间里的人可以让任何房间外的人以为他会说流利的中文。

解读:
Searle 创造了“中文房间”思想实验来反驳电脑和其他人工智能能够真正思考的观点。房间里的人不会说中文;他不能够用中文思考。但因为他拥有某些特定的工具,他甚至可以让以中文为母语的人以为他能流利的说中文。根据Searle,电脑就是这样工作的。它们无法真正的理解接收到的信息,但它们可以运行一个程序,处理信息,然后给出一个智能的印象。

类似理论的实践产品比如苹果的Siri就相当于本实验中封闭的房间,iPhone的话筒就相当于本实验中的小窗口,你对iPhone说的话相当于本实验中的写有中文的纸片,Siri程序虽然完全不懂中文,但是通过其内部程序,会让我们使用iPhone的人以为Siri领悟了我们的指令,并能和我们进行人性化的交流与沟通。

而实际上确实目前的人工智能并不能脱离这套理论。上一篇文字的信息堆积只不过将房间里的内置信息库变成了后天添加的内容——因为人类社会的信息量相当之庞大,我们不可能预先知道房间外面世界的改变并预先将所有信息存储进信息库(书柜)中。

但另一方面,这样的信息堆积是没有自主的联想机制的。比如你告诉机器1+1=2,它记住了,但它并没有1+2等于多少的信息。怎样才能通过1+1=2来推导出1+2=3呢?当然这个问题已经上升到数学界,著名的哥德巴赫猜想就一直致力于解释清楚这个问题。所以目前来说,人类世界的1+2=3也是通过后天强硬灌输的。只不过我们掌握了某一种规律,可以知道1+2=3,1+3=4以此类推。这种规律即是一种经验类信息源。

又比如说,人类的联想是建立在有类似实验证明的基础上的,而且很大一部分是通过教育强制印象产生的。比如说“人不吃饭会饿死”这个问题,我们对于不吃饭的联想,如果没有任何人告诉你不吃饭会如何,你也没有亲眼看过不吃饭会如何,那么你不可能得出不吃饭会饿死的结论。当有第一个人见证过,同时告诉第二个人,以此类推,之后通过父母教育,便形成了世代出生后会被很快灌输的观念——“人不吃饭会饿死”。所以在人类社会,对一种观念的认知,对一种事态发展的联想,是通过世代灌输以及客观人类认为而进行的,这就是常识的由来。

也同时所有的联想,要么是通过实验证明联想的对错。要么就是根据前人的经验去做出相应的判断。这也是为什么人类常常做出一个错误的判断。但普遍的客观规律是建立在无数次证实如此的基础上的,比如万有引力,无数次你松开手中的杯子它都会往下掉落。但当人类第一次登上太空后,会发现杯子不掉落了。这个时候出现了和客观规律相违背的情况,当然后来我们用宇宙中几乎没用引力,来解释清楚这个杯子不掉落的特例。

程序也是如此,我们可以建立一个普遍认知的存储空间在磁盘中,同时也保留一个特例的存储空间。当有人类社会的特例发生时,我们将特例存放进程序的特定空间中。同时通过无数次的程序的人类社会经验,利用穷举的方法来累计一次次一般认知的概率。比如说所有人不吃饭都饿死了,但有一个人不吃饭能存活。我们利用其结论所占有的比重,得出一个客观社会能够接受的所谓正确的判断。这也是我们之前的理论之一,AI应该接受再教育,将客观事实作为信息源记录下来。

但这里有一点被我们忽视了,就是目前的计算机,简单说是冯诺依曼型计算机,只有高低电平两种状态。要么得出结论是Ture,要么结论是False,不会说出可能的答案。当然你可以设定一个程序,当Ture结果即“人不吃饭会死”的概率低于80%时,程序可以说,“人不吃饭可能会死”。并且程序不会出现暗藏其他条件的情况,比如“人不吃饭但一直输营养液”。所以目前的应对办法是通过概率学让程序去说出可能这样的话来(虽然这并不一定科学)。

现在回到我们的联想机制。首先,人类是有联想能力的,这种联想分为对已知事物的分析,联想出正确的答案。比如我们做计算题:“1+2=3”;比如我们将客观事实进行求解:“人不吃饭会死”;这些都是已知型联想。

同时还有未知型联想,即对于未知事物的探索,通过其周边所有现象进行分析,这里可以用程序递归调用它自身的结果分析器(带有概率的具有一般认知结果的 True or False 的生成器)。这里需要运用到一系列复杂的算法,即不同的单个现象的结果对最终结论影响的比重是不同的。我们会通过其比重的影响得出最后的结论。

说得可能有点复杂了。我们举一个例子,如果你想判断一个姑娘是否喜欢你(当然其实也许姑娘自己都不知道是否喜欢你),你需要根据她的各方面表现进行一个求证。设C代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
boolean A;//看见你她是否会微笑
boolean B;//你邀请她是否赴约
boolean C;//是否同意你牵她的手
......

boolen Like(Boolean A,Boolean B,Boolean C){

    float result = A * 0.2 + B * 0.3 + C * 0.5 ;

    return (result >= 0.5 ? true : false);
   
}

当然这个Like函数是非常简陋的,并不一定能够得出精确的答案,事实上这种分析是需要建立在许许多多客观条件的影响上的,比如我们没有给出的可参考条件DEFG甚至更多,比如她是否是一个保守的姑娘,是否从未和异性牵过手,这些在心理学上同样具备非常重要的参考价值。但是我们不可能一股脑的加起来最后的比重和为一草草了事,这是不科学的。

同时,这里的所有变量都定义为布尔型,是否欠妥。是否需要用int型甚至float型来进行打分。我们试图用理性去解决感性问题的时候,遇到了很大的障碍,我们只能按照一般规律来进行判断,这就是之前所说的“结果分析器”(带有概率的具有一般认知结果的 True or False 的生成器)。通常情况是姑娘看见你会微笑,接受你的邀约,同时愿意让你牵她的手——那基本上表示这个姑娘喜欢你了(当然这是男人的思想,女人也许不一定这么认为)。

而以上的算法不管简陋与否,都需要通过心理学的深刻分析做出一个详尽的数学公式来用于计算结果。这一套数学公式从何而来,对程序来说,应该是预先编译好的,就像我之前写的C代码一样。因为目前的已知的程序不可能会自己给自己设计出这一套算法,用于应对一些客观联想的求解。

本文中一直用到了“客观”这个词,因为现阶段讨论的人工智能是没有自我情绪的,那么它就不会带有主观思想,它所有的结论并不是建立在“我认为”上,而是建立在“大家普遍认为”上。而本节中我们也抛开人类的自我情绪只试图去建立一个没有情感的能够给出人类普遍答案的答疑机器人——这一点并没有违背之前的“中文房间”理论。

但是我们现在一直无法解决的问题是,信息源我们可以通过后天的存储进行所谓的“学习”(将知识放进中文房间里);对机器人的认知能力我们也可以预先设计好让它有先天的视觉、听觉、文字识别能力(让它有接受外界信息的能力);对于信息输入后的相应处理行动状态,我们也可以仿照生物学上的先天趋利避害等特性进行枚举(让它有先天的生物的应激特性);但是当我们对它提出一个问题时,他计算其答案的公式从何而来——程序预置是不可能的,这只会把AI的数值策划人员活活累死。人类不可能枚举出每一种人类活动的数学公式!

但是现阶段的人工智能确实陷入了这样的一个误区,即不断的枚举算法、预置信息,让其达到所谓的“看上去挺智能”。

所以如果我们能够解决这个问题,让程序自己为自己不断生成分析问题的公式,并在以后的实际运行中不断的校正这个公式。那么也许我们可以从此放任这个程序不管,让它进行自我的学习与完善,从而达到一个高度的灵活的无限趋进于智能的“看上去很智能”。

同时,悖论一样的问题又来了,就像是“先有鸡还是先有蛋”的问题一样,我们上哪去弄一个面对千千万万种不同的问题能自己去设计自己公式的程序呢?用简单一点的说法即是,但凡是程序,但凡是冯诺依曼型计算机的程序,它都是一种客观事件在数学模型上的一种客观归纳。所以程序如果没有枚举,那么所有进来的数据经过处理后都会得到一个相同的结果。因此在这个悖论里,我们不可能造出一个自己能够设计计算公式的程序,因为面对如此多的事件,这个程序进行公式设计的公式从何而来?而如果只用一种算法去设计公式,最后所有的事件进入后都只能得出一种公式。

希望看到这里你并没有被绕晕了,仿佛自己打了自己一个响亮的耳光,人工智能仿佛永远是“看上去挺智能”。因为它想法单一,它的处理方式(面对事件的分析公式)很有限,虽然说拥有海量的用于取证的信息,但是它无法思考,无法拥有海量的公式去匹配一个结果出来,因为并不是所有问题都像“人不吃饭会死”这么简单。

而面对悖论,我们似乎已经一条路走到头了。现在我们重新想想,人类是如何看上去挺靠谱的设计出一个事件公式的,就比如上文的Like函数,我们是怎样得出这个公式或者下意识思考的:

①我们根据自我的认识(亲历以及旁观)得出以下哪几类信息具有参考价值。
②同样根据自我的认识(亲历以及旁观)得出以下几类参考信息的权重程度。
③进行公式的计算(下意识的思考)。
④运行公式,得出结论,对最终结果进行客观求证,比如调查100位姑娘的表现,对结果进行分类,验证公式的准确性。
⑤这些验证的结果将影响到我们下一次的判断。

事实上公式计算时的自我认识,来自于客观社会的影响。比如在中国社会,微笑、赴约、牵手基本能代表喜欢,但在美国社会可能并不能说明什么。这既是一种客观社会对自身主观意识的影响。而公式就相当于人类大脑的某一个思考回路。如果公式的设计如果不需要程序的自我推导实现,我们确实可以跳出之前的那个悖论继续往下探索。

在继续之前我们先确定一点:公式是存在的,但只能有预编译好的一种。那么问题回到如何使用公式这一点上,参考人类思维过程,我们模拟以下过程:

①程序通过海量信息的影响关系表,从中寻找出对于判断一个姑娘的真实心理具有重要参考价值的一些信息源。
②程序通过海量信息的影响关系权重表,从中寻找出各个参考信息源的权重值。
③进行公式计算
④若有机会求证结果
⑤修正相关信息权重,判断正确即增加相应信息的权重值,判断错误即削弱权重值,甚至从影响关系表中剔除。

而这个公式即是永恒不变的 PR = A*Pa + B*Pb + C*Pc + … + N*Pn;(Pa + Pb + Pc + … + Pn = 1)

显然这个公式面对所有情况,并不是那么的完美。但也同时,我们也把“无限趋近人工智能的”AI系统的关键点推给了数学家,我们不再怀疑“冯诺依曼”、不再试图让程序对自己进行一次未经编译的创建,而是把希望寄托在一个浓缩了人类所有智能的公式上——它通过各个数据源点的关系影响及权重,从而得出相应的答案。当然就像机器语言只有1和0一样,冯诺依曼也只能给出你是和不是的答案。但没有关系所有语言的逻辑都可以用1和0表示,这也是计算机可以做任何人类既定好的计算工作的原因。

以下是语言的几种表现形式,大致如下:
①问及人类的脑容量有多大:检索脑容量这个词,在记忆库中搜索相应的信息并分析权重给出AI认为最正确的答案。
②对方对你说“你好”时的回答:根据你好这个次进行检索,按照权重需找特定的匹配对象,然后得出最应该说的那句回话。
③世界末日会怎样的联想:根据世界末日这个词进行检索,给出出现概率(影响权重)最高的关键词信息。
④问一个姑娘是否喜欢你:根据喜欢这个词进行检索,分析出最具关联的信息源点并获取权重代入公式计算结果。
⑤请自我关闭程序:检索自我关闭这个关键词,在记忆库中对相应操作进行权重分析,给出关闭操作的节点(类似于给出问题的答案)然后供程序自我调用。

可以看到,对这些表现形式我们都可以通过之前的算法理论去进一步归纳,虽然这并不一定是最科学的。但既然程序无法实现自我创造,我们只能运用客观规律的归纳来进行程序的智能优化。虽然从始到终我们都没有跳出“中文房间”理论的覆盖范围。

BeiTown
2012.12.18

本文链接:大话人工智能(2)——“中文房间”理论以及AI的“看上去挺智能”

转载声明:BeiTown原创,转载请注明来源:BeiTown's Coder 编码之源,谢谢


Tags: , , ,

One Response to 大话人工智能(2)——“中文房间”理论以及AI的“看上去挺智能”

  1. 神情话意 说道:

    如果计算机能使用中文进行模糊编程,再结合道家理论,我相信那时离人工智能的诞生就不远了..

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>