资源行业动态这 5 件事情让模型“有用”

这 5 件事情让模型“有用”

2019-11-22 | |  94 |   0

原标题:这 5 件事情让模型“有用”

来源:AI 研习社           链接:https://www.yanxishe.com/TextTranslation/2248


创建出色的机器学习系统是一门艺术。

构建出色的机器学习系统时,需要考虑很多因素。 但是经常发生这样的情况:我们作为数据科学家只担心项目的某些部分。

但是,我们是否曾经考虑过拥有模型后将如何部署模型?

我见过很多机器学习项目,但其中许多注定要失败,因为它们从一开始就没有制定生产计划。

这篇文章是关于一个成功的ML项目的过程要求的-一个可以投入生产的项目。


1.在开始时建立基准


实际上您并不需要建立模型来获得基准结果。

假设我们将使用RMSE作为时间序列模型的评估指标。我们在测试集上评估了模型,RMSE为3.64。

3.64是不错的RMSE吗?我们怎么知道?我们需要一个基准RMSE。


这可能来自用于同一任务钟当前使用的模型。或通过使用一些非常简单的启发式方法。对于时间序列模型,失败的基准是最后一天的预测。也就是说,预测前一天的数字。


或这对于图像分类任务。抽取1000个标记的样本,并按人为的分类。人工的准确性可以成为您的基准。如果人类无法在任务上获得70%的预测准确性,那么您的模型达到类似水平时,您总是可以考虑使流程自动化。

学习:在创建模型之前,请先了解要获得的结果。放出一些期望值只会让您和您的客户失望。


2.持续集成是前进的方向


01.png

您现在已经创建了模型。它的性能优于本地测试数据集上的基准,我们应该继续前进吗?

我们有两个选择:

1.无限循环进一步改进我们的模型。

2.在生产环境中测试我们的模型,获得更多有关可能出问题的方法,然后通过持续集成继续改进我们的模型。

我是第二种方法的粉丝。Andrew Ng在Coursera深度学习专业课程中名为“结构化机器学习项目”的第三门课程中说,

“不要一开始就尝试设计和构建完美的系统。取而代之的是,可能在短短几天内快速构建并训练基本系统。即使基本系统离您可以构建的“最佳”系统相去甚远,检查基本系统的功能还是很有价值的:您将迅速找到线索,向您显示最有价值的精力投入的方向。”做完比求完美强。

学习:如果您的新模型在生产中比当前模型更好,或者新模型在基准上更好,那么等待生产就没有意义了。


3.您的模型可能会投入生产


您的模型是否比基准更好?它在本地测试数据集上的性能更好,但总体上是否真的能很好地工作?

要测试您的模型优于现有模型的假设的有效性,可以设置A / B测试。一些用户(测试组)看到来自模型的预测,而某些用户(控件)看到来自先前模型的预测。


实际上,这是部署模型的正确方法。您可能会发现实际上您的模型并不像看起来那样好。

错误的确不是错,错误的是不要期望我们会错。


很难指出为什么模型在生产环境中表现不佳的真正原因,但某些原因可能是:

1.您可能会看到实时获得的数据与训练数据有很大的不同。

2.或者您没有正确完成预处理工作。

3.否则您无法正确衡量性能。

4.也许您的实现中存在错误。

学习:不要全面投入生产。 A / B测试始终是前进的绝妙方法。准备好备份(也许是旧模型),因为总会有无法预料的事情导致您的项目崩溃。


4.您的模型甚至可能无法投入生产


我创建了这个令人印象深刻的ML模型,它具有90%的准确性,但是获取预测大约需要10秒。

可以接受吗? 也许对于某些案例有用,但实际上并没有。

过去,有许多Kaggle比赛的获胜者最终实现出了超级集成的方式,从而在排行榜上名列前茅。 下面是一个特别的令人兴奋的示例模型,该模型用于赢得Kaggle的Otto分类挑战赛:

