最近更新时间 2017年11月2日 09:48:04
本文翻译自freecodecamp 中David Rajnoch所发文章Why most startups should outsource their Machine Learning work. 文中版权、图像代码等数据均归作者所有。为了本土化,翻译内容略作修改。
很多人说,机器学习会改变现在互联网的运作方式。因为机器学习不仅能让企业更加“聪明”,也能使企业获得更快更有效的获取有用信息,不仅让企业获得更高的曝光度,产品搜索推荐也更加人性。
但是机器学习在2017年的情况依然糟糕,依然缺少牛逼的程序员,缺少优质的工具。在机器学习能创造价值以前,很多人都没想过使用这个工具。
所以,今天这篇文章,我想指出机器学习这门技术能为公司创造什么样子的价值,能为公司带来什么价值。
机器学习简介
在谈论机器学习方面,我们必须提到一个关键字,那就是监督学习。监督学习包含输入数据及输出数据,比如一段句子(输入数据)肯定指向某个标签(输出数据)。假如某个句子里面有悲伤这个词,那么这个这个句子标签就是情绪。这样的一些数据训练一个特定的神经网络,高兴、悲伤、愤怒我们都可以通过划分为情感。
更多的输入数据能使我们训练出更加准确的神经网络。这样就会有更多用户使用我们的产品,我们将会获得更多的数据。这是一个惊人的良性的循环。
ML(机器学习)有一个非常重要的点,那就是训练所使用的数据必须和用户所使用的数据接近。
举个例子,苹果公司通过一段语音配合相同的文本以对比来使Siri 理解英语句子的意思。如果我使用一段中文问Siri一些问题,Siri通过音节与英文文本对比发现,自己根本无法理解这段话的意思。
机器学习外包的好处
大数据和反馈
数据为王,这个在ML(机器学习)时代,目前来看是对的,这就是为什么要外包的最大原因!
正如同你不会从Amazon获得与Echo平台相同量的语音数据一样,你也永远不会获得与谷歌相当的搜索及标签数据。对于核心数据驱动的应用程序,我推荐你使用SaaS服务,这将使你的应用包含NLP(自然语言处理)、图像识别、面部识别及情绪分析等功能。
所以,这样很难,问问自己“谁会有像那样庞大的数据?”
反馈网络是件双赢的事情,用户既能获取最佳的解决方案,公司也能利用这些数据建立最好的产品。
正如同如果自己搭建神经网络,不仅需要测试SaaS服务,同时也需要大量的数据去完成这件事情。如果没有合适的方案及数据,就不会获得良好的数据模型,你的SaaS服务也不知道什么时候才能投入你的生产环境中。
开发时间及成本
ML(机器学习)方面的专家就如同会嵌入式开发的C语言程序员一样,有贵又少。
我们做个计算题,假如你雇佣两名ML(机器学习)方面的专家,一名后端开发人员,共花费三个月来开发你的应用。那么计算就是3x(2x37500+27500)=307500美元。而使用SaaS服务,你将每月仅支付1000美元,那么307500美元至少让你使用SaaS服务25年!
据我所知,TensorFlow库是目前最常用的ML(机器学习)解决方案,但是这个远远不够,你还是需要为你的应用编写更新深度学习的解决方案。
这便是既付即用的SaaS服务公司所在的价值,为你提供简单便捷便宜且快速部署的解决方案。
知识和方案
知识和方案通常不是唯一的挑战。大家可能会问是什么?是人,方案是优秀聪明的员工想出来的。
当然,你可以通过雇佣别人开学习你购买的专业知识相关的数据,去积累相关经验,可是你要知道,业内最优秀的人才只为最优秀的公司工作。
但是专注SaaS公司就不同,他们有最专业的团队,并根据他们的客户所提出的需求,给出不同的解决方案,从而积累了大量的经验。他们会利用这些知识,为您提供您意想不到的功能。
ML优化和元学习
有很多客户因为产品相同,会带来很多相似的数据。这位我们微调神经网络模型带来新的可能性。
有些SaaS公司致力于面部识别相关的优化,并奋力将功能及性能做到最优。当然,这是一个基本的想法,不管是那家公司都想这样做。但是这样做,对机器学习影响可是致命的。
优化过程中,有一个特例,那便是元学习 。我们的产品虽然可训练的图像识别 ,但是每个客户的数据均不相同,用这些不同的数据,我们就不能微调这个神经网络模型。
所以,使用不同的输入数据来优化不同的神经网络模型。将成千上万个数据组成模型对。然后将这些数据分为五个参数组合,等训练结束后,选择最优秀的一个,然后再利用这个模型去测试那五组数据,以此循环。
利用这种方式,机器学习就可以成为您的ML(机器学习)专家。
基础设施和DevOps
结构从一开始就非常重要。机器学习所执行的时间及查询的数量远高于数据库的查询。在一个连续的机器学习反馈链路中,TensorFlow需要一个强大的架构以保证它的稳定工作。
部署ML(深度学习)模型最典型的架构是Docker,Kubernetes,TensorFlow和像AWS这样的云提供商。因为深度学习需要基于云的扩展集群,且需要强大的按需付费的GPU。
如果自己搭建,难度就非常大了……
机器学习外包的缺点
没有竞争优势
如果机器学习没有发展,就没有竞争的优势。SaaS提供了一个较好的解决方案,主要好处就是扩展性非常高。但是,后期要想研发处比SaaS更好的产品,将更加困难。
如果我们有额外的数据,不在SaaS解决方案中,那么去构建这些数据的模型就非常有趣。但是如果SaaS服务商100%覆盖我想要的所有东西,那么我们的服务就很难超越他们。
没有涉及具体问题
SaaS服务不能处理一些具体的数据。比如他不能根据英镑的分析数据,去预测钓鱼的分数。你必须去开发这样的平台。
在某些领域,SaaS会限制市场需求及方案的发展。比如TensorFlow提供的GUI的封装,因为功能单一。会导致应用功能受限。
安全问题
一些用户的关键数据,有价值的数据或者个人隐私数据,因为ML SaaS的调用并没有得到加密。这些年来,保护个人隐私的想法也因为共享数据,造成了很大的变化。
在大多数情况下,我还是建议使用良好的软件服务协议(SLA),而不是单单使用ML(深度学习)的解决方案。
但是对于像uber、Airbnb和Pinterest这样的大公司来说,ML(深度学习)是核心技术。所以ML(深度学习)是必须的。
结论
所以,事情没有绝对的,使用ML SaaS与SaaS提供商受欢迎有很大的关系。
如果你要做邮件营销使用MailChimp并不困难,但是建立机器学习去做精准推送获取用户点击则要付出很大的努力。
正如同亚马逊的图像识别方案或者Google的图像识别也不是100%精准一样。
任何开发人员都应该在承诺一个月内建立机器学习功能之前好好研究研究SaaS服务。
如果你对图像识别技术感兴趣,你可以访问我们的学习页面,你可以在其中找到更多更详细的信息,感谢您的阅读。
我已经阅读了很多相关文章,都指出了AI的未来,但是现在来看,从未有人真正的接近过它。
我发现目前机器学习真正的价值是:
文本分析、点击率优化、图像分析、内容推荐、自然语言处理、数据挖掘和文档理解。
以下是涵盖现今基于AI解决方案的文章:
您可以使用的工具及列表: