写点什么

你是否真的需要机器学习?

  • 2020-05-06
  • 本文字数:2186 字

    阅读完需:约 7 分钟

你是否真的需要机器学习?

文中内容并非是从理论上去探讨哪些问题可以通过机器学习解决,而是意在帮助那些没有数据科学家的团队理解应用机器学习是否真的有效。


机器学习当前处境微妙。


机器学习的可行性已得到充分证明,几乎所有最受欢迎的移动应用都或多或少使用了该项技术,从中可见一斑。但这一生态系统尚未完全成熟到任何一位初学者都可以迅速应用自如的程度。


对于团队而言,决定何时引入机器学习技术并非易事,尤其是对于缺少数据科学家的团队。尽管软件工程人员通常对机器学习具有更高层次的理解,但他们一般缺少领域知识,难以判定自己所面对的问题是否适用机器学习解决。


文中内容并非从理论上去探讨讲哪些问题可以通过机器学习解决,而是意在帮助那些没有数据科学家的团队理解应用机器学习是否会有效。

是否有其他人使用机器学习解决了类似的问题?

如果团队中没有任何经验丰富的机器学习工程师或数据科学家,那么是很难回答“是否有可能通过机器学习来解决某个问题?”


如果团队中缺少数据科学家,应该怎么办?


  • 自身成为机器学习专家。这样你可以自己分析问题,判定机器学习解决方案的可行性。

  • 聘用机器学习专家,完成上述工作。

  • 调研是否有其他人用机器学习解决了类似的问题。


前两个选项耗精力耗财力,而后者可能只需花一天时间搜索一下。


相关调研的好处,就是有助于确定工作的着手点。鉴于团队中没有数据科学家,不太可能针对问题设计出适用的模型架构。例如,如果需要构建一个客户支持代理,那么可以去了解一下其他公司的做法。当然,你一定会涉及到 Rasa 和 Google Meena。


了解使用哪些模型和方法解决了类似的问题,有助于团队明确工作的着手点。例如,工程师 Robert Lucian 构建了一款得到广泛使用的个性化车牌读取器。Lucian 的解决方案就是依赖于一些已有的目标检测和文本提取模型。


Lucian 在在文章中提及,他只是调研了其他人在类似领域中正在使用的方法,进而着手实现了自己项目中的机器学习部分。他最终找到了那些专门针对车牌而调优的模型,及用于文本提取的有效模型。这样,他很快将两者加入到生产环境中。

是否具有相关的数据来源(无需考虑数据是否是自己的)?

除非你的问题使用原始预训练模型解决了,否则模型都需要使用相关数据进行训练。


例如,构建一个推荐系统引擎,需要用户资料属性以及浏览习惯等数据。而构建一款客户支持代理,则需要文档手册进行训练。为使模型适用于特定领域,需要使用相应领域数据进行训练。


但是,训练数据不必是自己具有的。即便并没有做复杂的用户数据收集,也可借助于一些公开可用的数据。


例如,数月前开始流行的文本类冒险游戏“AI Dungeon”,就是基于机器学习构建的。



尽管游戏开发工程师 Nick Walton 只通过从 choiceyourstory.com 上抓取 50 MB 的文本做模型调优,但该游戏仍可以与当前最先进的模型相媲美。其成功应归功于迁移学习,该技术将模型的“知识”(该游戏中使用了 OpenAI 的 GPT-2)迁移到新的模型,并使用很小的数据集对更特定领域做了调优,例如游戏中的地牢探索者的故事情景。

相对于其他解决方案而言,使用机器学习的成效是否显著?

在很多情况下,机器学习只是一种可工作的工具,但并非最优的工具。如果机器学习并不能提供比其它解决方案明显的优点,那么就不值得为此付出额外的开销。


对此问题的分析,可借助于下列几个基本考量:


首先,除机器学习外,是否还有其它解决方案?


对于语音识别、计算机视觉等许多应用,机器学习目前是最适用的解决方案。


其次, 其它解决方案是否能复现机器学习的预测质量?


例如,在建立一个推荐系统中,如果收集的用户数据不多,并且只有 100 条博客帖子可供推荐,那么使用基本的标签系统就完全可以。如果用户喜欢 Javascript,那么就向用户展示所有具有“Javascript”标签的文章:



但是,如果策划构建一个庞大的内容库,并且其中管理了大量的用户数据,那么机器学习对于实现个性化推荐的作用是独一无二的。


第三,其他解决方法是否具有机器学习那样的可扩展性?


机器学习的主要承诺之一,就是其灵活性足以消除那些传统上需要人工干预的流程中的人力参与。例如,库存管理是一个非常繁杂的工作,产品通常信息不完整,列出方式也不一致,导致经常需要手动处理。


在产品数量不多的情况下,人工处理完全可以取代机器学习。但是对于大量的产品,人工做比对是不现实的。例如,处理一百万种产品,需要很多人花费大量时间。而 Glisten 等产品使用机器学习分析产品数据,可快速完成此类工作:


