人工智能的三次浪潮

人工智能的三次浪潮

2018年年初,招聘季正如火如荼地进行,而“数据科学家”和“算法工程师”绝对算得上热门职业。

“人工智能”“机器学习”“深度学习”“建模”“卷积神经网络”等关键词,不仅仅是人们茶余饭后的谈资,而且更会像“数据结构”“排序”和“链表”一样,成为软件工程师的必备技能。

人工智能技术正在对社会结构、职场、教育等带来革命性的变化。 未来几年是人工智能技术全面普及化的时期,也是该技术的相关人才最为稀缺的时期。所以,我们希望能够通过这本书,帮助对人工智能和机器学习感兴趣的朋友更加深入地了解这个领域的基本技能,帮助已经有计算机技术基础的同行们,成为驾驭人工智能和机器学习的高手。

我先简单介绍一下我了解的人工智能和机器学习的背景和历史,解释为什么现在是学习机器学习算法的大好时机。

■ 我与人工智能

我的本科专业是人工智能。当年我上大学时,清华大学的计算机系每个年级有6个班,入学的时候就把每个班的专业分好。我们三班的专业是人工智能。所以在本科的时候,我就接触到许多当时人工智能领域的前沿技术。我的人工智能入门课的导师是可亲可敬的林尧瑞教授,也是《人工智能导论》的作者。这门课被我们戏谑为“猴子摘香蕉”,因为最开始的问题就是一只智能的猴子,如何自己组合积木去拿到天花板上挂着的香蕉。

当时清华大学的本科是5年制,正要开始改革,有少部分学生可以在四年级的时候开始接触研究生的一些活动,6年可以拿到硕士学位。我有幸被选为这几个学生之一,在本科四年级的时候,我进入了清华大学的人工智能实验室,师从张钹老师,做一些简单的研究。 从张老师和高年级的同学们那里,我学到人工智能领域不少当时国际先进的知识。

刚刚进入斯坦福的时候,去听一个小型的午餐讲座(Brown Bag),也就是一二十个人吧。那位同学讲到一半,教室门突然被打开,大胡子的约翰·麦卡锡(John McCarthy)教授走了进来,大声地问:“听说这里有不要钱的午饭?” 然后他走到房间的前面,抓了两个三明治,大摇大摆地走出去了。主持讲座的老师愣了一下,说:“欢迎大家来到斯坦福——世界上最著名的科学家会走进你们的教室来抢你们食物的地方!”

或许你不知道,“人工智能”(Artificial Intelligence)这个词,就来自约翰·麦卡锡。

因为本科是人工智能专业,所以我对人工智能一直比较感兴趣,在斯坦福又去学了一次人工智能课CS140。当时教这个课的是尼尔斯·尼尔森 (Nils Nilsson)教授。他是另外一位人工智能的学科创始人和世界级专家,写作了被广泛引用的经典之作——《对人工智能的探索》(

The Quest for Artificial Intelligence)。尼尔森教授的课非常有趣,我还跟他做了一个小的项目,规划一个扫地机器人的路径。至今,我还保留了这门课的笔记。

说实话,我年轻的时候每天做作业、做课题,没有意识到,能和这些顶级科学家同堂是多么幸运的事,也未必知道自己正在见证某个技术领域的世界前沿。最顶尖的技术,开始都是只有小众才能理解和欣赏的。

然而,我的博士论文并没有专攻人工智能,反而做的是大数据方向,做了最早的数据仓库和数据挖掘工作。现在看来,我这几次和人工智能以及人工智能大咖的偶遇,刚好和人工智能的三次浪潮有关。第一次人工智能的浪潮就是约翰·麦卡锡那一代人。他们从20世纪50年代开始,打下了计算机学科和人工智能的理论基础。 第二次是我在清华大学期间,研究者们看到了一些人工智能应用的可能性,比如机械手、机器人、专家系统。最近,基于大数据、机器学习的人工智能再次兴起,可以称为人工智能的第三次浪潮 。

■ 人工智能的三次浪潮

我来简单定义和解释一下本书用到的概念。

人工智能泛指让机器具有人的智力的技术。这项技术的目的是使机器像人一样感知、思考、做事、解决问题 。人工智能是一个宽泛的技术领域,包括自然语言理解、计算机视觉、机器人、逻辑和规划等,它可以被看作计算机专业的子领域,除了和计算机相关,它还和心理学、认知科学、社会学等有不少交叉。

机器学习指计算机通过观察环境,与环境交互,在吸取信息中学习、自我更新和进步。 大家都了解计算机程序是怎么回事,一个程序是计算机可以执行的一系列的指令,比如打印一张图。那么机器学习跟我们熟知的程序的本质区别是什么呢?你可以想象,某个程序是机器写的,而不是一个程序员写的。那么机器怎么知道如何写这个程序呢?这个机器就是从大量的数据当中学到的。

简单地说,大多数机器学习算法可以分成训练(training)测试(testing)两个步骤,这两个步骤可以重叠进行。训练,一般需要训练数据,就是告诉机器前人的经验,比如什么是猫、什么是狗、看到什么该停车。训练学习的结果,可以认为是机器写的程序或者存储的数据,叫

模型(model)。总体上来说,训练包括有监督(supervised learning)无监督(unsupervised learning)两类。有监督好比有老师告诉你正确答案;无监督仅靠观察自学,机器自己在数据里找模式和特征。深度学习(deep learning)是机器学习的一种方法,它基于神经元网络,适用于音频、视频、语言理解等多个方面。

我们先来短暂地回顾一下人工智能的三次浪潮。它们有什么特点?又有什么不同?它们又是怎样互相联系,如何在前一次的基础之上建立的?

第一次人工智能浪潮大约在20世纪50年代。1956年,在达特茅斯的人工智能研讨会上,约翰·麦卡锡正式提出“人工智能”这个概念,被公认是现代人工智能学科的起始。麦卡锡与麻省理工学院的马文·明斯基(Marvin Minsky)被誉为“人工智能之父”。

在计算机被发明的早期,许多计算机科学家们就认真地思考和讨论这个人类发明出来的机器,和人类有什么根本区别。图灵机和图灵测试,就是这个思考的一个最典型结果。最初的那批思考人工智能的专家,从思想和理论上走得非常前沿,内行的专家很早就看到了计算机的潜力。我们现在所问的这些问题,他们其实都问过了。比如,什么叫“推理”(reasoning), 机器如何推理;什么叫“懂得”(understanding),机器如何懂得;什么叫知识(knowledge),机器如何获取和表达知识;什么时候,我们无法分辨出机器和人。这个阶段产生了许多基础理论,不仅是人工智能的基础理论,也是计算机专业的基石。

从技术上来说,第一次人工智能的大发展,主要是基于逻辑的。1958年麦卡锡提出了逻辑语言 LISP。从20世纪50年代到20世纪80年代,研究者们证明了计算机可以玩游戏,可以进行一定程度上的自然语言理解。 在实验室里,机器人可以进行逻辑判断、搭积木;机器老鼠可以针对不同的路径和障碍做出决定;小车可以在有限的环境下自己驾驶。研究者们发明了神经网络,可以做简单的语言理解和物体识别。

然而,在人工智能的前二三十年里,它虽然是一个硕果累累的科研领域,人们实际生活中的用处却几乎没有。20世纪80年代初,人工智能因为缺乏应用而进入“冬季”。到80年代末和90年代初,在我刚入大学的那段时间里,人工智能科学家们决定另辟蹊径,从解决大的普适智能问题,转向解决某些领域的单一问题。“专家系统”这个概念被提了出来,它让这些研究成果找到了第一个可能的商业出路。

计算机技术经过了30年左右的发展,数据存储和应用有了一定的基础。研究者们看到人工智能和数据结合的可能性,而结合得最好的应用就是“专家系统”。如果我们能把某一个行业的数据,比如说关于心脏病的所有数据,都告诉一个机器,再给它一些逻辑,那这个机器岂不是就成了“心脏病专家”,如果我们要看病,是否就可以问它?

