admin 發表於 2019-6-5 18:58:30

基于移动设备的机器学习,本地与云端孰优孰劣?

雷锋网按:若是您感觉,是时辰给本身的手机利用添加一些热点的呆板进修或深度进修算法.....这是个好设法!但您会怎样选择?致力于供给算法办事及小白科普的咨询师 Matthijs Hollemans 近期在博客上分享了他的一些心得领会,雷锋网独家编译,未经允许不得转载。

绝大大都呆板进修实现法子的步调不过乎以下三点:

收集数据

操纵收集的数据来练习一个模子

利用该模子举行展望

假如想做一个“名流匹配 (celebrity match) ”的利用步伐,奉告用户他们和哪位名流最类似。起首采集浩繁名流的面部照片; 然后基于这些照片,练习出一个深度收集上并使其可以或许识别出每一个名流的样子。这将用到某种卷积神经收集,然后练习这个收集,直到它能比力平凡人和名流之间的面部差别。

练习进程坚苦重重且价格不菲,但一旦模子练习有成,实现了“揣度 (inference) ”——换句话说,做出展望是至关轻易的。上传一张自拍给模子它会当即说:“您和George Clooney的类似度到达85%,但您有一双Lady Gaga的眼睛!

必要甚么样数据、设计甚么样的模子、和该若何练习这个模子,彻底取决于您想构建甚么样的利用步伐。但若何把呆板进修体系交融到您的产物中,还需做出一些决议,这也是本篇博客存在的缘由。

必要做出决议的事变主如果:

·想练习本身的模子吗?

·在本身的电脑上仍是在云中练习?

·在云中举行揣度仍是在当地装备长进行揣度(离线状况下)?

换言之,应当利用云办事举行深度进修,仍是应当本身一手筹办?让咱们一探事实!

第一个问题是:真的必要具有本身的模子吗?

利用他人的模子是今朝为止最简略的法子。呆板进修范畴的新公司如雨后春笋般呈现,他们能供给定制办事,比方语音辨认,文天职析,或图象分类。您不克不及直接拜候他们的模子,由于这是他们的秘密,但经由过程一个API接口,便可以将这些模子为己所用。

供给此类呆板进修办事的供给商有:

·Clarifai

·Google Cloud vision

·Amazon Rekognition, Polly, Lex

·Microsoft Azure Cognitive Services

·IBM Waston

各地出现的雷同办事商另有不少。若是利用步伐必要履行这些特定办事中的一个,那末您应当斟酌利用这些办事。

事情道理:挪动利用步伐仅需向此类收集办事发送一个HTTPS哀求和供给展望所需的数据,比方由装备的相机拍摄的照片,那末在几秒钟以内,装备就可以接管到展望成果。一般环境下,您必要根据分歧哀求,付出分歧的用度,除此以外不必要担忧此外。您独一必要做的,是在利用步伐内部毗连办事的API接口,凡是有软件开辟东西包 (SDK) 会让这些办事易于集成。为了让模子连结最新,办事供给商会在后台利用他们的数据对模子举行反复练习。每当他们改良模子,您自但是然地能从中受益,而没必要为了利用这些办事去领会任何呆板进修的事。

利用这类“全包的”呆板进修办事的益处是:

·易上手。(凡是有免费的。)

·一劳永逸、毫无困扰,不消担忧必要运行本身的办事器或练习模子。

·不消费劲费神,就可以从呆板进修中受益。

这类法子的错误谬误:

·没法在当地装备上履行揣度:所有揣度都是向他们的办事器发送收集哀求完成的。这象征着在哀求揣度和得到成果之间存在(短暂的)延迟,并且若是用户没有收集毗连,利用步伐将彻底不克不及事情。

·必要为每一个展望哀求付费,比方每1000个哀求需付出1美元。

·不克不及用本身的数据对模子举行练习,以是模子只合用于处置常见的数据,如图片,视频和语音。若是您的数据具备独一性或特别性,那末这就不是一个准确的选择。

注重:这些办事现实上只容许有限种类的练习。比方Clarifai,容许上传自界说的练习图象来建立本身的模子,如许加强他们现有模子的功效后,对付特定的图象,能得到更好的揣度成果。

若是现有的模子合适您所有的需求,利用通盘办理的呆板进修办事是一个明智的选择。@对%3uUc5%付大大%97rqd%都@挪动利用步伐,选这个办事就对了!

若是您的数据在某种场景下上是唯一无二的,或对现有的解决方案不得意,那末您必要练习本身的模子。数据是乐成举行呆板进修的关头,数据的质量和数目是重中之重。若是想练习本身的模子,您必要海量的数据。一旦采集好了练习数据,下一步是决议在哪里练习和若何练习,这取决于模子的繁杂性和采集到的练习数据的数目。

•小型模子:可以在小我电脑或一台备用电脑上练习这个模子。

•大型模子:具备多个GPU的强力呆板更有益,这使命确切更适于高机能计较机集群处置。

除非您有本身的数据中间或是一个土壕,不然最现实的做法仍是租用其他电脑的计较能力,很多云平台 恭候您的到临。现在,您可以在云中租用GPU来练习深度进修体系。

以是您要决议:租用,采办,哪一个更廉价吗?但是除代价,另有其他前提必要斟酌。让咱们来看看此中一些斟酌身分。

提醒:在装备上练习又怎么呢?若是必要举行揣度的所稀有据在用户装备上都有——而且不必要其他来历的数据——彻底可以不必要云端平台,在装备长进行练习便可,但是这法子只合用于小型数据集和根本的呆板进修算法。如许的做法还没摸到深刻进修的门栏。

你的选择有两个:

•通用云计较

•托管呆板进修

让咱们先看看通用云计较。

事情道理:在别处数据中间租用一台或多台计较机,在这些电脑上不管做甚么都随您喜好。让云计较机拜候练习数据,然后运行您喜好的练习软件,模子练习起头。完成练习后,付出用于练习模子所历时间损耗的用度,便可如下载模子得出的参数和删除计较实例。如许就有了一个练习好的且可以用于任何处所的的模子。

供给这种办事的有Amazon EC2和Amazon Virtual Machines。针对深度进修,除租用高速GPU,乃至可以租用案例。

益处:

•极致的机动性,没有责任必要承当。若是必要更多的计较能力,仅需供给其他计较实例,这比出门采办新电脑要经济很多。

•练习凡是只做一次,以是只必要租用这些电脑一小段时候。若是想从新练习模子,只需再租几个小时或几天的计较机时候。

•可以练习肆意类型的模子,还可使用选好的练习包。

•可如下载练习好的模子,然后按照爱好利用它。

错误谬误:

•练习模子彻底由您卖力,是以必要清晰每步的意义。若是不认识呆板进修或毫无练习履历,那末必要招聘一个履历丰硕的人。

•必要将练习数据上传到这个云办事,您不但要采办计较时候,还要付出存储用度。

注重:上面的会商只和练习呆板进修模子相干,而不是和揣度相干。一旦练习好模子,必要想法让它在利用步伐上可用,使得步伐可以用该模子做出揣度。若是决议在当地装备长进行揣度,那末将模子嵌入到挪动利用步伐中便可。可是若是在云中做揣度,您依然必要创建本身的收集办事来完成推理,随之而来的是一系列必要斟酌的身分(详情鄙人面会商)。

另外一个云端选择是托管呆板进修。如亚马逊,微软和google等公司,早已把供给呆板进修列为云办事的重要使命。

事情道理:不必要您具有练习模子的专业常识,只需上传数据,选择想利用的模子型号,并让呆板进修办事接收一切。

