0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习专家们每天都在做什么?如何让机器学习自动化

zhKF_jqr_AI 作者:工程师飞燕 2018-07-19 16:01 次阅读

本文作者是fast.ai的创始人之一Rachel Thomas,它是一名深度学习研究员,主要工作内容是将机器学习技术更容易被其他领域的人员使用。本文介绍了机器学习从业人员的主要工作内容,论智将其编译如下。

当下,媒体总会用“稀缺”、“高薪”等字眼来描绘机器学习,甚至还有一些夸张的标题宣称某公司的自动机器学习产品能代替机器学习专家。在TensorFlow DevSummit上,谷歌AI的首席科学家Jeff Dean表示,目前数千万家公司会产出电子数据,但是缺少会机器学习技术的人才。而我在fast.ai的工作正是让更多的人学会机器学习技术、让这种技能变得更易掌握,所以我对这一问题进行了而深入研究。

在思考我们如何让机器学习自动化,以及如何让它普及到更多领域的人时,首先要思考的是,机器学习专家们都要做什么?任何能解决机器学习专家紧缺的方法都要回答这样一个问题:我们是否知道该教授什么知识、用什么工具、或者在哪一部分实现自动化。

这篇文章属于连载系列的第一篇,这里我们会描述机器学习专家实际上都做些什么。该系列的第二篇文章会解释什么是自动化机器学习以及什么是神经架构搜索(一些重量级人物曾表明这两种成果是减少对数据科学家需要的关键),最后第三部分将介绍谷歌的自动机器学习产品。

在复杂工作中建立数据产品

很多学术界的机器学习成果都只关注预测模型,但这只是机器学习专业人员平时工作的一部分。明确工作问题、收集并清洗数据、搭建模型、得出结果并监测变化,这些过程通常会以不同形式相互连接,很难单独拿出来作为研究对象。正如Jeremy Howard等人在Designing great data products中所写的那样:“强大的预测模型是解决方案的一个重要部分,但是它并不独立存在;随着产品变得越来越复杂,它也知识系统中的一部分。”

谷歌的一个小组写过一篇名为Machine Learning: The High-Interest Credit Card of Technical Debt的文章,讲的是在实际案例中使用机器学习技术时,总会产生复杂的代码和“技术债”。作者提出了几种系统层面的交互、风险和反模式:

粘合代码(glue code):即将数据加入通用包或从中取出的大量代码

通道森林(pipeline jungles):用机器学习的形式准备数据的系统可能含有多种难题、连接点和采样步骤,通常在中间文件的输出处

重新使用输入信号,如果系统分离可以创造紧耦合装置

可能改变外部环境的风险也许会改变模型或输入信号的行为,这种情况很难控制

作者写道:“真实世界中,机器学习着重关注的就是这类问题的解决……值得注意的是,粘合代码和通道森林是集成问题的典型症状,原因可能是因为将“研究”和“工程”的角色过度分离了……如果学术界知道了在机器学习系统中只有一小部分代码在起作用,他们一定会惊讶的。”

当机器学习项目失败时

机器学习项目失败的情况有以下这么几种:

当数据科学团队搭建了一个从未用过的工具。但是公司的其他部门并不知道他们做了什么,有些数据科学家也并不清除这些成果能否用于实际生产中。

当数据科学家们创造模型的速度快于将其投入生产的速度,就会产生积压。

数据基础架构工程师和数据科学家是分开的。通道中没有数据时,数据科学家会要求数据基础架构工程师获取。

当公司最终确定产品X的功能后,他们需要数据科学家收集支持这项决策的数据。数据科学家认为产品经理会忽略那些与决定相反的数据,而产品经理会认为数据科学家忽略商业逻辑。

数据科学团队面试了一位数学建模、工程技术能力都很好的候选人。确定录用后加入到垂直应用产品团队,并需要简单的商业分析。数据科学家感到很无聊,所学技能根本用不上。

这些问题是我之前在写公司组织失败时列出的,但是它们同样可以看作是太过于关注复杂系统的单一方面。问题在于数据产品之间缺少沟通并且没有目标。

所以,机器学习专家都怎么做?

如上建议,打造一款机器学习产品是多方面的复杂任务。下面是机器学习专家在工作中需要做的事:

理解语境

找准能从机器学习中受益的区域

与其他相关人员讨论机器学习能做什么、不能做什么

让每个人都了解商业策略、风险和目标

明确目前公司有什么类型的数据

对任务制定合适的框架

了解操作限制

提前确定可能的道德风险,例如你的成果有可能被滥用、或被用于宣传

确定潜在的偏见和潜在的负面反馈

数据

制作能收集更多不同数据的计划

将不同来源的数据汇总

处理缺失的或被污染的数据

数据可视化

建立合适的训练集、验证集和测试集

建模

选择使用哪个模型

将资源模型纳入约束条件(即最终模型需要在顶尖设备商运行,内存少、延长时间长等等)

选择超参数(包括架构、损失函数、优化器)

训练模型,并进行debug。其中包括调参、查看损失函数、训练错误、验证错误是否有改变、监测模型数据、确定错误来源、改变数据清洗和处理的方式、改变数据增强方式、添加更多数据、尝试不同模型、是否过度拟合。

模型生成

创建一个API或网页app

将模型输出成想要的格式

计划模型多久需要重新训练一次并更新数据

监测

追踪模型性能

监测输入数据,确定数据是否会随时间使得模型失效

与其他人员交流结果

制定计划,如何监测和应对意外结果

确切地讲,并不是每个机器学习人员都会做到上面所有工作,但是这一整个流程是很多机器学习应用所必备的。即使你从事的只是其中的一小部分,了解其他流程也有助于你的工作。

机器学习的两大难点