看病、预报天气等各行各业的专家系统,听起来非常有希望、有意义,也确实有实际的应用场景,所以当时学术界对人工智能又掀起了一阵热潮。然而,比较有意思的是,当我们想要用这些专家系统来做一些聪明的诊断的时候,我们发现遇到的问题并不是如何诊断,而是大部分的数据在当时还不是数字化的。病人的诊断历史还停留在看不懂的医生手写处方上。有些信息就算是已经开始数字化,也都是在一些表格里面,或者是在一些不互相连接的机器里面,拿不到,用不了。

于是,我们这一批想去做自动诊断的人,反而去做了一些基础的工作。这个基础的工作用一句话说,就是把世界上所有的信息数字化。

在一批人致力于把世界上每一本书、每一张图、每一个处方都变成电子版的时候,互联网的广泛应用,又把这些信息相互联接了起来,成了真正的大数据。同时,摩尔定律(Moore’s law)预测的计算性能增加一直在起作用。随着计算能力的指数增长,那些只能在实验室里或有限场景下实现的应用,离现实生活越来越近了。1997年,“深蓝”打败当时的世界象棋冠军Garry Kasparov,和2017年AlphaGo围棋打败李世石一样,被公认是一个里程碑 。其实,随着计算能力的提高,在这些单一的、有确定目标的事情上机器打败人,都只是个时间问题。

第三次的人工智能浪潮就是基于另外两个技术领域的大发展,一个是巨大的计算能力,一个是海量的数据。巨大的计算能力来自于硬件、分布式系统、云计算技术的发展。最近,专门为神经网络制作的硬件系统(neural-network-based computing)又一次推动了人工智能软硬件结合的大进步。海量的数据来源于前几十年的数据积累和互联网技术的发展。比如,2001年上市的GPS系统,带来前所未有的大量出行数据;智能手机带来了前所未有的人们生活习性的数据,等等。计算能力和数据的结合,促进、催化了机器学习算法的飞跃成长。

这次的人工智能浪潮起始于近10年。技术的飞跃发展,带来了应用前所未有的可能性。最近这次人工智能浪潮和前两次最基本的不同是它的普遍应用和对普通人生活的影响。也就是说,人工智能离开了学术实验室,真正走进大众的视野。

■ 人工智能全面逼近人类能力?

为什么这次人工智能浪潮如此凶猛?人工智能真的全面逼近了人类的能力吗?人工智能技术现在发展到什么阶段?我们先来看3个简单的事实。

首先,历史上第一次,计算机在很多复杂任务的执行上超过人类或者即将超过人类,比如图像识别、视频理解、机器翻译、汽车驾驶、下围棋,等等。这些都是人们容易理解的,一直由人类完成的任务。所以,人工智能取代人类的话题开始出现在各种头条。

其实,在单一技术方面,许多计算相关的技术早已超过人类的能力,而且被广泛应用,比如导航、搜索、搜图、股票交易。不少人已经习惯于用语音给简单指令操作。但是,这些相对单纯的技术主要是“完成一个任务”,计算机没有过多地涉猎人的感知、思考、复杂判断,甚至于情感。

然而,近几年来机器完成的任务,从复杂性和形式越来越逼近人类。比如,基于机器学习的自动驾驶技术已经趋于成熟,这项技术不仅会对人们的出行方式有革命性的影响,而且会影响到城市建设、个人消费、生活方式。人们也许再也不需要拥有汽车,再也不需要会开车。大家对这类新技术的快速到来既兴奋又恐惧,一方面享受技术带来的便利,另一方面又对太快的变化有些手足无措。

另外,计算机的自学习能力不断增强。现代机器学习算法,尤其深度学习类机器学习算法的发展,使机器的行为不再是相对可预测的“程序”或者“逻辑”,而更像“黑盒思考”,有了近乎人类的难以解释的思考能力。

然而,仔细看来,虽然在不少特殊领域中,人工智能有了突飞猛进的发展,但是距离人工智能的鼻祖们在第一次浪潮时研究的通用智能(general purpose intelligence)其实还相差非常远。这是第二个事实。机器还是被放在特定情况下完成特定任务,只不过任务更复杂了。机器还是缺少一些最基本的人的智能,比如常识。人工智能仍然无法理解哪怕是简单的情感,比如害怕。对两三岁的孩子来说非常简单的帮忙、合作,机器都是做不到的。好比有人开玩笑说:“它们还是不会炒鸡蛋。”

第三个事实,是这次人工智能和机器学习的应用场景非常宽广。近几年人工智能和机器学习应用的大发展,这个曾经是学术研究领域的概念一时间进入大众视野,成为和未来相关的必谈话题。计算机视觉、深度学习、机器人技术、自然语言理解,都被提到应用层。算法类的应用走出学术界,深入社会的各个角落, 渗入人们生活的方方面面。大家熟知的有人脸识别、自动驾驶、医疗诊断、机器助手、智慧城市、新媒体、游戏、教育等,还有并不常被谈论的比如农业生产的自动化、老人和儿童的护理、危险情景的操作、交通调度,等等。我们很难想象社会的哪一个方面,不会被这次浪潮所波及。

向前看十年,人工智能和机器学习的大发展,在于这些技术的普及和应用。大批的新应用将会被开发,人工智能基础设施会迅速完善,原有的传统软件和应用需要被迁移使用新的算法。所以,现在是成为一个人工智能和机器学习专家的良机。

■ 这本书是如何写成的

无论海内海外,媒体行业一直都走在人工智能应用的最前沿,因为媒体往往接触上千万甚至上亿的用户;有千变万化的用户每天离不开的内容,比如新闻、体育、电影;有丰富多彩的内容与用户的结合场景;还有丰厚的有创意的商机。

Hulu是一家国际领先的视频媒体公司,提供优质电影、电视剧点播和直播节目。Hulu技术架构最为先进的一点是人工智能和机器学习算法的广泛应用,用在个性化内容推荐、搜索、视频内容理解、视频传输和播放、 广告预测和定向、安全检测、决策支持,甚至视频编辑和客服系统。机器学习算法的背后是专门打造的大规模数据处理系统。“算法无处不在”是Hulu当今和未来技术架构的定位。 可以说,Hulu是未来的互联网技术公司,全面“算法化”的一家带头公司。

为了支持各类的人工智能算法应用,Hulu在北京的创新实验室集合了大批人工智能和机器学习的顶尖人才。Hulu的数据科学家、算法工程师和软件工程师都工作在同一个团队,每天解决用户的实际问题,积累了大量实用的经验。Hulu 北京的学习气氛也相当浓厚。除了定期的机器学习专题研讨和大数据及机器学习公开课,Hulu也在内部开设了深度学习课程。

2017年年底,人民邮电出版社的俞彬编辑问我能否写一本关于人工智能和机器学习算法实操的书。目前市场上有关人工智能的书可以分为两类,一类是非常系统的教科书,还有一类是关于人工智能和人类未来的社科类图书。我们能否写一本实操类的书,介绍一个真正的计算机从业人员需要掌握的技能呢?

抱着试一试的心理,我让公司里的同事自愿报名参加这个集体项目。一共有15位资深研究员和算法工程师参与了这本书的内容创作,这是个成功的合作案例。我们先学习了一下现有的相关书籍,然后头脑风暴了一番,觉得我们可以做一个问答集,以比较有趣的问答形式,集中当前算法工程师和研究员感兴趣的话题,用问答引出这个行业的基本概念。

在互联网行业,敏捷开发都是以最快的速度,做一个“最小化产品”,让用户的反馈来带领产品的方向。我们写这本书也是如此。为了让大家能够落笔写出没有错误、通俗易懂的问答,为了收集读者的反馈,也为了不把写一本大部头书列为第一天的目标,我们先在Hulu的微信公众号上,以每周发两个问答的形式,从2017年11月到2018年3月期间,一共发出了30篇“机器学习问答”系列文章。这些文章受到了业界好评,也收到各种问题和反馈,成了我们这本书的核心内容。

关于书的章节组织,我们也进行过仔细的讨论。人工智能和机器学习算法范围很大,我们的理念是要涵盖该领域最基本的内容,介绍基本概念,同时,跟上算法发展的最新步伐。所以本书介绍了传统机器学习算法,比如逻辑回归、决策树等,同时花了比较大的篇幅介绍近几年流行的最新算法,包括各种神经网络(深度学习)、强化学习、集成学习等,还会涉猎学术界正在讨论中的新领域和新算法。同时,本书强调了实现一个企业里真正实用的算法系统所需要的技能,比如采样、特征工程、模型评估。因为机器学习算法往往需要比较深的背景知识,所以在每个问题和解答之前,会对该领域做简单的背景介绍。每个问答有不同的难度,以供读者自我衡量。

在核心的机器学习算法问答内容之外,我们增加了两个部分,一是“机器学习算法工程师的自我修养”,介绍业界典型的算法工程师的工作内容和要求。这些实例可以帮助广大的读者了解掌握机器学习技能以后的工作和去向。二是“人工智能热门应用”,相信不少读者都听说过这些应用的故事,比如无人驾驶车、AlphaGo等。我们希望从内行人的角度,解释一下这些超级应用背后的原理是什么。当你读完本书,掌握了机器学习技能以后,你也可以在幕后操作这些热门的智能应用了。

本书信息量很大,涉猎人工智能和机器学习的各个子领域。每个公司、每个业务、每个职位,不一定会用到全部的技能。所以关于阅读这本书,我有以下几个建议。

(1)顺读法:从头至尾阅读。如果你能读懂全部内容,所有的题目都会解答,欢迎你到Hulu来申请工作吧!

(2)由简至难法: 每道题的旁边都标明了难度。一星最简单,五星最难。在本书中,还提供了一个题目的列表。一颗星的题目,主要是介绍基本概念,或者是为什么要做某一件事,比如 “什么是ROC曲线?”“为什么需要对数值类型的特征做归一化?”。如果你是机器学习的入门学习者,可以从背景知识和简单的题目出发,循序渐进。

(3)目标工作法:不是所有的公司、所有的职位都需要懂得各类算法。如果你目前的工作或者想去的工作在某个领域,它们可能会用到某几类算法。如果你对某个新的领域很感兴趣,比如循环神经网络,那你可以专攻这些章节。不过无论用哪类算法,特征工程、模型评估等基本技能都是很重要的。

(4)互联网阅读法:一本书很难把广泛的领域讲得面面俱到,尤其是题目和解答,可以举一反三有很多花样。所以,我们在很多章节后都有总结和扩展。对某个领域感兴趣的朋友们,可以以这本书为起点,深入到扩展阅读,成为这一方面的专家。

(5)老板读书法:如果你是一个技术管理者,你需要解决的问题是算法可能对你现有的技术体系有什么帮助,和怎么找到合适的人,帮你做出智能的产品。建议你可以粗略地浏览一下本书,了解机器学习的各个技术领域,找到合适的解决方案。然后,你就可以用本书作面试宝典了。

这本书出版的目的,是让更多的人练习和掌握机器学习相关的知识,帮助计算机行业人员了解算法工程师需要的实际技能,帮助软件工程师成为出色的数据科学家,帮助公司的管理者了解人工智能系统需要的人才和技能,帮助所有对人工智能和机器学习感兴趣的朋友们走在技术和时代的前沿。

人工智能和机器学习的算法还在日新月异地发展中,这本书也会不断更新,不断地出新版本。希望得到读者朋友们的悉心指正,让我们一起跟上这个技术领域的进步步伐。

本书摘自《百面机器学习:算法工程师带你去面试》

END


分享到:


相關文章: