哈Ha! 数据科学长期以来一直是一个有吸引力的领域,越来越多的人希望改变他们的专业道路并开始使用大数据。 RnD实验室的数据科学家Kirill Danilyuk分享了他向数据科学过渡的故事,面向初学者和高级数据科学家的提示。 此外,我们还讨论了数据科学家的必要素质,标记数据,机器学习工程师与数据科学家之间的区别,当前的项目,出色的团队以及工作鼓舞人心的人。
-您是如何进入数据科学的? 是什么最初吸引您进入数据处理领域?-我有一个非常不典型的背景:从Yandex PM(项目管理-
作者的注释 )的世界来的那一天,当我被邀请到可能是俄罗斯最好的游戏公司ZeptoLab时。 我使它们成为分析系统的原型,即仪表板,实际上是我第一次开始编写其他人正在使用的代码。 代码很糟糕,但这是实际操作。 当然,我正式协调了两个外包商的工作,但他们正是在此原型上编写了代码。 那时我不知道这大概是数据科学,尽管有时是我做的。 因此,相识发生得很有机。
即使到那时,也很明显,开发范式已经发生了整体变化-严格地设置条件,而不是经典的命令式编程,而机器本身将能够使用数据进行自我教育的时代已经来临。 看到这一转变真是太酷了,并且真的想成为新时代的那些开发者。
-您在专业上面临哪些困难,您在开始和将来面临什么挑战?-再次提醒您,我最初是一个项目,也就是说,职业变更非常严重。 有很多困难。 首先,这是对自己的怀疑。 您会看到周围所有这些聪明的人,他们在那里写东西,说一种您不懂的语言。 您会发现自己与他们之间存在巨大差距。 同时,您的环境也不会鼓励这种过渡-人们开始觉得您“正在浪费并且普遍拖延”。 非常令人沮丧。 当然,现在有一个数据沙哑专家社区,他们将为您提供帮助和振奋,但更困难的是。 因此,要迈出第一步-就是说,尽管我曾经从事过职业,但我将成为一名数据专家,并且确实系统地朝着这个方向发展-很难。
转折点是当我读到
《很好的人,他们无法忽略你》一书时 ,顺便说一句,这本书是由著名的ML课程Coursera的Google Brain的创建者Andrew Eun建议的。 这本书是关于我的情况的:您的背景和历史并不重要。 如果您可以在实践中证明自己确实非常出色,以至于您根本无法忽略自己,那么您将被注意到。 这本书给我留下了深刻的印象,并决定不退出数据科学。 我建议大家阅读。
-在探索数据领域和建立职业方面,您可以与初学者分享哪些生活技巧,以处理数据?-每个人都来自不同领域,不同领域和具有不同目标的数据科学-没有一种最佳方法。 但是有一些技巧。
乍一看,数据科学似乎很复杂-事实就是如此! 但是,令人惊讶的事实是数据科学可以与洋葱相提并论:您需要逐层研究。 这就是所谓的自上而下的方法,当您首先在原始级别上研究算法的工作原理,如何
在几行中训练神经网络 (而实际上并不知道过程)时,只需设置输入数据,几行代码,仅此而已。 灯泡的第一层被移除。 更进一步。 这对您来说变得很有趣,您想已经知道-如何。 如何运作? 您会更深入,看一下代码,实现。 然后您想知道为什么这段代码是这样写的。 事实证明,有理论依据。 依此类推。 保持您的兴趣。 从顶部开始,这是鼓舞人心的。
阅读Richard Feynman ,他写了很多关于这种方法的文章。
另一条建议:尽快参加数据科学家聚会。 即使您仍然不了解任何内容,也决心在这方面发展。 在我学习的时候,还没有ODS,没有人像那样鼓舞您,没有一个有组织的数据会议。 我参加了Newprolab计划,包括进行这样的视频群聊。 发展的关键就在于社会化。 在任何情况下都不要自己煮汁,否则您将移动得非常缓慢。
第三点(这是第二点的延续):尽早开始参加比赛。 Kaggle可以被区别对待,但至少它提供了更多的社交理由-加入团队。 高级同事将很乐意为您提供建议和帮助。 另外,kaggle在您的作品集,演讲和博客文章方面都有不错的表现。 顺便说一下,很酷的数据科学家才刚刚变得很酷。
-除了通过Newprolab的两个程序学习外,您还在哪里学习? 您可以为初学者和高级人士推荐哪些程序?-我一直在努力学习,因为任务,尤其是与我们在一起的任务在不断变化。 我或多或少地参加了一些基本的在线课程,例如
Coursera的DS上的Yandex专业化, Udacity的ML-nanodegree及其
无人机课程 。 对于初学者,我强烈建议您在Coursera中学习DS专业知识-这可能是理解一般方法和任务的最结构化的课程。 我也对
“大数据专家”感到满意,基本上我从他那里开始进入数据科学领域,他真的帮助了我。 再次-在开始时,做一些有趣的事情。
对于更高级的学生,有很棒的Caltecan
从数据学习课程 -相对简短,但非常实用。 它使大脑很好。
沃龙佐夫(Vorontsov )还有一门精彩的
ShAD课程 -开放获取讲座和一本教科书。 我还强烈推荐哈佛大学有关
Stat 110理论的课程,其中有概率论和Matstat的基本原理,您必须了解这些原理。 另外,还有一个开放的MIT课程库,在
那里查看
有关算法的
课程 ,非常好。
-根据您的观察:对于初学者和经验丰富的数据科学家而言,哪些软硬件技能通常不足以使其成为真正的高素质专家?-让我们从软技能开始-因为它们还不够。 尽管事实是数据科学家是技术专业人士,但能够正确/精美地展示您的工作结果非常重要。 粗略地说,就像iPhone一样,他不仅具有填充感,而且还具有出色的外观,包装和历史记录。 人们需要学习如何展示其结果:撰写博客文章,发言,共享代码。 最好的数据科学家非常了解这一点,他们也是如此。 否则,您可能会陷入困境,即使结果很酷,也不会引起注意。
您可以谈论硬技能很长一段时间,但是很多数据科学家缺乏一件事,即他们无法编写有能力的,结构化的,精美的代码。 这直接是该行业的祸害。 您需要学习如何编写漂亮的可读代码。 如果您看一下kaggle,其中的大多数代码都很糟糕。 我了解这是与什么有关的:人们只写一次代码,不再使用它,这是数据科学家(尤其是初学者)的标准做法。 我本人以前曾这样做过,但这很不好,因为,首先,您不能与任何人(人们想要阅读漂亮的可读代码)共享它;其次,您不能在其他项目中使用错误的代码。
另一个基本技能是材料知识:线性代数,统计仪器,离散化,优化。 坦率地说,您只需要热爱数学。 我发现很难理解没有看到数学之美的数据科学家的动机。 同时,应该注意的是,在大学一年级或二年级的水平上,数据分析中的数学是可以负担的。
-完成“大数据专家”计划后,您离开了企业界,并与同学一起开设了一家咨询公司。 您为什么不想成为一家拥有许多好东西的大公司的雇员? 的确,劳动力市场的需求远远大于可用的需求,而且您是一个出色的专家。-这是一个非常有趣的原因:最初的目标是获得咨询项目,使您已经可以展示出一家认真的公司并找到一份工作。 毕竟,既然您说自己是一名数据科学家,那么请证明自己可以。
首先,我们花了任何钱就拿出了绝对的任何数据科学项目,只是为了证明我们可以做到。 他们犯了很多错误,踩了所有可以踩的耙子。 第一年只是一场噩梦,非常艰难。 现在回首,咨询并不是一个好的开始。 也许我不得不上初中,今年要从事某种项目。
我们已经克服了一切。 项目开始出现,自信心增强,从某种意义上说,人们意识到,由于项目,审批和官僚机构的拖延,人们无法在一家大公司内工作。 事实证明,我们的项目现在比大多数大型公司所能提供给我的更加有趣和多样化:它们很多,它们经常变化,并且您不断学习。 当然,现在我真的不想搬到一家大公司。
-让我们谈谈数据标记。 您在RnD实验室中的团队很小,几乎无法花费大量时间标记数据并手动完成所有操作。 您如何标记数据?-您可以谈论很长时间的数据标记! 机器学习算法需要数据才能起作用。 而且不仅是一些数据,而且是定性标记。 还有很多 例如,我们有一个
项目,可以根据照片确定煎蛋的质量 。 为了使算法起作用,您需要标记每张照片,并手动圈出每种成分-蛋白质,蛋黄,培根。 您能想象出标记出一万张这样的照片是什么样的吗? 这只是为了准备好数据。 之后,工作才刚刚开始。
现在有许多出售标记的公司-他们雇用大量廉价的标记来手动绘制对象的边界。 具有讽刺意味的是,在AI时代,它是支持它的低薪,低技能和无动力的人。
我想使这个过程更具技术性。 例如,在我们的项目中,我们编写了一个神经网络,该网络以半自动模式标记数据。 首先,给她20张手动标记的炒鸡蛋照片和20张未标记的鸡蛋-她在前二十个中学习并标记出第二个二十个,尽管不是很好。 您可以手动更正错误,并给这些已更正的20张自标记照片进行再培训。 现在,该模型已经在40张带有标记的照片中学习。 您将另外20张照片提交给标记,更正错误,并在更正的标记上训练模型。 经过几次迭代,几乎没有错误。 顺便说一下,正是基于这种技术,我现在正在
Medium上撰写
博客文章 。
还有其他选项:粗略地说,您可以使用模拟器使用3D编辑器来生成许多已标记的图像。 您放置了必要的对象,并与标记一起以不同的角度进行渲染-仅此而已。 但事实并非如此:对于模型而言,此类图像仍然与真实的图像并不相似。 为了将这些图像生成各种真实图像,您需要在GAN上使用一种称为域自适应的技术。 现在,这是真正的研究前沿,这些事情令人兴奋。 想象一下:您正在模拟整个世界,而任何数据集实际上都是从零产生的。 现在,假设该模型仅在模拟器中学习,然后在现实世界中工作。 这只是未来!
-您能说出在大数据领域的工作为您带来启发并激发您灵感的团队/个人吗?-是的,当然! 我真的不喜欢研究本身,而是喜欢将其用于产品中。 我说的是我认识的人-您可以只是Google顶尖专家,他们已经广为人知。
如果我们谈论团队,那么毫无疑问,这就是Yandex无人机团队。 这些家伙在俄罗斯条件下从头开始制造他们的技术,他们开始在冬天进行测试-Google对此没有梦想。 他们是很棒的家伙,我会认真地关注他们。 包括他们的出版物和课程。 他们在实践中使用的技术数量巨大,很少有幸一次使用这么多不同的东西。
Connectome.ai团队-伙计们制作用于生产的计算机视觉系统。 这是一项挑战性的任务,他们做什么以及如何做是很酷的。
来自
supervise.ly的家伙。 他们最初是顾问,就像我们在RnD Lab一样,但是后来他们制作了半自动标记系统,现在他们正在开发它。
在人员方面,首先是Spotify推荐系统的前负责人Eric Bernhardsson。 他有一个
关于数据科学的神奇
博客 ,我向所有人推荐。
其次,是
Volodya Iglovikov ,他也是ODS的Ternaus。 他来自物理学家,他的发展道路非常好奇,并且非常积极地举起自己的屁股并开始工作。 他以身作则,向人们展示了认真的工作和能胜任的市场营销如何帮助自己迈向职业。
-您是大数据专家计划和建筑物的小组协调员。 卢森堡的计划,在秋天,您将指导我们的新在线计划中的小团体。 告诉我,您为什么需要所有这些? 因为您在这里不会赚大钱)))“你不会赚,这是肯定的。” 关键在于社会化。 正如我已经说过的那样,社交化是推动自我发展的关键,更不用说只是使联系对于企业有用。 通过我的协调,我们发现了一些老套有利可图的订单。 其次,我只想与他人分享我的知识和经验,并培训我如何使用数据。 另外,在准备过程中,我自己会学到很多东西。 我自己学习了很多东西,并且我很了解几个小时可以得到一些东西。 另外,当然,协调和指导是一个挑战,是摆脱舒适区的一种方式,也是您自我锻炼的能力。
-数据科学家和ML工程师:有什么区别?-在
Yandex Data&Science框架内有关于此主题的
报告 。 这个想法是,数据行业催生了一系列重叠的专业。 同时,不同的公司对它们的解释也不同。 数据科学家和MLE只是这样的一个例子。
人们认为,数据科学家可能无法编写生产代码,但必须创建或改编理论(例如,科学文章)并建立模型。 实际上,ML工程师-专业的程序员,他们较少沉浸在理论部分中,而更多地是在工程方面-从事代码本身。
例如,这种分离在Google中效果很好。 当然,严格地说,有很强的博士学位可能根本不会编程,但理论上很强。 还有一些高级程序员用精美的代码包装了这些博士的原型。 但是,如果我们谈论的是小型团队,例如我们的团队甚至是Yandex团队,那么就没有时间进行从头开始的纯粹研究,而是有机会获得其他人的研究结果(以文章或代码的形式)并根据这些文章编写战斗代码。
就我个人而言,我不相信不编写代码的数据科学家的实用价值-代码是数据中心工作的结果。 如果您不编写代码,则很可能是数据分析师。 这也不错,但这是另一种专业。 顺便说一下,许多公司只出售数据分析软件。 因为分析师精通且无聊,而数据科学家则是“ 21世纪最性感的职业”。
我是ML工程师。
-您对未来有什么想法和计划? 您想将专业和地理(突然!)计划搬到哪里?-我们RnD实验室起初是一般意义上的数据科学咨询。 但是他们很快意识到,不可能一次完成所有事情,必须集中精力。 现在,我们的重点是计算机视觉项目,例如我们的食品质量识别项目。 想象一下在3D模式下观看桌上的足球比赛。 想象一下,作为一家大型商店的所有者,您可以看到商店橱窗中的所有盗窃案。 想象一下,您的旧纸质黑白照片可以转换为彩色并为其添加细节。 我们只是从事此类项目。 目前,我们有两个正在开发的非常有趣的新项目,它们的复杂性并不比Yandex中的项目低,我们将在一段时间后宣布它们。 现在我们已经制作了一个原型,非常有可能我们将继续这个项目,规模会有所不同,我们将扩大团队。 首先,我将需要数据工程师和计算机视觉工程师,他们将接管原型并制造出一个系统。 客户很棒,系统很有趣,这是一个提升专家水平的绝好机会。 对于任何投资组合而言,这样的项目都将很棒!
因此,我们将重点放在计算机视觉及其在AR / VR,GAN,图像和视频生成,图像和视频增强,视频分析中的应用。 在这里,我们已经拥有出色的专业知识和工具。
至于地理:我的重要原则之一是可以在任何地方进行100%的远程工作。 大公司都不会为您提供此服务。 , , ? Basecamp,
. , .
— -:
?-.
— , , ?— , .
— ?— .
— , “, ”.— “, ” , . , , . ZeptoLab: , , , . .
, - . : “ , , 5% : , , , , ...” , , . , , 3 , . , , .
Newprolab 20 9-
« » , data science.