数据科学家和机器学习工程师有什么不同

近十年来,“数据科学”和“数据科学家”备受关注。但对于哪些人可以被称为是“数据科学家”,则争论不休。业界最后达成一致:只要取得数据科学相关学位、认证的研究数据的,不论是在大学还是从在线课程,都称之为数据科学家。统计数据是枯燥单一的,是非自然的,只有各种各样的数据才使得世界丰富多彩。那么,如何去分析多样的数据呢?数据科学家便应需求而生。

数据科学领域飞速发展,一大波数据专家正在袭来。在企业中,他们被称为“数据科学家”或“数据科学团队”,包括:

  • 普通员工:执行临时的分析或报告任务(包括商业智能和商业分析)
  • 数据分析者:负责统计分析,建模,包括实验和测试
  • 机器学习建模者:构建模型原型

那么问题来了。创造出“数据科学家”此概念并且从数据中挖掘出产品的 DJ Patil 和 Jeff Hammerbacher 属于哪一类呢?他们看似并不属于以上任何一种。若非要归类,他们大概更倾向于被看做是机器学习的建模者。他们是研究者,并没有通过数据进行产出。那么,究竟如何定义数据科学家呢?我们认为,数据科学家不仅仅是统计学家,他们一般拥有计算机科学领域的博士学位,有着大量的数据实践经验,有着很强的编码能力,精通数据提取、清洗、建模、将原型变成产品、产品设计以及数据基础建设,等等。实际上,数据科学家更应该被称作为硅谷的“独角兽”,稀有且昂贵。

“数据科学”不分领域不分专业,它不只是精算统计、商务智能、数据仓库等,它打破了已有行业的壁垒,比如软件、市场、管理、人力等。数据科学的灵魂所在是它涵盖了数据的方方面面,各个领域。而数据科学家的任务便是收集、使用所有数据,而不是某一领域的数据。

然而,找到这些稀有的“独角兽”是极其困难的。因此,我们把其职能根据专业性进行划分,数据工程师便诞生了。数据工程师精通数学和统计学,但他们不只是数学家或统计学家,他们精通软件开发和编程,但又不只是程序员。数据工程师负责数据栈操作和维护,Hadoop 或 Spark 的构建和维护,以及众多数据库(比如 HBase 和 Cassandra)和平台(比如 Kafka、Spark Streaming 和 Apache Flink )等等。他们要知道如何操作云端,如何使用 Amazon Web Services,Microsoft Azure 和 Google Compute Engine。

2015 年有一篇被广泛引用的文献突出强调,真实世界的机器学习系统不只是分析模型。各个公司开始着眼于研发基于数据的产品,并把相关技术投入生产中去。在这众多项目中,严格属于“机器学习”的部分并不是很多。然后,我们发现越来越多的公司组成了机器学习工程师团队。这并不难想象,当今机器学习盛行,数据工程师肯定会顺应潮流寻求突破。那么,机器学习工程师与数据工程师有什么区别呢?

一般来讲,机器学习工程师的职责涵盖软件工程师(和一些好的数据工程师)的职责:

  • 他们拥有比普通数据科学家更强的软件编码能力。
  • 由于他们的工作重心是产出数据产品,他们需要通观全局。
  • 他们监管数据型产品的生产,并了解产品可能会出现的问题。
  • 深度学习的盛行引领一个相关的更专业的职位出现:深度学习工程师。

机器学习工程师不仅仅要了解,更要参与到软件架构和设计中去。比如,他们了解 A/B 测试,同时也要知道如何 A/B 测试。他们了解日志或安全性问题,同时也要知道如何让数据工程师能够有效使用日志数据。对于机器学习工程师这个头衔来说,并无新鲜和特殊之处,更多的是深挖而不是改变。

机器学习与数据科学有什么区别呢?数据科学涵盖面更广。最大的区别是深度学习的运作方式。容易想象的是数据科学家如何挖掘数据,比如 Tukey 的 Exploratory Data Analysis 中介绍了挖掘并分析大量数据去发现其价值所在。

但是深度学习改变了数据挖掘方式。我们不直接接触数据,我们只是知道结果,让程序自己去建模并发现数据的价值。比如,如何构建一个能够打败围棋冠军的智能机器人,如何准确地标记图片,如何精准地翻译。这些问题,需要大量的数据和维度,人力难以实现,而机器学习便是构造一个模型,让这个模型自主发掘数据。那么,数据科学家的工作便不再是自己从数据中发掘价值,而是构建一个能够分析数据并产生结果的机器。实现“平民化”是机器学习领域的梦想,其含义便是任意领域的专家都能构建一个机器学习系统,而非 AI 博士。比如,我们希望一个围棋选手便能够构建下一代 AlphaGo,一个西班牙语者便能够构建一个西班牙语翻译引擎,而非机器学习专家。

这种转变影响着机器学习工程师。机器学习模型不是静态的,会随着需求变化而成长。应该有专人去监管机器学习系统并在必要时进行重新训练。

所有从事软件或IT行业的人都知道安全问题很重要。如今,机器学习系统的安全性上还未出现问题,但依然要防范于未然。那么,如今的机器学习系统在哪方面容易被攻击?系统中的数据是否会被感染?是否能够强迫系统进行非必要的重训练?由于该系统的自主训练模式,我们需要重新认知其在安全性上的易攻击点。

随着系统日益完善,我们发现更多的数据科学家使之转变为生产系统。比如,云端和 SaaS 使数据科学家得以充分利用数据模型并运用到生产中,一些开源项目像是 Clipper 和 Ground(加州大学伯克利分校的 RISELab 的新项目)也逐渐开始进行。但是我们依旧需要数据工程师和机器学习工程师:精通数据科学和机器学习,深入理解数据如何进行产出,敢于挑战创造基于机器学习的产品。他们是 “humans in the loop” 的终点。

1 2 收藏 2 评论

相关文章

可能感兴趣的话题



直接登录
最新评论
跳到底部
返回顶部