找到合适深度学习模型的4个步骤

如果你一直在寻求使机器学习驱动的应用程序,你会注意到那里有大量的ML模型和模型实现,可能适合、也可能不适合您的任务。特别是如果你对特定类型的模型没有深入的了解,那么选择适合你的项目的模型实现可能会非常困难。

在与数百名工程师交谈之后,我为你准备了你可以理解的创建机器学习模型时应该理解的4个步骤!

1. 理解问题域

来自PublicDomainPictures.net

虽然您可能正在构建热狗定位器,但您正在寻找的模型可能不会被称为"热狗定位器"。我们从用户角度,与从ML研究人员角度如何思考模型的差异,可能会使找到合适的模型变得令人沮丧。

对于热狗位置问题,它是"计算机视觉"技术中的"对象检测"问题。事实上,还有一个叫COCO的数据集,包含着框住热狗的边界框!

当您考虑手头的问题时,将其转换为正确的ML术语的最简单方法是考虑您的输入。是文字还是图片?跟自然语言处理(NLP)相关,还是跟计算机视觉(CV)相关。从那里你想深入了解该领域,找出存在哪些子问题,例如NLP中的情感分类。此外,您可以探索可能已包含感兴趣项目(例如热狗)的数据集,以限制在该特定数据集上训练的模型。有时候使用行话可能会很棘手,因此使用用户友好的ML模型搜索工具(如ModelDepot)可以帮助您快速查找和理解可以帮助您使用案例的模型。

2. 找到"正确"的准确性

来自 "机器学习"

很明显,准确性是你应该关心的事情,但仅仅相信任何准确度数字都可能会导致严重的结果。在考虑准确性时,要记住几件事。

准确度量

根据您正在解决的问题,有很多不同的指标。ML中的每个特定问题域都有一组相关的标准指标。确定哪些指标对你来说最重要,是非常重要的!

例如,如果我们正在建立一个信用卡欺诈检测系统,并且只考虑correct_predictions/all_predictions(又称精确度),我们可以简单地开发一个总是返回"非欺诈"的模型,并获得> 99%的准确性,因为大多数交易都不是欺诈!因此,为您的任务选择正确的指标非常重要!

报告的准确性

刚开始测试报告的准确性,是决定一个模型是否能够满足你的应用要求的重要指标。一般来说,模型的原始论文总是将报告模型的准确度指标。如果两者不同,必须确保,当两个指标不同时,别人使用的指标与您使用的指标的关系。但也要明白,他们的数据集可能与您手头的任务有所不同,并且他们的问题2%改进最终对您来说可能并不重要。

你自己的准确性

如果您发现某些内容似乎具有合理的报告准确度指标,您将需要自己测试该模型,以了解该模型对您的影响。理想情况下,您有一个模型预期会接收的测试输入集(例如电子邮件,评论等)和相应的预期输出。在您自己的数据上测试模型是确保它在您的用例中表现良好的最佳方式,尽管这也是最费力的方式。

ModelDepot上的浏览器内现场演示

有一些快速演示模型的方法,例如使用。您可以使用示例输入快速输入模型,并在不到一分钟的时间内查看模型的结果。您还可以在等在线环境中试用该模型,以跳过设置本地开发环境。

3. 了解您的数据

根据您拥有或愿意收集的数据量,您寻找模型的方法会有很大差异!让我们深入研究这些案例。

数据很多

如果你有大量的培训数据,您将需要寻找具有易于访问的培训脚本的模型,以便从头开始训练您的模型。让DL模型收敛可能非常困难; 为了让你的生活更轻松,您应该在Github上寻找看起来活跃的项目。围绕模型建立支持性社区可以帮助您解决问题。

数据有限

如果你的数据有限,可以使用"迁移学习"的训练技术来规避这个问题。迁移学习可以让你在类似的范围上采用预先训练的模型来调优模型,以便使用少量的训练数据很好地解决您的特定问题。你需要寻找易于"剖析"和重新训练的预训练模型。您可以在Tensorflow Hub或Keras 找到一些。

只有一些例子

别担心!有一些例子是一个很好的开始。寻找经过预先培训的模型,并使用您的示例作为"测试集"来评估这些模型对你的数据的执行情况。幸运的是,您可以查找几个地方来查看预先训练的模型,例如每个框架的各种模型库:,,,。ModelDepot还为预先训练好的模型提供了更通用的搜索界面,以帮助选择正确的ML模型。

4. 挑选建筑

准确性与速度权衡


图片来自https://arxiv.org/pdf/1611.10012.pdf

我们现在可以看看模型背后的架构:

  • 模型对你自己的数据具有可接受的准确度;
  • 易于重新训练或带有预先训练的模型。

准确性,速度和尺寸

最重要的实际考虑因素之一是速度与精度的权衡。为应对应用程序在现实世界中可能遇到的不同情况,研究人员开发了各种各样的体系结构。例如,如果你的模型可能在计算力受限的移动电话上运行,你应该寻找轻量且快速的MobileNet架构。否则,如果你算力不受限,并且希望获得最佳精确度,那么无论模型训练有多慢或多大,您都可以使用最先进的技术保证最高精度。

某些型号可能具有轻量级变体,例如PSPNet50与完整PSPNet,可减少层数,使其更快更轻薄。其他时候,您可以使用诸如修剪或量化等技术来使模型更小更快。

总结

通过这四个步骤,您可以从了解要解决的问题,到选择一些能够尽快解决问题的模型。

还有其他一些考虑因素,例如ML框架,代码质量或模型作者的声誉,但这些考虑因素通常是你过了PoC / MVP阶段将ML集成到产品中时,较为高级、周全的考虑。让我知道您对如何在评论中找到ML模型的想法!

祝你好运,顺利找到你的下一个ML模型!

本文翻译:Micheal,转载请注明,谢谢!
原文链接:https://towardsdatascience.com/4-steps-to-finding-the-right-deep-learnin...
转自:AI火箭营

最新文章