五分钟了解你不得不知道的人工智能热门词汇

2017-10-10 | 作者:微软亚洲研究院

编者按:大数据和人工智能的浪潮正在席卷全球,众多热门词汇蜂拥而至:人工智能(Artificial Intelligence)、大数据(Big Data)、云计算(Cloud Computing)、机器学习(Machine Learning)、数据挖掘(Data Mining)、深度学习(Deep Learning)、强化学习(Reinforcement Learning)和数据库(Databases)。不少人对这些高频词汇的含义及其背后的关系总是似懂非懂、一知半解。

为了帮助大家更好地理解人工智能,我们邀请到微软亚洲研究院资深研究员郑宇博士用最简单的语言来解释这些词汇的含义,理清它们之间的关系,希望对刚入门的同学们有所帮助。


人工智能、机器学习、深度学习和强化学习

首先来看一下人工智能、机器学习和深度学习之间的关系。如图一所示,我们可以大致认为深度学习是机器学习中的一种学习方法,而机器学习则可以被认为是人工智能的一个分支。

图一 人工智能研究分支

人工智能:人工智能涵盖的领域很广,除了机器学习外,还包括专家系统、进化计算、模糊逻辑、粗糙集、多代理、规划问题等。最近几年,人工智能的发展主要得益于机器学习领域的推动,尤其是深度学习取得的突破,其他领域的进展相对较小。人工智能分为弱人工智能和强人工智能,前者让机器具备观察和感知的能力,可以做到一定程度的理解和推理。目前的科研都集中在弱人工智能这部分,并很有希望在近期取得重大突破。而强人工智能期待让机器获得自适应能力,解决一些之前没有遇到过的问题。电影里的人工智能多半都是在描绘强人工智能,而这部分在目前的现实世界里难以真正实现。

机器学习:从学习方法上来分,机器可以分为监督学习(如分类问题)、无监督学习(如聚类问题)、半监督学习、集成学习、深度学习和强化学习。深度学习本来并不是一种独立的学习方法,其本身也会用到有监督和无监督的学习方法来训练深度神经网络。但由于近几年该领域发展迅猛,一些特有的学习手段相继被提出(如残差网络),因此越来越多的人将其单独看作一种学习的方法。按照学习目的来分,机器学习涵盖了回归、分类、聚类、异常监测、量纲学习和因果分析等。

深度学习:最初的深度学习是利用深度神经网络来解决特征表达的一种学习过程。深度神经网络本身并不是一个全新的概念,可大致理解为隐含层很多的一个神经网络结构。为了提高深层神经网络的训练效果,人们对神经元的连接方法和激活函数等方面做出相应的调整。其实有不少想法早年间也曾有过,但由于当时训练数据量不足、计算单元落后,因此最终的效果不尽如人意。

强化学习:强化学习为一个代理(Agent)在一个环境里设计一系列动作(Actions)以获得最优的未来长期回报(Reward)。走迷宫常被用来作为解释强化学习的例子。因为学习方法复杂,早年间强化学习只能解决一些非常简单(状态空间小、动作选择少)的问题。直到深度学习的出现,使得我们可以用深度神经网络去逼近一个近似的价值和策略函数,强化学习才取得很大的进展(如在AlphaGo里的价值判断网络),人们称其为深度强化学习(Deep Reinforcement Learning)。与其说是强化学习的进展,不如说是在强化学习的框架里,深度学习贡献了巨大的力量。

数据挖掘、人工智能、大数据和云计算

如图二所示,数据挖掘是从数据中发掘知识的过程,在这个过程中人工智能和数据库技术可以作为挖掘工具,数据可以被看作是土壤,云平台可以看作是承载数据和挖掘算法的基础设施。

图二 数据挖掘的过程以及与人工智能和云计算的关系

数据挖掘:数据挖掘是从数据中发掘知识的过程,在挖掘数据的过程中需要用到一些挖掘工具和方法(如图二第二个层面所示)。这些工具可以是基于数据库的挖掘方法,比如频发模式发掘(Frequent Pattern Mining)和关联规则。大家经常听说的啤酒和尿布的例子就是基于数据库技术的频繁模式发掘。数据挖掘也可以用到机器学习的方法,比如各种分类模型(如Decision trees和SVM)、概率图模型(Probabilistic Graphical Models)以及深度学习的方法。数据挖掘同样也可以用到人工智能里非机器学习的方法,比如遗传算法和粗糙集等。当数量非常大时,数据挖掘需要借助云平台来承载数据,并利用云平台中的分布式计算单元来提高数据挖掘效率。当挖掘完毕后,数据挖掘还需要对知识进行可视化和展现。

云计算:云计算平台一般是由第三方IT公司建立的涵盖基础设施、计算资源和平台操作系统的集成体。云平台解决了传统公司各自搭建机器集群所产生的建设周期长、升级换代慢、维护成本高的痛点,让其他公司可以从搭建计算平台的繁重任务中解脱出来而专注于自己的业务。云平台用户可以高效、灵活的调整自己的资源配置(比如用多少台虚拟机、多少个计算节点等),第三方公司根据用户使用的资源来收取相应的费用。打一个通俗的比喻,就好比不用每家每户弄一个发电机,而是集中建一个发电厂,每家只需要插上插头就可以用电,根据用电的多少来计费。用户不用关心发电厂建在哪里、如何发电,也不用操心如何维护发电厂本身的运转和安全。

云计算平台本身为大数据的存储和分析提供了很好的基础设施(如storage和Hadoop、Spark和Storm等分布式计算环境),但默认的云平台上并没有自带强大的机器学习和人工智能能力,也缺乏高效的索引机制(如时空索引算法)。因此,云平台并不等于大数据平台。近期不少公司在积极地开发基于云平台的机器学习工具(如AzureML)和人工智能平台。图三是我们基于Azure搭建的城市大数据平台,其中时空索引、针对时空数据的机器学习算法和多源数据融合算法都是以前的云平台所不具备的。

图三 城市大数据平台

大数据:大数据是一种从数据的采集、管理、分析挖掘到服务提供的端到端的、解决行业问题的综合实力,是从数据生命周期这个维度来看的知识获取过程(数据库、机器学习和人工智能技术可以成为其中的一个环节),也是一种基于数据的思维方式。通常讲大数据都会提到4个V,Volume(量大)、Velocity(速度快)、Variety(多样性)、Value(价值)。但实际上,除了Variety(多样性)以外,其他几个属性很难界定,比如多大才叫大,一直很难给出一个严格的定义。而只要是数据就有其价值,关键是如何利用数据。因此,大数据不是指一个体量很大的单一数据,其关键在于多源数据融合(即把来自不同领域的数据的知识相互结合,形成1+1>2的合力),这是大数据的战略制高点,不是单单在“数据”前加个“大”字那么简单。

多源数据的融合给数据管理、数据挖掘、机器学习和人工智能带来了很多新兴课题。当数据挖掘被用来挖掘和融合多源数据中蕴含的知识时,数据挖掘就跟大数据有了完美的结合。如果数据挖掘还在挖掘单一数据,那就是传统的数据挖掘或者是早年间研究的“海量数据挖掘”。作为数据挖掘的工具,分布式机器学习的重点是解决海量数据挖掘的问题,而不是解决多源数据融合的问题。要想融合多源数据,我们就需要在机器学习中设计新的多源数据融合算法([1]是一篇关于多源数据融合的机器学习算法的综述),并为云平台设计特别的管理和索引方法。

图四以城市大数据为例,说明了大数据和数据挖掘以及人工智能之间的关系。城市大数据就是从城市数据的感知、管理、分析到服务提供的端到端的、解决行业(如交通、环境等)问题的综合实力。在解决一个问题时,我们通常需要同时用到来自于多个领域的数据(如预测空气质量需要考虑气象、交通和地理信息等),如何融合多源数据中的知识就是一个难点。这需要在数据挖掘过程中设计相应的数据管理算法和机器学习算法。因此,可以大致理解在图四的第二、三(管理和分析)层面是在做数据挖掘的事情,而在第三层里,又需要用到一些改良的机器学习和人工智能算法。更多细节将在《Urban Computing》[2]一书中介绍。

图四 城市计算和城市大数据

[1] Yu Zheng, Methodologiesfor Cross-Domain Data Fusion: An Overview, in IEEE Transactions on Big Data

[2] Yu Zheng, Urban Computing, MIT Press (预计2018年初出版)

作者介绍

郑宇博士,微软亚洲研究院城市计算领域负责人,上海交通大学讲座教授、博导,香港科技大学客座教授; 提出了“城市计算”的理念,以主作者身份在大数据和人工智能领域顶尖国际会议和刊物上发表相关论文50余篇,论文被引用14,000余次,H-Index:56;担任人工智能顶尖国际期刊(SCI一区)ACM Transactions on Intelligent Systems and Technology(ACM TIST)的Editor-in-Chief(TIST近五年影响因子10.47,在所有ACM期刊中排名第一)、ACM数据挖掘中国分会秘书长,以及大数据领域知名国际会议ICDE2014 和CIKM2017的工业界主席;2013年,他因在城市计算领域的贡献被《MIT科技评论》评为全球杰出青年创新者(TR35),2016年被评为美国计算机学会杰出科学家 (ACM Distinguished Scientist)。

标签