1.1.1 机器学习与人工智能、深度学习等的关系
“机器学习”“人工智能”“深度学习”这三个词常常被人混淆,但其实它们出现的时间相隔甚远,“人工智能”(Artificial Intelligence,AI)出现于20世纪50年代,“机器学习”(Machine Learning,ML)出现于20世纪80年代,而“深度学习”(Deep Learning,DL)则是近些年才出现的。三者是包含与被包含关系,如图1-1所示。
图1-1 人工智能、机器学习和深度学习的关系
业内对于以上关系还有不同的见解[1],比如认为深度学习有部分内容在机器学习范畴之外,此处不深究。“人工智能”一词出现在1956年的达特茅斯会议上,当时人工智能先驱的梦想是建造具有人类智能体的软硬件系统,该系统具有人类的智能特征,而这里所说的人工智能为“通用人工智能”。这样的人工智能梦想曾在影视作品中大放异彩,如电影《星球大战》中的C-3PO机器人具有人类的理性和思考能力。不过,迄今为止,这种高层次的推理和思想仍然难以实现,退而求其次,目前能够落地的都属于“狭义的人工智能”,如人脸识别等。
我们将机器学习描述为实现人工智能的一种方式方法。机器学习是基于已有数据、知识或经验自动识别有意义的模式。最基本的机器学习使用算法解析和学习数据,然后在相似的环境里做出决定或预测。简言之,即基于数据学习并做决策。这样的描述将机器学习与传统软件或普通程序区分开来。机器学习过程中,并没有人为指示机器学习系统如何对未知环境做出决策或预测,这一过程由机器学习中的算法从数据中习得,做出决策的主体是机器学习算法,并且决策或预测是非确定性的结果,一般以概率的形式输出,比如80%的可能性是晴天。与之不同的是,常规的应用程序需要软件工程师一句句地编写代码(特定的指令集),指示程序或软件做出确定的行为,比如输出0和1分别表示注册成功和失败。做出决策的主体实际是人,程序只是执行动作的工具。正因如此,机器学习可归为间接编程,与之对应的是常规编程。
深度学习使用多层(一般多于5层)人工神经网络学习数据内部的复杂关系。人工神经网络是生物科学、认知科学等与人工智能结合的产物,在早期的机器学习中就已开始应用,其初衷是在计算机中模拟人类大脑神经元的工作模式。人类大脑的神经元在百亿级别,通过突触实现彼此交流,从计算的角度看属于计算密集型,这限制了复杂人工神经网络在实践中的应用。计算机计算能力的大幅提升带来了新的可能,2000年,多伦多大学的Geoffrey Hinton领导的研究小组在不懈研究下,终于在现代超级计算机中验证了深度学习的多层网络结构。Geoffrey Hinton因在深度学习领域做出巨大贡献而被称为深度学习的鼻祖,并与Yoshua Bengio、Yann LeCun并称机器学习三巨头。(三人因在深度学习领域的贡献而荣获2018年图灵奖。深度学习可被看作一种实现机器学习的技术,是机器学习的子集。与深度学习相对,过去那些只有单层或少层的神经网络被称为浅层学习。
对于机器学习的描述,也有专家调侃地发声,以表明某种现象[2]:当你募集资金时,这属于人工智能;当你招聘时,这属于机器学习;当你执行时,这属于线性回归;当你调试时,这属于printf()。
以上只从某个侧面简要描述了人工智能、机器学习和深度学习的关系,更全面的信息请读者参考相关资料。另外,本书不会讲述深度学习。
机器学习与传统统计密不可分,两者都是从数据中得出结论。统计学中首先提出数据空间假设(比如数据呈正态分布)下的参数化求解,同时关心样本量增大至无穷时统计估计的收敛问题;机器学习则尽可能少地对数据分布做出假设,而以算法作为关键,学习接近数据生成的模型,同时关注有限样本下学习的性能(算法和模型表现)。
机器学习与大数据也常常出现在同一场合。当某人提到大数据时,需要看此人背景才能明确其所说大数据的含义。
当此人是大数据相关技术人员、从技术角度描述大数据时,他往往指的是数据的存储、分析、处理和计算的技术,其难点并不在于具体的算法,而在于存储、计算的分布式系统的层级问题。从行业中我们也能看到针对大量的数据建模往往使用相对简单的算法。相反,对于少量数据,由于来之不易,往往会进行大量精细的分析和处理。我们很难根据某一天的天气推测另一天的天气状况,但如果有大量的历史天气数据,使用常规算法推测另一天的天气状况就会有较大把握。在某种意义上,“大数据不难,小数据才难”有一定道理。当此人从业务角度描述大数据时,他往往指的是数据,是基于数据的分析挖掘、运营以及产生业务价值的方法和策略。
当外行人说大数据时,他往往指的是海量数据、安全与隐私等更为直观的概念。值得一提的是,在很多场景下,对于真正进入算法模型的数据量,我们需要自问:我们真的有大数据吗?当然,机器学习所用的数据来源于各个渠道,数据量是海量的,存储于大数据平台或大数据存储系统,从这个角度来看,机器学习是依赖于大数据的。另外,大数据(及其处理能力)也是传统的数据分析建模向机器学习、深度学习转变的关键。
机器学习与数据科学(Data Science)关系也非常紧密。在笔者看来,数据科学从数据的角度概括了数据有关的活动,涉及的范围比机器学习更广。数据工程、数据可视化、数据集成与ETL(提取、转换和加载)、商业智能、数据产品、大数据等都可以归入数据科学范畴。
下面我们正式讲述机器学习的基本概念和求解问题模式。
[1] http://usblogs.pwc.com/emerging-technology/a-look-at-machine-learning-infographic/
[2] http://varianceexplained.org/r/ds-ml-ai/