【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

  • 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


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2020-05-06 11:071306

评论

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

Ubuntu 日常使用问题及解决

依旧廖凯

28天写作 3月日更

ThreadLocal 慌不慌?

叫练

JVM ThreadLocal 引用 软引用

开发也要防“沉迷”?IDEA插件教程详解

京东科技开发者

Java 开发 IntelliJ IDEA

对于移动开发,人工智能的到来意味着什么?

故胤道长

人工智能 机器学习 ios开发 Android开发

与前端训练营的日子 -- Week20

SamGo

学习

基于数组或链表实现Map

Silently9527

数据结构和算法

一文了解数据库资源管理技术

华为云开发者联盟

数据库 存储 GaussDB(DWS) 资源管理

uni-app跨端开发H5、小程序、IOS、Android(六):uni-app事件绑定

黑马腾云

微信小程序 uni-app 大前端 iOS Developer 3月日更

书单|互联网企业面试案头书之架构师篇

博文视点Broadview

架构

Swagger增强神器:Knife4j!用它轻松实现接口搜索、Word下载、接口过滤...

王磊

Java swagger Knife4j

LiteOS:剖析时间管理模块源代码

华为云开发者联盟

时间管理 时间 LiteOS huawei 任务

分布式任务 + 消息队列框架 go-queue

万俊峰Kevin

微服务 分布式任务 消息队列 Go 语言

【LeetCode】位1的个数Java题解

Albert

算法 LeetCode 3月日更

EGG公链强势来袭!去中心化社交革命先驱EFTalk

币圈那点事

JVM - GC 问题分析常用两大指标

insight

3月日更

宣传

Ashley.

在深圳,看见大鲸跃起的浪潮

浪潮云

工业互联网

vivo 应用商店推荐系统探索与实践

vivo互联网技术

架构 推荐系统 服务器

Flink SQL 在网易云音乐的产品化实践

Apache Flink

flink

字节跳动单点恢复功能及 Regional CheckPoint 优化实践

Apache Flink

flink

翻译:《实用的Python编程》07_02_Anonymous_function

codists

Python

MongoDB中的正则表达式

Kylin

mongodb 3月日更 21天挑战

字符编码,原来是SQL不走索引的元凶之一!

Java小咖秀

MySQL 程序员 开发 bug 细节

基于NA公链(Nirvana)的应用和NAC公链社区共识探究公链的发展未来

区块链第一资讯

Cobar SQL审计的设计与实现

捉虫大师

Disruptor Skywalking cobar 数据库中间件

微信聊天记录里的文件又失效了?试试这个文件同步开源项目吧

HelloGitHub

开源 文件传输 Go 语言

跟随报文,开启一段奇妙之旅

华为云开发者联盟

报文 Windows主机 路由器 Linux主机 路由表

彩色图像的二值化,取经之旅第 6 天

梦想橡皮擦

28天写作 3月日更

翻译:《实用的Python编程》07_03_Returning_functions

codists

Python

技术实践丨Prometheus+Grafana搭建HBase监控仪表盘

华为云开发者联盟

开源 Grafana Prometheus HBase 开源数据库

【IstioCon 2021】最佳实践:从Spring Cloud 到 Istio

华为云原生团队

开源 Kubernetes 云原生 istio 服务网格

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