马上要进入新的招聘季。对于有志投身技术领域的应聘者,面对当下正席卷全球的人工智能热潮,“数据科学家”和“算法工程师”绝对算得上热门职业。“人工智能”“机器学习”“深度学习”“建模”“卷积神经网络”等关键词,不仅是人们茶余饭后的谈资,而且更会成为软件工程师的必备技能。
未来几年人工智能技术无疑将全面普及,同时相关人才稀缺。不少学习计算机的在校学生或者已经有一定工作经验的软件工程师,都希望赶在人工智能彻底占领世界之前,自己能驾驭相关领域的技术,成为有力的竞争者。Hulu全球研发副总裁诸葛越一直深耕于人工智能领域,她在担当主编的《百面机器学习:算法工程师带你去面试》一书(已开启全网预售)中,谈到自己人工智能专业的学习经历和对人工智能领域的行业认识,希望以下她的经验分享能带来启发。
诸葛越,《百面机器学习》主编。现任Hulu全球研发副总裁,中国研发中心总经理。毕业于清华大学计算机科学与技术系,美国斯坦福大学计算机硕士与博士,纽约州立大学石溪分校应用数学硕士。
诸葛越:我与人工智能
我的本科专业是人工智能,所以本科我就接触到许多当时人工智能领域的前沿技术。我的人工智能入门课的导师是林尧瑞教授,也是《人工智能导论》的作者。在本科四年级的时候,我有幸进入了清华大学的人工智能实验室,师从张钹老师,做一些简单的研究。从张老师和高年级的同学们那里,我学到人工智能领域不少当时国际先进的知识。
我刚刚进入斯坦福的时候,去听一个小型的午餐讲座(Brown Bag)那位同学讲到一半,教室门突然被打开,大胡子的约翰·麦卡锡(John McCarthy)教授走了进来,大声地问:“听说这里有不要钱的午饭?” 然后他走到房间的前面,抓了两个三明治,大摇大摆地走出去了。主持讲座的老师愣了一下,说:“欢迎大家来到斯坦福——世界上最著名的科学家会走进你们的教室来抢你们食物的地方!”“人工智能”(Artificial Intelligence)这个词,就来自约翰·麦卡锡。
我在斯坦福还还去学了一次人工智能课CS140。当时教这个课的尼尔斯·尼尔森(Nils Nilsson)教授是另外一位人工智能的学科创始人和世界级专家。尼尔森教授的课非常有趣,我还跟他做了一个小的项目,规划一个扫地机器人的路径。至今,我还保留了这门课的笔记。
说实话,我年轻的时候每天做作业、做课题,没有意识到能和这些顶级科学家同堂是多么幸运,也未必知道自己正在见证某个技术领域的世界前沿。最顶尖的技术,开始都是只有小众才能理解和欣赏的。现在看来,我这几次和人工智能以及人工智能大咖的偶遇,刚好和人工智能的三次浪潮有关。
人工智能的三次浪潮
第一次人工智能浪潮大约在20世纪50年代。1956年达特茅斯的人工智能研讨会上,约翰·麦卡锡正式提出“人工智能”这个概念,被公认是现代人工智能学科的起始。麦卡锡与麻省理工学院的马文·明斯基(Marvin Minsky)被誉为“人工智能之父”。
在计算机被发明的早期,许多计算机科学家们认真思考和讨论过这个人类发明的机器和人类有什么根本区别。最初那批思考人工智能的专家,从思想和理论上走得非常前沿,看到了计算机的潜力。这个阶段的许多基础理论,不仅是人工智能的基础理论,也是计算机专业的基石。
第一次人工智能的浪潮主要是基于逻辑的。1958年麦卡锡提出了逻辑语言LISP。20世纪50年代到20世纪80年代,研究者们证明了计算机可以玩游戏,可以进行一定程度上的自然语言理解,发明了神经网络,可以做简单的语言理解和物体识别。
然而,在人工智能的前二三十年里,它虽然是一个硕果累累的科研领域,却因为缺乏应用而在20世纪80年代初进入“冬季”。到80年代末和90年代初,人工智能科学家们另辟蹊径,从解决大的普适智能问题,转向某些领域的单一问题。计算机技术经过了30年左右的发展,数据存储和应用有了一定的基础,研究者们看到人工智能和数据结合的可能性,提出了“专家系统”这个概念,看病、预报天气等各行各业的专家系统,带来了有希望、有意义、有实际的应用场景,让这些研究成果找到了第一个可能的商业出路。这是人工智能的第二次浪潮。
然而,比较有意思的是,当我们想要用这些专家系统来做一些聪明的诊断的时候,我们发现遇到的问题并不是如何诊断,而是当时大部分数据还不是数字化的。病人的诊断历史还停留在看不懂的医生手写处方上。就算有些信息已经开始数字化,也都是在一些表格或者是在一些不互相连接的机器里面,拿不到也用不了。于是,想去做自动诊断的人,反而去做了一些把世界上所有信息数字化的基础的工作。
在一批人致力于把世界上每一本书、每一张图、每一个处方都变成电子版的时候,互联网的广泛应用又把这些信息相互联接了起来,成了真正的大数据。同时,摩尔定律(Moore’s law)预测的计算性能增加一直在起作用。随着计算能力的指数增长,那些只能在实验室里或有限场景下实现的应用,离现实生活越来越近了。
第三次的人工智能浪潮是基于巨大的计算能力和海量的数据的大发展。巨大的计算能力来自于硬件、分布式系统、云计算技术的发展。最近,专门为神经网络制作的硬件系统(neural-network-based computing)又一次推动了人工智能软硬件结合的大进步。海量的数据来源于前几十年的数据积累和互联网技术的发展。计算能力和数据的结合,促进、催化了机器学习算法的飞跃成长。
这次的人工智能浪潮起始于近10年,和前两次最基本的不同是它的普遍应用和对普通人生活的影响,人工智能离开了学术实验室,真正走进大众的视野。
人工智能全面逼近人类能力?
为什么这次人工智能浪潮如此凶猛?人工智能真的全面逼近了人类的能力吗?人工智能技术现在发展到什么阶段?我们来看3个简单的事实。
第一个事实是,历史上第一次,计算机在很多复杂任务的执行上超过人类或者即将超过人类,如图像识别、视频理解、机器翻译、汽车驾驶、下围棋等。所以,人工智能取代人类的话题开始出现在各种头条。
其实在单一技术方面,许多计算相关技术早已超过人类而且被广泛应用,比如导航、搜索、搜图、股票交易。但这些都主要是“完成一个任务”,计算机没有过多地涉猎人的感知、思考、复杂判断和和情感。
而近几年来机器完成的任务,从复杂性和形式越来越逼近人类。比如,基于机器学习的自动驾驶技术趋于成熟,这不仅会对人们的出行方式有革命性的影响,而且会影响到城市建设、个人消费、生活方式。大家对这类新技术的快速到来既兴奋又恐惧,一方面享受其其带来的便利,另一方面对太快的变化又有些手足无措。
另外,计算机的自学习能力不断增强。现代机器学习算法,尤其深度学习类机器学习算法的发展,使机器的行为不再是相对可预测的“程序”或者“逻辑”,而更像“黑盒思考”,有了近乎人类的难以解释的思考能力。
第二个事实是,仔细看来,虽然不少特殊领域中,人工智能有了突飞猛进的发展,但是距离人工智能的鼻祖们在第一次浪潮时研究的通用智能其实还相差甚甚远。机器还是被放在特定情况下完成特定任务,只不过任务更复杂了。机器还是缺少一些最基本的人的智能,人工智能仍然无法理解哪怕是简单的情感,对两三岁的孩子来说非常简单的帮忙、合作,机器都做不到。
第三个事实,是这次人工智能和机器学习的应用场景非常宽广。近几年人工智能和机器学习应用的大发展,让让曾经是学术研究领域的概念进入大众视野,成为和未来相关的必谈话题。算法类的应用走出学术界,深入社会的各个角落,渗入人们生活的方方面面。大家熟知的有人脸识别、自动驾驶、医疗诊断、机器助手、智慧城市、新媒体、游戏、教育等,还有并不常被谈论的比如农业生产的自动化、老人和儿童的护理、危险情景的操作、交通调度,等等。浪潮波及社会方方面面。
向前看十年,人工智能和机器学习的大发展,在于这些技术的普及和应用。大批的新应用将会被开发,人工智能基础设施会迅速完善,原有的传统软件和应用需要被迁移使用新的算法。所以,现在是成为一个人工智能和机器学习专家的良机。
成为人工智能新一代技术的“弄潮儿”中的一员需要做哪些准备?也许《百面机器学习》这本书,可以帮你向前一步。这本书的内容由简至繁依次展开,涵盖了机器学习各个实用领域,并采取举例和问答的形式,生动活泼。帮助你成为更好的算法工程师、数据科学家和人工智能的实践者。
如何阅读《百面机器学习》
本书信息量很大,涉猎人工智能和机器学习的各个子领域。不同公司、业务、职位,可能用到不同的技能。所以关于阅读这本书,有以下几个建议。
顺读法:从头至尾阅读。读懂全部内容,所有的题目都会解答。
由简至难法:每道题的旁边都标明了难度。一星最简单,五星最难。在本书中,还提供了一个题目的列表。一颗星的题目,主要是介绍基本概念,或者是为什么要做某一件事。如果你是机器学习的入门学习者,可以从背景知识和简单的题目出发,循序渐进。
目标工作法:不是所有的公司、所有的职位都需要懂得各类算法。如果你目前的工作或者想去的工作在某个领域,它们可能会用到某几类算法。如果你对某个新的领域很感兴趣,那你可以专攻这些章节。无论用哪类算法,特征工程、模型评估等基本技能都是很重要的。
互联网阅读法:一本书很难把广泛的领域讲得面面俱到,题目和解答可以举一反三有很多花样。所以,我们在很多章节后都有总结和扩展。对某个领域感兴趣的朋友们,可以以这本书为起点,深入到扩展阅读,成为这一方面的专家。
老板读书法:如果你是一个技术管理者,你需要解决的问题是算法可能对你现有的技术体系有什么帮助,和怎么找到合适的人,帮你做出智能的产品。建议你可以粗略地浏览一下本书,了解机器学习的各个技术领域,找到合适的解决方案。然后,就可以用本书作面试宝典了。
人工智能和机器学习的算法还在日新月异地发展中,让我们一起跟上这个技术领域的进步步伐。祝大家都能在这个激动人心的技术新时代更上一层楼。
诸葛越 主编,葫芦娃 著
人工智能领域正在以超乎人们想象的速度发展,本书赶在人工智能彻底占领世界之前完成编写,实属万幸。
书中收录了超过100道机器学习算法工程师的面试题目和解答,其中大部分源于Hulu算法研究岗位的真实场景。本书从日常工作、生活中各种有趣的现象出发,不仅囊括了机器学习的基本知识,而且还包含了成为优秀算法工程师的相关技能,更重要的是凝聚了笔者对人工智能领域的一颗热忱之心,旨在培养读者发现问题、解决问题、扩展问题的能力,建立对机器学习的热爱,共绘人工智能世界的宏伟蓝图。
“不积跬步,无以至千里”,本书将从特征工程、模型评估、降维等经典机器学习领域出发,构建一个算法工程师必备的知识体系;见神经网络、强化学习、生成对抗网络等最新科研进展之微,知深度学习领域胜败兴衰之著;“博观而约取,厚积而薄发”,在最后一章为读者展示生活中各种引领时代的人工智能应用。