【CCCF专栏】简论人工智能
来源:《中国计算机学会通讯》2016年第3期《专栏》
作者:李航
人工智能是哲学问题
现在,人工智能异常火爆。打开电视,翻开报纸,查看微信,登陆网站,随处可以看到“人工智能”的字眼。人们对人工智能有着异常的关注,强烈的期待,甚至严重的恐惧。
这是很自然的事情,因为“我们是否能在计算机上完整地实现人类智能?”,这个命题是一个哲学问题。康德认为,哲学需要回答三个问题:我能知道什么?我应该做什么?我可以期待什么?分别对应着认识、道德和信仰。而“是否能够实现人工智能”这个问题关系到智能,同样引人关注,发人深思。
以往都是哲学家提出哲学问题,并通过自己的思辨给出答案,形成哲学理论。但人工智能的命题与之不同,“我们是否能完整地实现人工智能”的真伪只有通过人工智能研究人员长期的实践才能得以验证。而且,这个命题也许不能证伪,只能证真。
“智能”没有严格的定义。人工智能有时指普通人的感知、认知能力,有时指专家的职业技能,有时指群体的智慧。“完整的人类智能”也被称为“强人工智能”。如果仅让计算机在某些方面显得比较智能,其实并不难,而且已经有许多成功的案例,困难的是,如何让计算机在整体意义上有与人同等甚至比人更高的智能。衡量人工智能是否实现的标准还没有确立,著名的图灵测试是否能够成为人工智能实现的标准也充满争议。
罗素曾说过“科学是我们知道的东西,哲学是我们不知道的东西”。从分析哲学的角度来看,只有三种东西是有意义的:逻辑(数学)、客观事实以及两者的组合,或者说只有科学的东西才是有意义的。所以,上述人工智能命题是一个“哲学问题”。在逻辑(数学)、客观事实以及两者的组合中不能证明它的真伪,至少现在不能。
当前人工智能很热,甚至成为街谈巷议、茶余酒后的话题。人们发表各种各样的言论,其中有许多是“不科学”的(不是基于逻辑、客观事实以及两者的组合得出的结论)。对于这些言论,我们应该采取的态度,用另一位分析哲学的代表人物维特根斯坦的话来说,就是“对于不可言说的,我们必须保持沉默”。因为对任何不是科学的言论进行探讨、辩论都是没有意义的。
笔者认为,正确的态度应该是面对实际问题,用科学的方法去解决,不断推动计算机的智能化。这与胡适所说的“多研究些问题,少谈些主义”有异曲同工之处。当然我们并不反对对未来科技的发展存有幻想,进行发散式的思考与交流,但这时应该明确自己在做什么。
实现人工智能是极具挑战的
近年人工智能的研究取得了惊人的成果,可以预见,这个趋势还将持续,计算机将会变得越来越智能。而另一方面,实现强人工智能仍是极其困难的。为什么呢?
因为我们还不知道如何用数学模型来表现并刻画人的智能,包括认知能力、语言能力等,而我们在计算机上实现任何东西都必须基于数学模型。这就是困难所在。
维特根斯坦前后发表了(看似)相互矛盾,但又有一定联系的两个哲学理论,即他的前期哲学和后期哲学,分别发表在《逻辑哲学论》与《哲学研究》两部著作里。
《逻辑哲学论》主要从逻辑的角度讨论哲学。其核心主张是只有科学(逻辑、事实及其组合)的思想才是有意义的。《哲学研究》主要从语言的角度讨论哲学。语言的使用赋之以语义,而一个单词的语义由其所有的使用方法决定。概念不是传统的内涵与外延所能定义的,比如,我们通常所说的“游戏”这个概念,其实包括各种性质的活动,如象棋、纸牌、集体舞,它们之间并不存在共同的属性,有的只是成员之间的相似性,称之为“家族相似性”(family resemblance)。
基于维氏前期哲学和后期哲学,我们可以推导出“人工智能极具挑战”这一结论。维氏哲学给我们的启示是,人的智能分为两部分,一部分是数学与科学的能力,一部分是认知、语言等能力。科学可以用数学精确地描述,而认知、语言是否能用数学来精确地描述还不是很清楚。几十年来的人工智能研究印证了这一点。载人航天的每个环节虽然复杂,但可以用数学模型精确地计算出来,相反,我们还无法构建一个真正的“对话机器人”,因为我们还不知道如何基于数学模型来实现,也不知道是否可行。
自然语言处理是极具挑战的
人工智能的目标之一就是让计算机能够像人一样听说读写,也就是拥有使用语言的能力,这也是自然语言处理领域的研究对象。自然语言处理被认为是人工智能完全问题(AI complete),也就是说,如果自然语言处理实现了,人工智能也就实现了。
实现自然语言处理同人工智能一样是极其困难的任务。受维特根斯坦后期哲学的影响,认知语言学(cognitive linguistics)学派形成,该学派试图从语言(特别是语汇)的使用入手研究语言,建立解释语言现象的理论。但是该领域还停留在对语言现象的解释上,远远没有达到建立模型,特别是数学模型的阶段。从认知语言学的研究结果也可看出实现自然语言的困难。
在中文中,“上厕所”、“下厨房”中的“上”和“下”的使用,源于不同语义相似度计算产生的比喻,久而久之成为习惯性词语搭配,在语言中被广泛使用。这种现象在语法等更高层次也依然可以观察到。
语言的使用并不存在严格的逻辑关系,如果定义一条规则,那么就一定会发现反例。如果认知语言学所主张的是正确的话,即语言使用是基于“语义相似度”计算产生,那么如何使这种复杂的计算过程模型化也就变成了极具挑战的问题,因为我们还不知道其基本原理与机制。让计算机像人一样自如地处理自然语言,即使可能,也需要走过漫长而遥远的历程。
实现人工智能的路径
实现人工智能可能有三条路径:外观、内省、模拟。
外观指的是观察人的大脑工作状况,探求其原理,解明其机制,从而在计算机上“实现”人类大脑的功能。比如,计算神经学(computational neuroscience)这个学科旨在基于生物和心理学实验,通过计算机建模的方式,解明大脑信息处理的内容、原理及原因。计算神经学研究的进展也许可以帮助实现人工智能,但从现有的研究成果看还有漫长的路要走。
内省就是反思自己的智能行为,将自己意识到的推理、知识等记录到计算机上,从而“再现”人的智能,比如专家系统就属于这一类。内省能让我们很快地构建智能系统需要的知识,包括概念、规则等。但是,内省的最大问题是人的智能原理不能从自己的意识中发现。下意识在整个大脑的思维过程中起着重要的作用。最近研究表明,下意识其实在很大程度上控制着意识,我们理解的自由意志(free will),即自己的意识可以掌控自己的行为,可能并不成立。
模拟是将人的智能行为的输入与输出记录下来,用模型来模仿,使模型(特别是利用统计机器学习)给出与人相似的反应。模拟的最大优点是,它避免对人的智能进行直接建模,转而通过数据驱动的方式解决具体问题。统计学习拥有一套完整的理论体系,作为实现智能的方法具有很强的鲁棒性和可扩展性,无数事实证明统计学习是实现人工智能的一个非常强大的工具。模拟的最大缺点是,它依赖于观测。数据中隐含的规律在一定程度上可以被挖掘出来,但从实现人工智能的角度看往往还不够充分,可能不能触及问题的本质,特别是高级的智能。
无论是外观,还是内省、模拟,我们还不清楚哪种方式有可能引领我们最终登上人工智能的顶峰。
现实的策略
我们应该采取怎样的策略,一步一步地推动人工智能的研究,使计算机不断地智能化?这里提出两个策略:任务驱动与混合模式。它们主要是针对自然语言处理,但对人工智能也应该适用。
认知语言学与自然语言处理的研究告诉我们,语言的语义具有很强的灵活性和多样性,很难精准刻画,但是当具体的任务、具体的场景确定以后,问题往往就变得容易很多。例如,要判断两个词的语义是否相似,往往不好确定,因为站在不同的角度可能有不同的结论。但是,一旦看问题的角度确定了,判断也就变得容易了。正如哲学家波普尔所说:“对象只有在这种情况下可以对它们进行分类,或者作相似性判断,那就是把它们联系到具体的兴趣或需求上。”所以,任务驱动是我们应该采取的第一个策略。
自然语言处理的研究成果表明,以统计学习为框架,以人的知识为内容,以人脑为启发的混合模式或许是最有效的。传统的自然语言处理的许多方法基于“统计加规则”,比如用概率上下文句法进行句法分析,就等价于使用人定义的语法知识加上自动学习到的概率统计知识来完成这个任务。所以,在统计学习的框架里加入人的知识是非常自然的想法。最近的深度学习的研究进展告诉我们,可以进一步将传统的简单的统计学习模型扩展到复杂的统计学习(深度学习)模型,大幅度提高人工智能处理的性能。深度学习本质上还是统计学习,但它在很多地方借鉴了人脑的工作原理,能够帮助我们很快构建复杂的模型,找到适合解决问题的方法,减少不必要的尝试。所以,借鉴人脑的统计学习也是一个非常有效的手段。混合模式是我们应该采取的第二个策略。
结语
完整地实现人工智能是极具挑战的。但是有一点我们深信不疑,人工智能技术将会不断发展,计算机将会变得越来越智能。
人工智能技术未来会发展成什么样子?我们谁也无法很好地预测,即便是10年以后的情况。就像大数据和深度学习技术,识别准确率现在已达到95%左右。而在10年以前谁也没有预料到这点,即使你预料到了,别人也不相信,因为当时的识别准确率只有85%左右。现在预测10年以后的人工智能技术,我们也会陷入同样的困境。
人工智能的顶峰我们可能永远无法到达,但重要的是在前进的过程中我们不断努力,不断进步。这就是人工智能。
作者:
李航
CCF专业会员。华为技术有限公司诺亚方舟实验室主任。主要研究方向为信息检索、自然语言处理等。