引入
最近几年,人工智能被炒得火热。机器打败人类围棋高手,玩部分电子游戏达到人类水平;机器同声传译、分类物体、识别人脸的准确率都达到十分高的水平;一些智能机器产品(智能音箱、智能服务机器人等),开始进入个人家庭或者企业。机器人的“入侵”,引起了很多普通人的恐慌:机器有了类似人类的智能,将来岂不是要代替人类?我想,这个恐慌的来源,便是人们对机器智能的未知的恐惧。那么,机器真的有智能吗?还是说这只是媒体大肆渲染的夸大之词?
要想正确回答这个问题,首先要从智能的定义入手,其次分析达到智能的手段,最后给出答案。本文便是照着这个逻辑和你分享一下我的认识。
智能的定义
对于人工智能,其定义很多,没有统一的定义。Stuart J. Russell 和 Peter Norvig 将一些常见的定义分为以下四类1
Thinking Humanly | Thinking Rationally |
---|---|
“The exciting new effort to make computers think . . . machines with minds, in the full and literal sense.” (Haugeland, 1985) | “The study of mental faculties through the use of computational models.” (Charniak and McDermott, 1985) |
“[The automation of] activities that we associate with human thinking, activities such as decision-making, problem solving, learning . . .” (Bellman, 1978) | “The study of the computations that make it possible to perceive, reason, and act.” (Winston, 1992) |
Acting Humanly | Acting Rationally |
---|---|
“The art of creating machines that perform functions that require intelligence when performed by people.” (Kurzweil, 1990) | “Computational Intelligence is the study of the design of intelligent agents.” (Poole et al., 1998) |
“The study of how to make computers do things at which, at the moment, people are better.” (Rich and Knight, 1991) | “AI . . . is concerned with intelligent behavior in artifacts.” (Nilsson, 1998) |
表格上方更关注于机器的思考(可以认为是理解和推理,即知道某些知识信息的含义,并利用这些已知的信息能够得到未知的结论),与之相对,表格下方更注重于机器的行为(即机器如何执行动作,与外在环境进行交互);表格左边的利用人类标准来评价,而右边的利用一种叫做“理性”(Rationality)的理想标准来评价。这里将人类标准和理性标准相对,并不意味着人类不理性,而是认为人的思考或者行为并不能每一次都能达到完美的结果;于此,提出理性标准来描述一种理想情况,在已知某些知识的情况下,做出正确的思考或者是行为。
综合以上的观点,可以给出对人工智能的较为全面的描述。人工智能是一个研究机器如何像人一样理性思考与行动的一个学科领域。研究这个领域的科学家渴望赋予机器像人一样的智能,那么他们怎么去做的呢?
达到智能的手段
搜索
最简单的,可以利用搜索的方式来达到智能。比如,实现一个简单的问答机器人,可以事先给机器人准备一个包含大量问题以及对应回答的语料库。当用户询问机器人问题时,机器人简单的从语料库中搜索与用户问题一致的问题,将对应的回答反馈给用户。
知识表示与推理
上一种搜索的方式是基于人为赋予的语料库,存在一定的局限性。该局限性在于机器只知道人告诉它的,如果超出语料库的范围,它将无法回答或者给出违反常理的回答。那么怎么解决这个问题呢?
一方面,我们可以不断地给机器人为增加语料库的内容以适应更多的提问;另一方面,我们也希望机器能够从已知去探索未知。语料库终究是有限的,而且越来越庞大的语料库会给导致搜索算法效率的降低,因而第二种可能是一种较好的方案。这种方案通常叫做知识表示与推理。
在知识表示与推理中,最关键的两个问题是如何将表述这些知识、如何建立规则做推理。科学家们反思自己的思考流程,发现命题逻辑是一个非常适合知识表达和推理的工具。其中,命题可以无歧义的表示某一个知识,逻辑推演中的各种规则可以拿来做推理。基于逻辑的知识表示与推理在一段时间内十分流行,并催生出一系列的专家系统。
经过一段时间,人们发现并不是所有的知识都能够用命题来表示。命题要求每一个知识都是确定的,是真就是真,是假就是假,但是日常生活中我们会遇到很多不确定的知识。怎样去表达这些不确定的信息呢?提到不确定,我想你一定会想到概率。对了!利用概率模型去表达知识,利用统计规律做推理。
感知、规划与执行
上面两个方法,都是有关如何赋予机器思考的能力。此外,也有一些科学家关注于如何构建一个和外在环境交互的机器。
他们给机器装上了各种传感器,试图模拟人类对外界的各种感知;他们通过一些物理知识,以传感器收集到的可测量的数据为基础,计算出一些必要的但是无法直接测量的数据,并且以这些数据作为后续动作规划的参考,试图模拟人类对原始感知的处理与动作决策;他们给机器装上各种控制机械装置,试图模拟人类在外界环境中执行动作。
机器学习
随着互联网覆盖率越来越大,每天产生的数据也越来越多。这些数据中,有很多数据不像传感器数据有着十分明确的用途,也无法利用已知的知识去描述数据中的规律。
反思过去,在传统的软件系统中,计算机或其他设备借助于人对于问题的处理逻辑展现出某种“智能”。这是一种“人为赋予的智能”,处理过程十分清晰明确。然而,这种方法并不能产生真正的智能,而只是将人类自身知识、智慧等以一种系统化的模式组织起来,从而为特定的问题提供自动化的解决方案。
展望未来,有没有一种可能教会机器自己从数据中寻找规律的能力?
机器学习就是一种可行的方法。
机器学习( Machine Learning )为我们提供了一个全新的思路,展现出一种创造 Strong AI 甚至 Super AI 的可能性。机器学习,正如 Arthur Samuel 所描述,是“一门研究‘给予计算机自我学习的能力,而不需明确程序控制’的学科”2。从传统的“授计算机以鱼”到机器学习中的“授计算机以渔”,这种从“被动”接受人类智慧,到“主动”学习解决问题,是一种伟大的转变。
有关“什么是机器学习”,还有另一个观点。Tom Mitchell 给学习问题下了一个形式化的定义。一个优雅的学习问题应该由三元组 ( E, T, P ) 所确定。其中 E 代表经验 ( Experience ), T 代表任务 ( Task ), P 代表性能量度 ( Performance measure )。机器学习就是去学习获得经验 E ,依据经验 E 去处理任务 T ,依据性能量度 P 改善经验E,从而最终获得比较优秀的处理结果。3
那么究竟怎么赋予机器学习发现规律的能力呢?第一点,定义一个针对某一任务的通用模型,作为机器经验的载体;第二点,定义性能度量指标,用于评价某一经验下模型的表现;第三点,定义如何得到最优模型的学习算法(通常是不断迭代)。有了模型、度量指标和学习算法这三点,再喂给它足够多的针对某一特定任务的数据,它就可以从数据中发现潜在的规律,并且在未知数据集上同样可以获得很好的表现。
不必过度恐慌
经过上面的介绍,我想你对人工智能应该有了一定的认识。人工智能,不过是一个渴望模拟人思考和行动的数学模型或者是系统。到目前为止,像科幻片里一样拥有自主思考能力的机器并不存在。因此,大家不必过度恐慌。
不过,机器人的“入侵”确实应该给我们敲响一个警钟。你对于你目前的职业是否不可替代?你有没有制定你的 Plan B 来躲过 Plan A 失败?
总结
今天,我和你分享了我对人工智能的认识,并由此得出对待机器人的“入侵”不必过度恐慌。最后,我将本文的要点总结如下:
- 人工智能是一个研究机器如何像人一样理性思考与行动的一个学科领域。
- 达到智能的手段有搜索,知识表示与推理,感知、规划与执行,机器学习等
- 面对机器人“入侵”不必过度恐慌,但要给自己敲响警钟,找个时间反思自己
最后,说句题外话。预计之后的几篇文章,我会关注机器学习中统计学习的部分,并以李航博士的著作——《统计学习方法》来分享有关知识。如果你有兴趣,请持续关注。
Stuart J. Russell and Peter Norvig. Artificial Intelligence——A Modern Approach [M] . 3rd ed. Prentice Hall, 2010. p2 Figure 1.1↩︎
Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed.——Arthur Samuel (1959).↩︎
Well-posed Learning Problem: A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E. ——Tom Mitchell (1998)↩︎