02.png

资料来源:第1级使用的33个模型和8个经过工程设计的特征

另一个例子是Netflix百万美元推荐引擎挑战赛。 由于涉及的工程成本,Netflix团队最终从未使用获胜者的解决方案。
那么如何在机器上使模型既准确又容易呢?

03.png 

老师—学生模型:来源

这里有师生模型或知识提炼的概念。在知识蒸馏中,我们在已经训练好的较大的老师模型上训练了较小的学生模型。

在这里,我们使用老师模型中的软标签/概率,并将其用作学生模型的训练数据。


关键是老师输出课堂概率–“软标签”而不是“硬标签”。例如,水果分类器可能会说“ Apple 0.9,Pear 0.1”而不是“ Apple 1.0,Pear 0.0”。为什么呢?因为这些“软标签”比原始标签提供的信息更多。告诉学生,特定的苹果确实有点像梨。学生模型通常可以非常接近老师水平的表现,即使使用的参数减少了1-2个数量级! - 资源


学习:有时候,我们在预测时没有很多可用的计算资源,因此我们希望有一个更轻便的模型。我们可以尝试建立更简单的模型,或者尝试针对此类案例使用知识提炼的方式。


5.维护和反馈循环


世界不是恒定不变的,您的模型权重也是如此

我们周围的世界正在迅速变化,两个月前可能适用的方法现在可能已不重要。 在某种程度上,我们建立的模型是对世界的反映,如果世界在变化,我们的模型应该能够反映这种变化。

04.png

模型性能通常会随着时间而下降。

因此,我们必须从一开始就考虑在维护周期中升级模型的方法。


此周期的频率完全取决于您要解决的业务问题。 在广告预测系统中,用户往往会变幻无常,并且购买模式不断出现,因此需求频率非常高。 在评论情绪分析系统中,频率不必那么高,因为不会改变其语言结构。

05.png

反馈回路:来源

我承认反馈循环在机器学习系统中的重要性。 假设在猫狗分类器中,预测特定图片是狗的可能性很小。 我们可以从这些低置信度的例子中学到什么? 您可以将其发送到手动审阅,以检查它是否可以用于重新训练模型。 这样,我们就可以在不确定的实例上训练分类器。

学习:考虑生产时,还要提出一个计划,以使用反馈来维护和改进模型。


结论

在考虑将模型投入生产之前,这些都是我发现重要的事情。

尽管这并不是您需要考虑的事情的所有清单,也可能会出错的事情的清单并不完整,但无疑会在您下次创建机器学习系统时起到深思熟虑的作用。
如果您想了解有关如何构建机器学习项目和最佳实践的更多信息,我想在Coursera深度学习专业领域中推荐他出色的第三门课程,名为“构造机器学习项目”。 可以看一看。

感谢您的阅读。 我将来也会写更多对初学者友好的文章。 在Medium上关注我,或订阅我的博客以了解有关它们的信息。 与往常一样,我欢迎您提供反馈和建设性的批评,可以在Twitter @mlwhiz上与他们联系。

-------------------------------------------------------------------------------

发起:唐里 校对:唐里 审核:鸢尾

参与翻译(1人):天字一号

英文原文:Take your Machine Learning Models to Production with these 5 simple steps

THE END

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:卷积神经网络迁移学习之PyTorch实战

下一篇:深度学习时序分析概览

用户评价
全部评价

热门资源

  • 国内人才报告:机...

    近日,BOSS 直聘职业科学实验室 &BOSS 直聘研究院...

  • AI使物联网更智能...

    看到微软对物联网和人工智能的结合感兴趣是一个明...

  • 推荐一批学习自然...

    这里推荐一批学习自然语言处理相关的书籍,当然,...

  • 安防智能化大势下...

    大部分传统安防设备不仅拍摄视野有限,而且无法事...

  • 20亿创业基金、10...

    近日,杭州举办了建设国家新一代人工智能创新发展...