如何让机器学习自动化?专家们告诉你在做啥?

2019-04-0722:34:16数据结构与算法Comments2,926 views字数 2661阅读模式

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

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

如何让机器学习自动化?专家们告诉你在做啥?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

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

在复杂工作中建立数据产品文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

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

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

粘合代码(glue code):即将数据加入通用包或从中取出的大量代码文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

通道森林(pipeline jungles):用机器学习的形式准备数据的系统可能含有多种难题、连接点和采样步骤,通常在中间文件的输出处文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

重新使用输入信号,如果系统分离可以创造紧耦合装置文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

可能改变外部环境的风险也许会改变模型或输入信号的行为,这种情况很难控制文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

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

当机器学习项目失败时文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

机器学习项目失败的情况有以下这么几种:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

当数据科学团队搭建了一个从未用过的工具。但是公司的其他部门并不知道他们做了什么,有些数据科学家也并不清除这些成果能否用于实际生产中。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

当数据科学家们创造模型的速度快于将其投入生产的速度,就会产生积压。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

数据基础架构工程师和数据科学家是分开的。通道中没有数据时,数据科学家会要求数据基础架构工程师获取。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

当公司最终确定产品X的功能后,他们需要数据科学家收集支持这项决策的数据。数据科学家认为产品经理会忽略那些与决定相反的数据,而产品经理会认为数据科学家忽略商业逻辑。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

数据科学团队面试了一位数学建模、工程技术能力都很好的候选人。确定录用后加入到垂直应用产品团队,并需要简单的商业分析。数据科学家感到很无聊,所学技能根本用不上。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

这些问题是我之前在写公司组织失败时列出的,但是它们同样可以看作是太过于关注复杂系统的单一方面。问题在于数据产品之间缺少沟通并且没有目标。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

所以,机器学习专家都怎么做?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

如上建议,打造一款机器学习产品是多方面的复杂任务。下面是机器学习专家在工作中需要做的事:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

理解语境文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

找准能从机器学习中受益的区域文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

与其他相关人员讨论机器学习能做什么、不能做什么文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

让每个人都了解商业策略、风险和目标文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

明确目前公司有什么类型的数据文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

对任务制定合适的框架文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

了解操作限制文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

提前确定可能的道德风险,例如你的成果有可能被滥用、或被用于宣传文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

确定潜在的偏见和潜在的负面反馈文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

数据文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

制作能收集更多不同数据的计划文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

将不同来源的数据汇总文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

处理缺失的或被污染的数据文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

数据可视化文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

建立合适的训练集、验证集和测试集文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

选择使用哪个模型文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

将资源模型纳入约束条件(即最终模型需要在顶尖设备商运行,内存少、延长时间长等等)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

选择超参数(包括架构、损失函数、优化器)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

训练模型,并进行debug。其中包括调参、查看损失函数、训练错误、验证错误是否有改变、监测模型数据、确定错误来源、改变数据清洗和处理的方式、改变数据增强方式、添加更多数据、尝试不同模型、是否过度拟合。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

模型生成文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

创建一个API或网页app文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

将模型输出成想要的格式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

计划模型多久需要重新训练一次并更新数据文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

监测文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

追踪模型性能文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

监测输入数据,确定数据是否会随时间使得模型失效文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

与其他人员交流结果文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

制定计划,如何监测和应对意外结果文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

确切地讲,并不是每个机器学习人员都会做到上面所有工作,但是这一整个流程是很多机器学习应用所必备的。即使你从事的只是其中的一小部分,了解其他流程也有助于你的工作。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

机器学习的两大难点文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

对我自己和其他我认识的人来说,机器学习有两种最耗时费力的步骤:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

处理数据格式、不兼容和报错文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

训练特别脆弱的深度学习模型文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

数据清理真的是机器学习的一部分吗?是的文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

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

如何让机器学习自动化?专家们告诉你在做啥?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

训练深度学习模型很脆弱文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

很多新手在一开始训练模型时会很容易受挫,即使是专家也经常感到沮丧。在NIPS 2017上,Ali Rahimi就曾抱怨深度学习的脆弱性。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

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

给学术研究者文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/11263.html

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

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/suanfa/11263.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定