在考虑如何将机器学习的一些工作自动化,让背景更广的人更容易使用这项技术时,有必要问一问:在机器学习,行业从业者在做什么?以下是机器学习从业者在此过程中可能需要做的一些事情:
理解上下文:
1、确定可以从机器学习中受益的业务领域;
2、与其他利益相关者沟通什么是机器学习什么是你没有的(通常有很多误解);
3、了解业务战略、风险和目标,确保每个人都在同一个平台上;
4、确定组织拥有什么样的数据;
5、正确地构造和检查任务;
6、了解操作限制(例如,推理时选择实际可用的数据);
7、积极识别道德风险,包括骚扰者或宣传活动(并计划如何降低这些风险);
8、识别潜在的偏差和潜在的负反馈回路。
数据:
1、制定收集更多不同数据的计划;
2、组织来自许多不同来源的数据:这些数据通常以不同的格式或不一致的做法收集;
3、处理丢失或损坏的数据;
4、可视化数据;
5、创建合适的训练集、验证集和测试集;
型号:
1、选择要使用的型号;
2、将模型资源需求纳入约束(例如,完成的模型是否需要在边缘设备上运行、在低内存或高延迟环境中运行等。);
3、选择超参数(例如,在深度学习的情况下,这包括选择架构、损失函数和优化器);
4、培训模型(并调试培训不成功的原因),可能包括:
4、1调整超级参数(如学习率);
4、2输出中间结果,查看损失、训练误差和验证误差如何随时间变化;
4、3检查模型的错误数据,找到模式;
4、4识别数据中潜在的错误或问题;
4、5认为需要改变清理和预处理数据的方式;
4、6认识到你需要更多或不同的数据增强;
4、7意识到你需要更多或不同的数据;
4、8尝试不同的模式;
4、9确定您的数据是拟合不足还是拟合过度;
商业化:
1、使用您的模型作为端点来创建API或Web应用程序,以实现产品化;
2、将模型导出为所需格式;
3、计划需要用更新的数据重新训练模型的频率;
监控:
1、跟踪模型随时间的变化;
2、监控输入数据,确定是否随时间变化,从而使模型失效;
3、将您的结果传达给组织的其他成员;
4、制定监督和处理错误或意外后果的计划。
当然,并不是每个机器学习从业者都需要完成上述所有步骤,但是这个过程的组件将成为许多机器学习应用程序的一部分。即使你只是在处理这些步骤的一部分,熟悉过程的其余部分将有助于确保你不会忽视那些会阻碍项目成功的预防措施!
机器学习
对于我和我认识的许多其他人来说,我想强调机器学习(尤其是深度学习)最耗时和最令人沮丧的两个方面:
1、处理数据格式、不一致和错误通常是一个令人困惑和乏味的过程。
2、训练深度学习模型是众所周知的脆弱过程。
清理数据真的是ML的一部分吗?是的。
处理数据格式、不一致和错误通常是一个令人困惑和乏味的过程。人们有时将机器学习描述为从数据科学中分离出来的过程。就像机器学习,您可以从完美地清理数据和格式化数据集开始。但是根据我的经验,清洗数据集和训练模型的过程通常是交织在一起的:我经常在模型训练中发现问题,导致我返回并改变输入数据的预处理。
培养深度学习模式是脆弱和困难的
训练模型的难度让很多经常抑郁的初学者感到害怕。甚至专家也经常抱怨模型训练过程是多么令人沮丧和反复无常。斯坦福大学的一个人工智能研究员告诉我,他教深度学习课程,让所有学生自己做项目,真的很难!学生不能训练他们的模型。我们通常会说,“好吧,这是深度学习”。拥有10多年经验并获得NIPS 2017年度时间奖的人工智能研究员阿里·拉希米(Ali Rahimi)在NIPS奖颁奖典礼上抱怨模型训练的脆弱性。有人问AI研究人员:你们中有多少人从零开始设计了一个深度网络,并从设计、架构和其他流程开始构建。当它无效的时候,你感觉很糟糕?许多人举起了手。对我来说,大约每三个月发生一次。即使是人工智能专家有时也发现很难训练新的模型,这意味着这个过程不能像纳入一般产品那样自动化。深度学习的一些最大进步将通过发现更强大的训练方法来实现。我们看到了一些进步,比如退网(退网是指在深度学习网络的训练过程中,神经网络单元按照一定的概率被暂时从网络中丢弃)、超融合、迁移学习等,这些都让训练变得更加容易。通过传递学习的力量,当定义一个足够窄的问题域时,模型训练可以是一个健壮的过程。然而,我们仍然有办法使我们的训练更加强健。
对于学术研究者来说
即使你从事的是机器学习的理论研究,了解机器学习从业者在实际问题中经历的过程也是有用的,因为它可能会为你提供最相关或最有影响力的研究领域的见解。
正如谷歌工程师d、斯卡利等人所写,技术债务是工程师和研究人员都需要关注的问题。为了提供较小的精度优势,以大大增加系统复杂性为代价来研究解决方案是不明智的、、、减少技术债务并不总是像证明新定理一样令人兴奋,但它是持续和强大创新的关键部分。为复杂机器学习系统开发全面而优雅的解决方案非常有益。
AutoML
现在我们已经概述了机器学习从业者在工作中完成的一些任务,我们准备评估自动完成这项工作的尝试。顾名思义,AutoML是一个专注于自动化机器学习。神经架构搜索作为AutoML的一个子领域,目前受到了很多关注。
推荐阅读:局开
(正文已结束)