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

    文章

    8116

    浏览量

    130550
  • 深度学习
    +关注

    关注

    73

    文章

    5236

    浏览量

    119900

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

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

收藏 人收藏

    评论

    相关推荐

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

    要说现在最热门的前沿技术,那非人工智能(AI)莫属。而人工智能的核心却是机器学习(ML)。可以说,掌握了机器学习,你也就掌握了人工智能技术。 那么,对于工业用户来说,如何将
    的头像 发表于 01-16 09:45 2814次阅读

    【下载】《机器学习》+《机器学习实战》

    、Apriori算法、FP-Growth算法。第四部分介绍了机器学习算法的一些附属工具。全书通过精心编排的实例,切入日常工作任务,摒弃学术语言,利用高效的可复用Python代码来阐释如何处理统计数据,进行
    发表于 06-01 15:49

    基于深度学习技术的智能机器

    就是自动化系统执行的程序每次都一样,比如说按的是8楼按键,不管你是着急还是不着急,它每次都以恒定的速度上升。传统机器视觉分类2、什么是人工智能? 人工智能就是机器像人一样思考和行动,
    发表于 05-31 09:36

    人工智能和机器学习的前世今生

    摘要: 阅读本文以了解更多关于人工智能、机器学习和深度学习方面的知识,以及它们对商业意味着什么。如果正确的利用模式识别进行商业预测和决策,那么会为企业带来巨大的利益。
    发表于 08-27 10:16

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

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

    月入2w+的大佬都在学习……

    自动化测试领域中一种流行的编程语言(3)与硬件有非常高的结合度二、【学好LabVIEW,月薪2W+不再是梦!】国内的LabVIEW生态建设还不太成熟,但是其人才需求量却是巨大的。以机器视觉为例:(1)薪资
    发表于 06-27 16:10

    软体机器人学习问题探讨

    学习并探讨软体机器人结构设计、柔性制造、运动控制、装配和调试等内容,使学员熟练应用控制工程理论、自动化、材料力学、机械原理、机械设计、3D打印等基础知识,培养和提高学员对软体机器人目
    发表于 08-12 15:09

    机器向“时尚达人”学习的技巧概述

    如何机器向“时尚达人”学习?阿里做了个“实用”的图像数据集
    发表于 09-16 13:41

    机器学习的相关资料下载

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

    机器学习的基础内容

    系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助
    发表于 02-09 06:47

    机器学习简介与经典机器学习算法人才培养

    。迁移效果的可视,利用机器学习库scikit-learn中的t-SNE对迁移过后的高维数据进行可视。十、实验实操之图片与视频风格迁移实践掌握基于生成对抗网络的风格迁移技术。图像/视
    发表于 04-28 18:56

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

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

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

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

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

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

    自动机器学习简述

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