这是个介于利用彻底托管办事和本身亲力亲为之间的选项,绝比拟本身的练习要轻易很多,出格是@若%2v7h8%是对练%Tdp31%习@模子不是颇有信念。@可%9z295%是大大%97rqd%都@这种办事不容许您下载练习好的模子,以是对付利用步伐的揣度部门,您别无选择,只能利用他们的平台举行揣度。不克不及把练习好的模子移植到挪动装备上,贏家娛樂城,也就是不克不及在装备长进行展望,每举行一次揣度,都要毗连他们的API接口和发送用户的数据。

固然这事未必对利用步伐造成困扰,但这是必要在起头以前就注重到的事变。举个例子来讲,一旦利用了 Microsoft Azure Machine Learning的办事,根基上永久被Azure套牢。若是想切换到另外一个办事,带不走练习好的模子——您必需在新平台上重新起头练习,并再次承当练习用度。这类类型的办事收取练习时代损耗的运算时候发生的房钱,和练习数据所占的存储空间的用度。因为该办事供给了利用步伐用于哀求展望的API接口,您还必要为每一个展望哀求付出用度。

利用托管办事的益处:

•只需上传数据,没必要为练习费心。

•轻易把这些办事集成到利用步伐。固然不克不及做离线揣度,但很轻易让收集办事方面的事变创建且运行起来。

错误谬误:

•必要利用他们的办事,不克不及离线在挪动装备长进行揣度。

•可供选择的模子数目有限,是以机动性较低,比方Amazon Machine Learning今朝仅支撑线性回归和逻辑回归,利用他们的办事不克不及让你练习出一个深度进修模子。

•至公司——亚马逊,微软,google——具有遍及的云办事类型。要利用他们的呆板进修办事,@一%Fo9k7%样得利%8PBz8%用@他们的存储办事、SQL办事等。是以不能不上传练习数据到他们的云办事,这也必要零丁付费。以是要为他们全部云端生态体系买单。

注重:新的googleCloud Machine Learning平台(当前为测试版)彷佛是一个让人值得欢快的破例。和其他竞争敌手同样,这个云办事容许练习本身的模子(若是愿意,您还能摆设它们)。可以移植练习好的模子,离线展望得以实现,若是是TensorFlow粉丝,这项办事是一个很是好的选择。再次注重,TensorFlow的运行也是基于亚马逊和Azure计较实例,从代价上也看得出它老是物超所值。

道理:除利用一台或多台本身的电脑外,在本身电脑上练习和在云上练习,真的没有差别。在计较机上加载本身喜好的集成库,付与他们拜候数据的权限,启动它们,练习起头。@若%2v7h8%是对深%SaM6g%刻@进修的立场很是严厉,或若是可巧身旁有一些闲置的计较机,那末从久远来看,这个选择可能比租用他人的电脑更实惠。

提醒:即便想在云端练习,明智的做法是在本身计较机上,测验考试用简化的数据集运行模子,确认模子运行成果的准确性。当模子给出了有用的展望且对运行成果感触得意,再用完备的数据集在计较能力更强的计较机进一步练习。

云练习的一个问题是,必要将数据上传到云办事。由于数字存储是云公司的营业之一,一般他们城市妥帖保管好您的数据。可是数据也可能敏感触不但愿它分开您的居处,这类环境下,练习一样必要在本身电脑长进行。

益处:

•彻底受控,能本身决议若何练习和练习甚么。

•练习好的模子归本身所有,能以任何符合的方法举行摆设:作为云办事或在装备上离线摆设。

•不必要为租用别人的计较机或云存储而付出房钱。

错误谬误:

•不能不为硬件,软件,电力,和让本身的电脑连结运行的一切所需买单。

若是模子足够小,在本身的硬件长进行练习是一个明智的选择。可是,对付要处置巨大数据的大型模子,必要更多资本来练习,这时辰利用云办事就可以更快地扩大范围。

利用“托管”呆板进修办事,您供给数据,办事商接收练习进程,此中一个很大的错误谬误是练习好的模子 其实不归本身所有。若是利用此类办事,则还必需利用他们的API接口履行展望。以是若是想在模子上练习本身的数据,而且能够离线利用练习好的模子,那末只有这些选项:

•在小我的电脑或备用的计较机上练习

•不利用托管呆板进修办事,只租用别人的计较机或计较群集(如Amazon EC2)在云中举行练习

•利用如Google Cloud Machine Learning之类的办事在云端练习,这种办事容许下载练习好的模子

由于绝大大都的云办事供给的功效很是类似,以是在选择办事商以前,必定要货比三家,让本身尽量 地少花冤枉钱。

注重:另外一件必要斟酌的事变是从新练习模子的频率。是偶然地再运行一次不异的步伐?仍是常常地从新练习模子?不是所有的托管呆板进修办事商都支撑在线进修,若是在云上做在线进修,必要持久租用这些电脑。若是碰着这类环境,在本身电脑上练习会经济很多。

很较着,不管是在本身的电脑或是租用的电脑,练日本藤素,习都是脱机举行的。可是,能选择在装备上揣度,如许的揣度其实不必要收集毗连。

让咱们看一下这些选项:

•若是利用如Clarifai 或 Watson供给的全包办事,必要向其办事器发出收集哀求。这类全包办事选择的余地不是很大。

•若是利用雷同Azure Machine Learning的托管呆板进修办事,你必要向其办事器发送收集哀求。利用本身的数据对模子举行了练习,但该模子凭借于他们的办事器,除非毗连收集API接口,不然没法拜候该模子。

•若是本身练习模子,那末该模子得出参数后,便可以选择在办事器上仍是在装备长进行揣度。

到底是在办事器上推理好,仍是在当地装备上推理更好,取决于几个掂量。

掂量之一是速率:是在挪动装备长进行揣度得出成果更快?仍是发送一个收集哀求让机能更优胜的办事器做出揣度后返回成果更快?

但是某些揣度使命不成能在挪动装备上完成——可能装备没有足够的处置能力或RAM,或可能遭到其他前提束缚。哪一个选项更适用彻底取决于案例需求。

事情道理:建立一个办事器——要末是在用本身的装备搭建的办事器要末是在云中租用的办事器——将练习好的模子上传到该办事器上。利用步伐经由过程互联网和办事器会话,办事器放出一个收集API接口给利用步伐利用。

假如一个利用步伐能将照片转成基于深度进修的数字艺术,用户可以在他们的照片上加分歧的结果。利用步伐将照片发送到办事器,办事器经由过程深度进修收集给照片加之所需的结果,几秒钟后,步伐就收到点窜好的图象。利用办事器举行揣度使挪动利用自己更简便,所有繁杂的事都在节制之下在办事器长进行处置。您可以随时改良模子或添加新的功效,只要更新办事器,就可以摆设改良的模子——没必要更新挪动装备上的利用步伐。

益处:

•若是已预留了一个后端给利用步伐,那末推理的逻辑能很好地与现有的后端集成在一块儿。

•可使用不异的软件包举行练习和揣度。(当在当地装备长进行揣度时,可能必要利用分歧的编程说话重写揣度逻辑。)

•随时更新模子。

•当所有的呆板进修逻辑都在办事器上时,很轻易移植利用步伐到分歧的平台:IOS,Android,Web 等。

错误谬误:

•用户必要收集毗连权限才能操纵步伐的功效举行揣度。

•必要保护本身的办事器。即便租用办事器,依然必要处置所有典范的办事器问题,比方防备黑客,回绝办事进犯,避免停机等。

•必要建立API接口处置来自客户真个展望哀求,包含举行身份验证,如许只有授权用户才能拜候该办事。

•必要采办带宽。所有效户从收集通道发送到办事器的照片占用了很大的存储资本,若是办事器是本身的呆板,为此还必要付出电费。

•若是利用步伐很是受接待,可能必要扩大多个办事器,由于要防止由于办事器过载了造成利用步伐事迹欠安的环境。