对我自己和其他我认识的人来说,机器学习有两种最耗时费力的步骤:

处理数据格式、不兼容和报错

训练特别脆弱的深度学习模型

数据清理真的是机器学习的一部分吗?是的

处理数据的不一致和报错经常是混乱费力的过程。人们有时会将机器学习和数据科学分开,因为对机器学习来说,有时会直接用清洗过的数据进行训练。然而在我的经验中,数据集清洗和训练模型是相关的:我经常会在训练模型的时候发现问题,只能改变输入数据的预处理方法。

训练深度学习模型很脆弱

很多新手在一开始训练模型时会很容易受挫,即使是专家也经常感到沮丧。在NIPS 2017上,Ali Rahimi就曾抱怨深度学习的脆弱性。

这一现象也表明训练过程并未自动化,如果有某些能稳定训练深度学习的方法出现,对该领域来说一定是个巨大的进步。此前的dropout、迁移学习等方法都让训练变得容易了些,但总体来说稳定的训练仍然是个需要解决的问题。

给学术研究者

即使你正在研究机器学习的理论,了解从业者的工作内容也是必须的,这可以和研究目标结合起来。正如谷歌工程师D. Sculley等人所说:“技术债是工程师和学者都必须意识到的问题。如果研究出的解决方法只对精确度有微小的提升,却让系统复杂性大大增加,那么这一定不是一个明智方案……解决技术债也许不总是诞生新的理论,但却是创新的重要一环。而发展针对复杂机器学习系统的全面、优雅的解决方案才是真正有意义的工作。”

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8414

    浏览量

    132602
  • 深度学习
    +关注

    关注

    73

    文章

    5503

    浏览量

    121136

原文标题:做机器学习是一种怎样的体验?详解机器学习专家的日常工作

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何轻松掌握机器学习概念和在工业自动化中的应用

    ,突破传统自动化技术发展的天花板呢?面对人工智能、机器学习、深度学习、神经网络……这些深奥的概念,如何快速了解和掌握呢? 今天,给我5分钟,我告诉你答案!一文
    的头像 发表于 01-16 09:45 3117次阅读

    你一眼看出工业机器人在干啥

    中心应用机器人进行自动化上下料 机器人和机床结合为一体,直接参与机加工 冲压(锻压)生产线上,几台冲压机器人完成上下料动作 机器人正在安静地
    发表于 11-01 11:01

    机器学习的相关资料下载

    https://www.toutiao.com/a6712245202418926083/机器学习最重要的应用之一是嵌入式机器视觉领域,各类系统正在从视觉使能系统演进为视觉引导自动化
    发表于 12-14 07:03

    什么是机器学习? 机器学习基础入门

    一个复杂的字段,那么您可能会问: 为什么一个人要费心将不复杂的字段复杂呢?为什么不坚持我们经典的算法计算方法呢?答案是,倾向于机器学习的一类问题往往不能通过纯算法的方法来表达。没有一种简单的算法可以
    发表于 06-21 11:06

    机器学习自动化(AutoML):机器自己炼丹

    机器学习的应用需要大量的人工干预,比如特征提取、模型选择、参数调节等,深度学习也被戏称为炼丹术。
    的头像 发表于 06-21 11:15 6929次阅读

    自动化机器学习是什么情况

    机器学习发展中遇到的问题,一个核心因素是人,而机器学习的工作又有大量的人工干预,如特征提取、模型选择、参数调节等机器
    发表于 11-04 16:35 1410次阅读

    谈谈如何将机器学习引入自动化

    今天,笔者尝试通过一个一般性方法的介绍来谈谈如何将机器学习引入自动化,同时对机器学习的相关概念做一个梳理。
    的头像 发表于 10-09 15:55 2334次阅读

    人工智能和机器学习为DevOps带来了新的自动化功能

    人工智能和机器学习为DevOps带来了新的自动化功能,为此需要对这些技术如何优化组织运营的示例进行了解。
    的头像 发表于 10-16 14:31 1841次阅读

    自动机器学习简述

    自动机器学习(AutoML)的目标就是使用自动化的数据驱动方式来做出上述的决策。用户只要提供数据,自动机器学习系统
    的头像 发表于 12-26 10:56 969次阅读

    DB4564_用于STM32微控制器的自动化机器学习(ML)工具

    DB4564_用于STM32微控制器的自动化机器学习(ML)工具
    发表于 11-23 20:28 0次下载
    DB4564_用于STM32微控制器的<b class='flag-5'>自动化</b><b class='flag-5'>机器</b><b class='flag-5'>学习</b>(ML)工具

    利用人工智能和机器学习更好地跨行业部署自动化

      人工智能 (AI) 包括广泛的尖端技术,如机器学习 (ML)、深度学习 (DL)、光学字符识别 (OCR)、语音识别等,与机器人技术相结合,可为多个工业领域的组织创建智能
    的头像 发表于 12-06 15:58 636次阅读

    工业自动化做什么

    工业自动化做什么的 工业自动化是在工业生产中广泛采用自动控制、自动调整装置,用以代替人工操纵机器
    发表于 05-19 10:55 1046次阅读

    机器学习可以分为哪几类?机器学习技术有哪些?

    机器学习可以分为哪几类?机器学习技术有哪些 机器学习(Machine Learning,ML)是
    的头像 发表于 08-17 16:11 5662次阅读

    机器学习和深度学习的区别

    的区别。 1. 机器学习 机器学习是指通过数据使机器能够自动地学习和改进性能的算法。
    的头像 发表于 08-17 16:11 4230次阅读

    机器学习发展历程

    机器学习发展历程:机器学习发展现状、机器学习发展前景和机器
    的头像 发表于 08-17 16:30 1783次阅读