人工智能的飞速发展导致工作岗位的减少,从而引发社会矛盾,是人们普遍的想法。但是另一方面,人工智能也创造了另外一些工作。这些新的工作职位都是做什么的呢?都有哪些渊源呢?近年来人工智能大火,人工智能、机器学习、深度学习和大数据等概念频频出现。这些概念和这些工作职位又有什么关系呢? 人工智能的飞速发展导致工作岗位的减少,从而引发社会矛盾,是人们普遍的想法。但是另一方面,人工智能也创造了另外一些工作。这些新的工作职位都是做什么的呢?都有哪些渊源呢?近年来人工智能大火,人工智能、机器学习、深度学习和大数据等概念频频出现。这些概念和这些工作职位又有什么关系呢?
1.人工智能三大主义
人工智能最近大火,但人工智能并不是最近的发明。早在计算机被发明之时,科学家们就想着用计算机实现人工智能了。1946 年 2 月 14 日,世界上第一台电脑 ENIAC 在美国宾夕法尼亚大学诞生。1956 年,John McCarth 在达特矛斯会议上提出将 “人工智能就是要让机器的行为看起来像人所表现出的智能行为一样”。在怎么实现人工智能问题上,科学家们有不同理念和想法。这些理念和想法后来归结为人工智能三大主义。
1.1 符号主义
符合主义者认为人工智能源于数理逻辑, 可以通过在计算机上实现逻辑演绎的方式实现人工智能。在 1956 年首先采用 “人工智能” 这个术语的正是符号主义。后来符号主义发展出专家系统,在 20 世纪 80 年代取得很大发展。人们在开发专家系统的时候,发现专家系统的瓶颈之一就是计算机没有常识。计算机不知道什么是奥巴马,不知道什么是美国,更不知道奥巴马曾经是美国的总统。为了解决这个问题,人们开始构建常识库,常识知识库是一个包含大多数人拥有的一般知识的数据库。后来常识库升级为语义网,而语义网是知识图谱的前身。现在符号主义整体进入冷寂期,但知识图谱作为符号主义的余脉依然活跃在学术研究和工业应用中。
下图是某招聘平台上某个知识图谱的岗位,岗位职责是负责建立和维护知识图谱。由于现在的知识图谱是从 Wikipadia 抽取信息,需要正确处理文本,因此知识图谱岗位需要一定的自然语言处理能力。
1.2 行为主义
行为主义借鉴心理学的行为主义,认为智能就是 “感知-动作”,即感知外界环境并反馈正确的动作。实现 “感知-动作” 模型的基础是控制论思想,控制论在 20 世纪 40~50 年代就成为时代思潮的重要部分。行为主义一直致力于智能控制和智能机器人的研究。即使现在,研究能够自己行走、搬运东西和其他功能的实体智能机器人依然是研究的热点。下图就是波士顿机器人公司的四足行走机器人 (人称大狗)。
目前行为主义并不是人工智能领域的主流,但就像符号主义有一个受人关注的延续 (知识图谱)一样,行为主义也启发了一个有名分支——强化学习。在早期的控制论中,人们已经开始探索类似于强化学习的机制。强化学习关注决策者与其环境交互时所面临的学习问题,有点类似于 “感知-动作” 模式。不同点在于强化学习更强调学习,因此强化学习最终归入了机器学习,成为机器学习三大模式(有监督学习、无监督学习和强化学习)之一。
1.3 连接主义
连接主义认为人工智能应模拟大脑连接结构,从而建立了神经网络模型。早在计算机诞生之前,心理学家 W·Mcculloch 和数理逻辑学家 W·Pitts 在就提出神经元的数学模型。1948 年,首台计算机设计者冯·诺依曼也研究过神经网络。50年代末,F·Rosenblatt 制成一层神经网络模型 “感知机”,神经网络从思想走向现实。但在 1968 年一本名为《感知机》的著作中指出线性感知机功能是有限的,它甚至不能解决异或这样的基本关系。神经网络的研究进入了低潮。
1986 年,Rumelhart 为首小组提出了反向传播算法,使得能够逼近复杂函数 (当然包括异或) 的三层神经网络可以训练。神经网络第二次兴起。1995 年,SVM 算法被提出,成为神经网络的强劲对手。神经网络进入了第二次低潮。
2006 年,Hinton (也就是 86 年反向传播算法那篇论文的共同作者) 提出了用 AutoEncoder 初始化神经网络参数,再进行训练的方法,使得表达能力更强的多层神经网络变得可能。随后,多层神经网络在不同竞赛中取得远比其他方法好的效果。神经网络第三次兴起。
在神经网络起起落落的这些年,一位未来的王者开始登上历史的舞台,那便是机器学习。连接主义是机器学习中学习概念的重要思想源头,神经网络也是机器学习重要模型,机器学习则包含了更多的东西。现在,机器学习驰名当世,声名远扬,盖住了传统人工智能的风头。现在很多人误认为人工智能就是机器学习。
人工智能工程师做的东西大部分和机器学习相关。比如下图工作职位的称呼是人工智能,但绝对不是让你去做专家系统, 而是让你做学习相关的事。
2 机器学习的热潮
1986 年真是令人振奋的一年。这一年反向传播算法问世,标志着连接主义的载体神经网络第二次兴起。也是这一年,Quinlan 提出了著名的 ID3 决策树算法,开启了学习道路的另一条分支。这条树模型的分支持续演进到今天,依然在人们工业实践和学术研究中扮演着重要角色。后来科学家们引入统计学的方法进入这个领域,陆续引入新的算法,比如回归和聚类;开始为机器学习建立了数学基础,比如 VC 维;或者提出了新的算法,比如 SVM 和 RandomForest。这些新思想新算法远远超过了连接主义 “模拟大脑连接结构” 的定义,再称之为连接主义已经不合适了,人们便将神经网络和这些新思想新算法命名为机器学习。机器学习依然是 “要让机器的行为看起来像人所表现出的智能行为一样”,即依然是人工智能的范畴。
讲人工智能连接主义时,我们说到神经网络第三次的兴起,源于Hinton 在 2006 年发表的一篇关于 “有效训练多层神经网络的方法” 的论文。由此神经网络极大地提升了自己的性能,特别是在图像和语音领域的性能。多层神经网络结构效果太好了,以至于人们接受了 Hinton 提出的深度学习的称呼。深度学习从 2006 年一篇论文开始,到现在占据了机器学习领域的主流地位,不过短短十年。深度学习太火,导致我们需要特别澄清深度学习和机器学习之间的关系:人工智能包含机器学习,而机器学习包含深度学习。
机器学习特别是深度学习需要用大量数据进行高效训练。这需要一个高效机器学习平台。即使现在有了 TensorFlow 之类的开源机器学习平台,也需要工程师将它改造并部署到集群中,让它高效工作。因此机器学习专门有一个机器学习系统方向,研究怎么设计和实现高效的分布式机器学习平台。
在工作职位上,相关职位有:机器学习工程师和机器学习平台工程师。前者的工作职责将机器学习算法应用在现有业务上,后者的工作职责则是建设和维护分布式机器学习平台。
还有一个相关职位是算法工程师。这里算法不是指计算机基础算法(比如动态规划),而是指机器学习算法。个人觉得应该称呼为机器学习算法工程师比较恰当一些。这个职位和机器学习工程师类似。另外一个职位则是深度学习工程师。因为深度学习最近太火了,不少公司指明要找深度学习方向的人,便产生了深度学习工程师的职位。
随着人们在机器学习领域取得突破,机器学习的思想和方法开始影响不同的领域。
2.1 数据挖掘
数据挖掘拥有很多定义, 其中一个比较有名的定义为 “一门从大量数据或者数据库中提取有用信息的科学”。大部分人是通过一个案例认识到数据挖掘:这是因为沃尔玛通过数据分析发现,男性顾客在购买婴儿尿片时,常常会顺便搭配几瓶啤酒来犒劳自己,于是尝试推出了将啤酒和尿布摆在一起的促销手段;没想到这个举措居然使尿布和啤酒的销量都大幅增加了。虽然这个故事很可能是假的(Teradata公司一位经理编出来的“故事”目的是让数据分析看起来更有力更有趣), 但是确实让不少人开始接触数据挖掘。
我们似乎能感受数据挖掘的企图心:从数据出发,建立一个类似现在机器学习那样庞大的科学体系。开普勒从第谷的大量资料中发现行星运动规律的历史,“啤酒和尿布” 的故事,从数据中发现的相关关系将替代因果关系的宣言,是数据挖掘理论高度和实际应用的背书,是数据挖掘实现企图心的见证。一山哪能容二虎,数据挖掘和机器学习正面交锋了。它们之间有很多重合的地方,如下图所示。在重合部分的分类、聚类和回归上,机器学习有高层次的理论分析,有高效的训练方法;在非重合部分,机器学习有很多数据挖掘没有的东西,比如学习理论和强化学习。在机器学习崛起的背景下,我们很难说清楚数据挖掘区别于机器学习的独特价值是什么了。历史给机器学习加了冕。
在工作职位方面,我们能看到很多数据挖掘工程师,似乎成了机器学习工程的别称,毕竟它们之间有太多的重合。但又一种情况例外: 如果推荐系统和广告系统部门招聘,机器学习工程师偏重于点击率预估算法的实现和改进,数据挖掘工程师偏重于新特征的挖掘。
2.2 推荐系统和广告系统
推荐系统和广告系统都是工业级的大系统,需要各个子系统相互配合协调,但都以机器学习建构其中一个核心子系统 —— 点击率预估 (CTR)。推荐系统和广告系统对现在的人工智能有很重要的意义。如果这次人工智能的几个创新点(人脸识别、对话机器人和无人驾驶等)失败,人工智能的核冬天的惨象也不会重现于世。因为推荐系统和广告系统能直接产生收益。根据艾瑞发布了《2016Q1网络广告营收报告》,2016 年第一季度中国网络广告市场规模达543.4亿元。再加上收益不菲的推荐系统。人工智能社区就能全身而退,重新回到 “世界上最聪明的一群人,每天研究的是如何让人更多的点广告” 。
推荐系统和广告系统作为能直接带来效益的部门,自然需要招聘专门的推荐算法工程师和广告算法工程师了。推荐算法工程师和广告算法工程师的主要职责分别建立推荐和广告的点击率预估。
2.3 搜索引擎
搜索引擎更是一个工业级的大系统了。不把搜索引擎、推荐系统和广告系统并列在一起,是因为机器学习并不是搜索引擎的核心部件。基于可解释和可控制的原因,搜索引擎的网页排序大量基于规则,而不是机器学习模型。同时信息采集 (爬虫子系统) 和信息组织 (信息检索子系统)等非机器学习部件都在搜索引擎中扮演着非常重要的作用。但机器学习在搜索引擎中也起了一定作用, 比如需要查询词的意图意图。因此搜索工程师指负责搜索引擎的各个模块的工程师。
2.4 自然语言处理、计算机视觉和语音识别
自然语言处理要让计算机理解和生成人类语言,是机器学习和语言学融合的产物。自然语言处理的经典任务包括分词、词性标注、语法树解析、机器翻译和人机对话等等。5 年前,除了百度(百度很早就成立了单独的自然语言处理部门),大部分公司都不单独招聘自然语言工程师的,而是将自然语言处理作为推荐系统、广告系统和搜索引擎的子模块。比如搜索引擎中的 query 分词就是一个典型的分词任务。近几年,由于大量的人机对话项目,和少部分机器翻译项目,导致很多公司单独招聘自然语言工程师。下图就是腾讯的自然语言处理的招聘职位,可以看出这个职位就是做对话机器人的。
计算机视觉要让计算机理解和生成图像,是机器学习和图像处理融合的产物。计算机视觉在深度学习大发展的今天,取得了巨大的突破。虽然计算机视觉的商业应用场景还在探索中,一些大公司和创业公司已经开始招聘计算机视觉工程师了。由于最近几年计算机视觉的突破几乎都是由深度学习进步带来的,因此计算机视觉工程师需要有深度学习的知识和背景。
同样得力于深度学习的进步,语音识别也取得了突破。语音识别就是讲说话的音频转成文字的过程。随着语音识别的进步,一些大公司和创业公司开始招聘专门的语音识别工程师, 语音识别工程师的主要职责是负责建立和维护语音识别系统。市面上,语音识别的训练数据非常少,收集和整理数据也是职责之一。
3 人人都在谈的大数据
和人工智能密切联系的领域是大数据。目前大数据在业界的概念比较宽泛,什么 4v 啊 5v 啊什么的 (IBM 咨询提出的,大数据有4V特点,即Volume(大量)、Velocity(高速)、Variety(多样)、Value(价值)),以至于 “人人都在谈大数据,但没人知道大数据究竟是什么”。 但在技术上,大数据技术的定义是明确,其指的是一系列处理和存储海量数据的技术。大数据技术的起点应该是人称 Google 的三驾马车的三篇论文: Google FS、 MapReduce 和 Bigtable。受到这三篇论文影响, Doug Cutting 等人陆续改进其负责的 Apache Nutch 项目,于 2006 年完成一套独立而完整的软件, 并将其命名为 Hadoop。后面大数据技术的发展就像下图展示了 (这张图最早来着微博)。目前最主流的大数据处理平台是 Spark。
大数据领域妖孽多, 我们有一句戏谑:“提到 4v 的大数据都是骗子”。哈哈, 这句话会得罪很多人吧。不少人把 excel 级别的数据处理也称为大数据,我们能说什么呢?
大数据工程师的职位是很火的,大数据工程师的主要职责是使用开源大数据平台,建立和维护大数据集群。在某些公司,大数据工程师还负责公司内产生数据的收集、整理和入库。
4 人的数据分析
数据分析是指用适当的统计方法对数据进行分析,发现数据中规律,从而帮助业务发展。这个工作和数据很近,要求从业人员对数据敏感,和人工智能比较远。它主要发挥人的主观能动性,而不是使用算法效能。数据分析是人的,不是机器的。
举个例子,漏斗模型是经典的消费者模型,如上图。如果网站改版之后数据分析发现展现到点击的转化率变低,这时候就要分析原因,比如是不是点击按钮不显眼了。根据这些分析结果,能够持续优化网站。数据分析有自己的故事,“商业智能”、“数据驱动” 和 “增长黑客” 都是数据分析饱含理想和格调的称呼。下面是一个典型的数据分析职位的例子。
5 总结
人工智能、机器学习、深度学习和大数据等概念关系密切,相互之间有很深渊源,导致相应工作职位内涵重叠。比如深度学习工程师很大概率是做计算机视觉相关的工作,而计算机视觉工程师必须有深度学习背景和知识。
目前人工智能、机器学习、深度学习和大数据等相关的工作职位大量出现。这是人工智能、机器学习、深度学习和大数据等领域深刻影响经济活动和社会生活的缩影,是这个时代的注脚。
本文已经投稿至小象(ChinaHadoop)