“人工智能”和“机器学习”是两个并不完全相同的概念,但是目前的研究中经常将两者进行合并。人工智能和机器学习在几十年的发展中并不是十分顺利的,随着以深度学习为代表的机器学习在一些领域的应用成功,人工智能和机器学习吸引了越来越多人的关注。
“人工智能”(Artificial Intelligence)的概念在过去几十年中经历了不同的认识。早期的人工智能研究人员将人工智能的目标设定为复制人的认知,其中占据主流的一个观点是如果机器是智能的,那么它将呈现智能行为。但是,一旦计算机开始在这些任务中获得成功,人们又意识到完成这些任务并不需要认知。目前,普遍接受的人工智能一个广泛的定义是使用计算机来完成之前由人力智能完成的任务。
“机器学习”(Machine Learning)的定义也几经更改,一般认为机器学习是一门人工智能的科学,主要研究如何在经验学习中改善具体算法的性能。目前,在很多论述中,将“人工智能”和“机器学习”的概念进行了合并。实际上,机器学习与人工智能有所区别。例如,逐步回归和聚类算法是机器学习的典型算法,但并不是真正意义上的人工智能方法。一般将机器学习分为三种类型:监督学习、无监督学习和强化学习(见图3-1)。
图3-1 机器学习的类型
“深度学习”(Deep Learning)是机器学习的一种。实际上,深度学习的概念早在20世纪80年代就已经形成,但当时深度学习需要的计算量太大了。进入21世纪,深度学习的发展很快让一些传统的方法黯然失色。2010年以后,深度学习已经具备取代很多传统的机器视觉和自动语音识别方面的潜力。Google开发的Alpha Go的成功让研究人员重新开始审视人工智能和机器学习的价值。
本书没有严格区分人工智能和机器学习的概念。在情报处理领域,以深度学习为代表的机器学习算法有着巨大的应用潜力。本章主要论述情报大数据分析中的机器学习算法。
机器学习已经在机器视觉、自动翻译和语音识别等领域取得了显著成果,但是机器学习仍旧存在一些困难,主要表现在以下几个方面。
首先,机器学习需要大量的训练数据,而这些数据通常必须由人工进行标记,或者由其他代价很高的方法来获得。通常,对真实数据进行处理从而创建可用的训练集是构建实用的机器学习应用程序的重要步骤,一些机器学习的成功项目如Project Maven,使用现成的人工智能和机器学习算法,需要数百万个人工标记图像的训练集。
其次,机器学习存在“过拟合”问题,这意味着某算法在训练数据上表现出了非常好的性能,但是对于超出训练数据的真实世界数据的泛化能力非常有限。
最后,当前使用的大多数机器学习算法需要对很多不同的参数进行精确调整,而找到使算法能有效工作的正确的参数组合是非常困难的。
摩尔定律在过去50年正确预测了集成电路密度的增长。与集成电路遵循的摩尔定律不同,人工智能和机器学习的预测是非常困难的,目前还没有建立一个精确的模型来预测人工智能和机器学习的未来发展。许多早期的人工智能研究者认为,达到“人类水平”的人工智能可能会在21世纪开始之前就创造出来,但是事实的发展与最初的预期截然不同。20世纪90年代和21世纪初,多数研究者认为深度学习和强化学习是失败的,甚至在10年前,多数领先的研究者还未认识到深度学习在推动人工智能和机器学习上的巨大潜能。
不同专家对人工智能和机器学习未来的预期差异很大。在2016年的一份关于人工智能和机器学习何时能在某些特定任务上成功完成的调查报告中显示,对复杂任务(如写小说),专家的预期有50年的差异;对一些看似简单的任务(如叠衣服),专家的估计也会有10年的差异。因此,想要获得对人工智能和机器学习的准确预期是非常困难的。通过单纯的统计模式,很难预测人工智能和机器学习何时能够成功执行复杂的分析任务,特别是还需要一定程度的理解和常识的分析任务。
当前的技术要么依赖于统计推断,要么使用提供的模型进行推理,但是不能实现很多任务需要的“理解”。例如,需要拥有一个足够智能的场景分析系统,从而预测为什么普通的观察结果的融合会如此重要,并向人类分析师发出警告。然后,除非在训练数据集中包括了该种情况,否则当前的技术对这样的功能的泛化能力很差。研究人员有时将需要达到这种类似人或者更通用的智能水平的问题称为“完整的人工智能”。
与人工智能和机器学习本身研究的发展难以确定相比,现有技术的商业化应用却是显而易见的。一些大型的科技公司正在积极寻求处理更大数据集的方法,包括开发更大的训练集,标记图像和多语言文本,以及开发用以训练和执行机器学习模型的定制硬件。软件工程的进步也可以改进人工智能和机器学习的计算过程。随着这些技术进步的商业化,可以确定的是即使没有机器学习算法或框架的额外突破,当前的机器学习技术也能够解决更多、更广泛的现实问题。下面简要介绍一些常用的人工智能和机器学习算法。