去年阿尔法狗4:1胜李世石,今年升级版阿尔法狗3:0胜柯洁。两场比赛惊心动魄,让棋迷、计算机迷、未来学者等各界观众面目狰狞,脑洞大开。另外,在过去的一年里,人工智能捷报频出,包括自动驾驶、人脸识别、语音识别、机器人等技术领域也大幅提升,资本界、创投界、技术界等一片狂喜。
短时间内,两种观点迅速占领思想市场:一派对人工智能抱以无限信心,以为在“智能化世界”的未来,人类终将一劳永逸;另一派则对人工智能无限担忧,恐惧人类终将被人工智能取代,前景堪忧。
情绪不同,但两者都建立在同一种认识上,即“人工智能比人强”,或者说,“人工智能将比人强”。人工智能确实强,但或许也并没有如传言所说的那么了不起。从本质上讲,人工智能做的只是运算,但智能活动要广泛得多,包括注意、抽象、推理、归纳、认识等,这些活动里面,只有一小部分可以被还原成算法。
对此,我们可以做一两个思想实验说明。
假设有两个人A和B,把他们带到2004年雅典奥运会上。此时,运动场上同时在进行三项比赛,标枪、赛跑以及跳远。假设这两个人坐在同样的位置上,眼路活动保持一致,让他们分别描述一下眼前所见,两个人会如何描述?
A说:“刘翔打破了110米栏的世界纪录!”而B说:“我觉得跳远要比跑步精彩得多!”
面对同样一个问题,两个人会作出不一样的回答,因为两个人的关注点或注意力(attention)不一样。注意力的选择有着明确的意向性,这导致两个人所表述出来的语言不一样。A是一个中国人,本来进体育场的主要目的就是来看中国运动员的表现,所以他自然会把注意力“主动”落在中国运动员身上;而B只是一个体育发烧友,来体育场是想来观摩各种比赛,所以他的注意力也就在“所有比赛上”。
现在设想一下,把A和B从位置上挪开,把一台人工智能C摆上,请问,这台人工智能会如何描述眼前所见呢?
不知道。这完全取决于人工智能的设计者如何编排人工智能的程序。如果设计者把注意力放在赛跑上,那么最后获得的内容描述就是赛跑,如果设计者把注意力放在跳远,那么最后获得的内容描述就是跳远,不可能在此之外。
对于A来说,眼前发生的所有事件只是刘翔破纪录,对于B来说,眼前发生的所有事件是三场比赛。但真实的情况或许更为复杂,场内发生的事件也远非这么几起。比如,同时发生的还有对面观众席上的打架事件。
如果打架事件没有波及太多,那么A和B自然不会把这个事件纳入自己的描述,因为他们不会留意到,尽管视觉信息同样进入了眼光涉及的范围,如果波及了,那么就会纳入。但是C可能就不会,如果C的设计师在设计C时压根就没有想要C去注意这样一起事件,那么C就不会主动去关注这场打架。
A和B会因为自身条件的不同以及场域环境的变化而改变注意力。在这里,注意力决定了认识。要提醒的是,注意力的发生存在着某些偶然性,这些偶然性带来了认识上的开放性。
比如,苹果砸到牛顿的头,牛顿注意到了苹果下落这个事件,然后牛顿去关注苹果。但问题在于,不是每一个被苹果砸到头的人都会去思考苹果下落这个事件,很多人可能更会注意到“苹果熟了”这个事件。至于被砸到头的人工智能会注意什么,还是由其设计者设定,人工智能机本身并不存在认识事件的主动性,或者说,认识上的意向性。
抛开主动性或意向性,人工智能有可能认识这个世界吗?或许也存疑。
相信“人工智能是智能”的人会用人脸识别、语音识别、自动驾驶(路况识别)的例子来说明人工智能有认识的能力。但问题在于,识别(iden-tifying)是认识(knowing)吗?
识别可以被还原成算法,但是认识不能。识别在本质上,就是拿着一样东西去比照另一样东西,按照一定的标准去核实相似度。认识活动包含了设定标准这一动作,但是识别活动无法设定标准,它只能按着标准去核实。
有些人会拿深度学习来说事,认为深度学习下的识别,并不是拿着一套标准去核实。是这样吗?深度学习只不过是用每一次的经验校正标准,让识别从一个固定行为变成了一个打磨的行为,但依旧是程序性的行为。校正标准的过程,或者说,打磨的行为依赖的是什么呢?依旧是工程师为其设定的目的,只要目的是人设的,那么机器就不是认识。
认识,一种依赖于语词、语法以及语句的活动,知识的表征即语言的表述。
语词或符号的功能是用于指称事物,通过指称,我们认定事物,确立界限。当我看到眼前的一样东西,我用xyz去指称它,我就区分了xyz和非xyz的界限,我用语句去形容眼前这个东西的状态,比如“xyz被放在桌子上”,我就形成了对于xyz的某种认识。无论是语词,还是语句,都表达出了某种意义。
人工智能运算的基本单位是比特(bit),比特只是一些信息流,通过运算符组织起来,他本身并不含有各种意义。语句表述无法被还原成比特的输入或输出,比特的运算也无法升级成意义的表达——至少目前也没有表现出有这种可能性存在,除非比特能构建出意义。
再回过头来看近日阿尔法狗和柯洁的比赛。对观众来说,上场比赛的是阿尔法狗与柯洁,但实际上进行较量的却是一批程序工程师和柯洁。
我们可以用一个类比的例子考察一下。
两个人打架,第一回合的比赛是赤手空拳,一方打败了另一方,但第二回合中,被打败的那一方被允许带武器——比如一把刀——上场,结果他打败了那个不带武器的。在这种情况下,我们应该怎么去描述这场事件呢?我们会说,这个带武器的人打败了那个不带武器的人,而不会说武器打败了人。武器就是武器,之所以在打架中发挥了作用,是因为它延长了打架者的手臂。
用同样的眼光来看阿尔法狗的事情。
开发阿尔法狗的工程师是一批围棋爱好者,他们在摸清了下围棋的套路后,将下棋套路程序化,最后在这套程序的帮助下赢了柯洁。在这里,摸清套路就是建模,将套路程序化就是算法化。排除掉心理因素,两个棋手相争,最终比的就是棋招的预估能力,说的通俗点,是比谁在更短的时间内算出更多的步数。因为阿尔法狗处理数据的速度更快,所以柯洁就败了。
所以,与其说是阿尔法狗赢了柯洁,不如说是一批程序工程师发明了一套能够快速计算的设备,在这套设备的帮助下战胜了柯洁。
之所以在这里要明确指出这个细节,在于“程序工程师用阿尔法狗赢了柯洁”和“阿尔法狗赢了柯洁”这两句话表面上说的是同一场事件,但对于事件的定性截然不同。在前一句话里,阿尔法狗仅仅是以工具的身份出现,在第二句话中,阿尔法狗则是以智能体的身份出现。
如我在前文中所论述的那样,阿尔法狗根本不是智能,之所以他能赢柯洁,只不过是它算得比较快,而围棋本质上又恰好是一个纯粹计算的游戏,根本不需要太多的智力。同样的道理,之所以华尔街的交易员大批下岗,被人工智能替下,也并不是人工智能有多厉害,而是因为交易员的工作本来就不需要什么智力,全赖一些熟练的体力活。在这个意义上,他们的下岗或许更是一件好事。