利用托管呆板进修办事,只需点击一个按钮便可将练习好的模子摆设到收集API接口。建立和托管本身的 API后,步伐的机动性将大大提高,但错误谬误也很较着——所有事变都得本身脱手。若是利用步伐做得很是乐成,稀有百万的(付费)用户,那末它值得让您搭建一个本身保护的揣度后端。对付不少乐成的利用步伐,如许做可能更廉价,并且利用云内全方位办事的呆板进修方案,贫苦也更少。

注重:与其重新起头搭建本身的API接口,不如利用雷同TensorFlow Serving的现成东西。

事情道理:把模子的得出参数加载到利用步伐中,利用步伐在当地装备的CPU或GPU上运行所有的推理计较——全程不必要与办事器通讯。这个是框架办事统治的范畴,像IOS上的BNNS and Metal CNN,可是一些呆板进修集成库,比方TensorFlow和Caffe也一样在装备上运行。

直接在装备上做推理的重要缘由是即时性,不必要经由过程互联网发送哀求并期待回答——相反地,揣度(几近在)刹时完成。仍是把照片酿成“深度艺术”的阿谁例子:若是把这例子移植到直播的相机里而且请求反馈及时成果呢?用发送收集哀求的法子来实现这功效是不成能的——它必需直接在装备上完成。

注重:说真的,这个例子不具有实际意义,不少深度进修模子都做不到及时回馈。但要晓得这点:速率方面,当地处置无可对抗。

在办事器长进行揣度的一个最大的益处是,可以将改良的模子当即投入利用:你必要做的仅仅是将新模子上传到办事器,要在挪动装备上做到这一点可没那末简略,由于必要想法把改良的模子推送到所有安装了利用步伐的装备上。若是常常反复练习模子,为了便利把更新的模子参数发送到用户的装备上,您可能必要搭建办事器等根基装备。

在装备上做推理的益处:

•即便没有收集毗连,用户也能够轻松利用这款利用步伐的功效。

•速率:相较于发送收集哀求到办事器举行揣度,在当地装备做揣度更快捷也更靠得住。

•若是在装备长进行揣度,则您不必要保护办事器。因为不必要搭建办事器,就不会碰到办事器过载的环境,当利用步伐获得更多用户青睐,变得更受接待,也彻底不必要您扩大任何装备。

注重:在装备上做揣度,用户为此支出的价格是损耗更多的电量。现实上,和以避免致使糟的用户体验同样,这也是不在装备上做揣度的缘由。

错误谬误:

•将模子移植到利用步伐,下载扩展后的安装包明显必要更多兆字节。

•更新模子加倍坚苦。用户必要手动下载更新后的利用步伐,或利用步伐有主动下载更新的功效,才能 让装备上的模子获得更新。

•将利用步伐移植到其他平台可能会很坚苦,由于必要重写每一个平台的揣度部门(颇有多是一种装备类型重写一次揣度逻辑)。

另有另外一个潜伏问题一样必要注重:其他开辟职员可以在您的利用步伐包发掘信息。复制参数是很轻易的 事变。若是利用了TensorFlow图形界说或caffemodel文件,故意意外的人抄袭全部模子也很轻易做到。若是这个模子让您具有了竞争上风,为了连结上风,也许您该模胡处置这些数据。

正如您所晓得,选择有不少!毫无疑难地,将来几个月或几年内,市道市情大将会冒出愈来愈多的呆板进修办事。甚么办事最合适您的app、营业另有用户——真的取决于您正在做的呆板进修的类型。以是办事商在不晓得切当的细节环境下供给符合的建议,是不成能的。但最少我但愿这篇博文给了您一个切当可行的设法!

更多呆板进修内容请存眷雷锋网(公家号:雷锋网)。

via qbview,雷锋网编译

雷锋网版权文章,未经授权制止转载。详情见转载须知。

制冷打浆机,
台湾包车自由行游览,
揭阳防水,
頁: [1]
查看完整版本: 基于移动设备的机器学习,本地与云端孰优孰劣?