何时何处适用机器学习

事实上,尽管机器学习有着诸多优越性,但却往往应用在许多毫无意义的场景中。这导致许多人普遍对机器学习持怀疑态度,“不过又是一轮炒作而已”。


现实情况是,就像其它所有广为使用的技术一样,机器学习只是在某些情况下的理想解决方案,而并不适用于所有情况。项目上手时,最难的就是判定该项目是否需要使用机器学习,尤其是对于缺乏该领域经验的团队,希望本文能对正处于迷茫中的团队有所助益。


如果读者对如何在生产环境中使用机器学习感兴趣,欢迎访问 Cortex 示例代码库。


Cortex 项目地址:


https://github.com/cortexlabs/cortex/tree/master/examples


声明:本文内容基于作者本人对机器学习团队的观察,而非对整个行业的学术综述。作者背景是 Cortex 的贡献者之一。Cortex 是一款用于机器学习模型在生产环境部署的开源平台。


原文链接:


https://towardsdatascience.com/should-you-really-use-machine-learning-for-that-d781a80aa0fb


2020-05-06 11:071396

评论

发布
暂无评论
发现更多内容

西安Java培训 | java设计模式之工厂设计模式

@零度

设计模式 JAVA开发

见证荣耀|长三角区块链应用创新大赛复赛于旺链科技成功举办

旺链科技

区块链 产业区块链 区块链应用创新

5000字解析:实战化场景下的容器安全攻防之道

青藤云安全

网络安全 容器安全 攻防演练

高效远程办公手册| 社区征文

程序员-小江

初夏征文

今天 2 点:关于龙蜥社区云原生 SIG 及安全容器 runD 介绍 | 第 24 期

OpenAnolis小助手

开源 云原生 虚拟化 sig 龙蜥大讲堂

实践 DevOps 时,可能面临的六大挑战

SoFlu软件机器人

SAP Marketing Cloud Restful API SDK 使用案例分享

汪子熙

云计算 SaaS SAP 6月月更 Marketing Cloud

修修补补一时爽,果断重构有担当——聊聊CRM分布式缓存优化

鲸品堂

分布式缓存

CVPR2022 | 上科大x小红书首次提出动作序列验证任务,可应用于体育赛事打分等多场景

小红书技术REDtech

Transformer CVPR2022 视频动作理解 动作序列验证

小程序直播互动功能运行在App里?

Speedoooo

小程序 直播带货 移动开发 直播技术 小程序容器

linux 密钥登录

CRMEB

知识管理系统有效推动中小企业信息化发展

小炮

NodeJS mysql需要注意sql注入 🎈

德育处主任

Node SQL注入 6月月更

浅聊一下数据监控(针对MSSQL)

为自己带盐

SqlServer 数据监控 6月月更

浅谈SpringMVC五大组件以及对执行原理的分析

百思不得小赵

springmvc Java EE 6月月更

北京Java培训 | java设计模式之原型模式

@零度

JAVA开发 原型设计模式

居家办公初体验之新得分享| 社区征文

阿Q说代码

居家办公 初夏征文 心得分享

我把 b 站拉黑了!

博文视点Broadview

C#入门系列(二十一) -- 面向对象之继承

陈言必行

C# 6月月更

百问百答第43期:应用性能探针监测原理-PHP探针

博睿数据

智能运维 博睿数据 性能监测 百问百答

啃论文俱乐部 | 压缩算法团队:我们是如何开展对压缩算法的学习研究

OpenHarmony开发者

OpenHarmony

PingCAP 入选 2022 Gartner 云数据库“客户之声”,获评“卓越表现者”最高分

PingCAP

TiDB

百度交易中台之钱包系统架构浅析

百度Geek说

系统架构 百度app

中国信通院首届3SCON软件供应链安全会议成功召开 聚焦软件供应链全链路安全

中国IDC圈

安全 软件安全

这不会又是一个Go的BUG吧?

捉虫大师

Java Go 死锁

Linux下玩转nginx系列(六)---nginx实现cache(缓存)服务

anyRTC开发者

nginx Linux 缓存 音视频 服务器

视频一对一源码,简单的搭建方式也有技术要求

开源直播系统源码

软件开发 二次开发 一对一源码

Flink CDC MongoDB Connector 的实现原理和使用实践

Apache Flink

mongodb 大数据 flink 流计算 实时计算

《网络是怎么样连接的》读书笔记 - ADSL

懒时小窝

网络编程

Apache ShardingSphere 5.1.2 发布|全新驱动 API + 云原生部署,打造高性能数据网关

SphereEx

云原生 ShardingSphere 版本更新

浅谈德州扑克AI核心算法:CFR

行者AI

人工智能 AI 强化学习

你是否真的需要机器学习?_行业深度_Caleb Kaiser_InfoQ精选文章