• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      數(shù)據(jù)入,智能出:機(jī)器學(xué)習(xí)管道不再神秘

      2017-07-21 16:20:45SerdarYegulalp
      計(jì)算機(jī)世界 2017年27期
      關(guān)鍵詞:規(guī)范化部署機(jī)器

      Serdar+Yegulalp

      數(shù)據(jù)加上算法等于機(jī)器學(xué)習(xí),但是這一切是怎樣展開的呢?讓我們打開蓋子,徹底搞清楚這些碎片是怎么拼在一起的。

      把機(jī)器學(xué)習(xí)看成是一個(gè)魔術(shù)黑箱是比較貼切的。進(jìn)去的是數(shù)據(jù);而出來的是預(yù)測(cè)。但是在這里沒有什么魔法——只是數(shù)據(jù)和算法,以及通過算法處理數(shù)據(jù)所創(chuàng)建的模型。

      如果您通過機(jī)器學(xué)習(xí)從數(shù)據(jù)中得出可操作的深度分析,那么就能搞清楚黑箱里面到底有什么。您越清楚箱子里到底有什么,就會(huì)越了解數(shù)據(jù)怎樣轉(zhuǎn)化為預(yù)測(cè)這一過程的每一步,您的預(yù)測(cè)就會(huì)越強(qiáng)大。

      開發(fā)人員所說的“構(gòu)建管道”是描述軟件是怎樣從源代碼到部署實(shí)現(xiàn)的。當(dāng)數(shù)據(jù)流過機(jī)器學(xué)習(xí)解決方案時(shí),也會(huì)有一條管道。掌握管道怎樣匯集到一起是從內(nèi)向外了解機(jī)器學(xué)習(xí)本身一種有效的方法。

      但是如果使用流數(shù)據(jù),對(duì)于怎樣從數(shù)據(jù)中生成模型和結(jié)果,您可以有兩個(gè)選擇。第一個(gè)選擇是將數(shù)據(jù)保存在某個(gè)地方——數(shù)據(jù)庫或數(shù)據(jù)湖,并在以后進(jìn)行分析。第二個(gè)選擇是在流數(shù)據(jù)輸入時(shí)對(duì)模型進(jìn)行訓(xùn)練。

      流數(shù)據(jù)的訓(xùn)練也有兩種形式,機(jī)器學(xué)習(xí)解決方案提供商BigML的Charles Parker對(duì)此進(jìn)行了描述。一種情形是您在模型上應(yīng)用最新的數(shù)據(jù)流進(jìn)行預(yù)測(cè),但是您并未調(diào)整底層模型。另一種情形是您獲取的數(shù)據(jù)需要經(jīng)常用來訓(xùn)練全新的模型,因?yàn)槔系臄?shù)據(jù)并不相關(guān)。

      這就是為什么盡早選擇算法是很重要的原因所在。一些算法支持增量再訓(xùn)練,而其他算法必須從頭開始采用新數(shù)據(jù)重新訓(xùn)練。如果您一直在為自己的模型提供新數(shù)據(jù),需要經(jīng)常再訓(xùn)練,那么您會(huì)希望使用支持增量再訓(xùn)練的算法。例如,Spark Streaming支持這類增量再訓(xùn)練。

      機(jī)器學(xué)習(xí)的數(shù)據(jù)準(zhǔn)備

      一旦您擁有了用于訓(xùn)練的一個(gè)數(shù)據(jù)源,下一步是確定它可以用于訓(xùn)練。描述所使用數(shù)據(jù)的一致性最合適的術(shù)語是規(guī)范化。

      現(xiàn)實(shí)世界的數(shù)據(jù)會(huì)有很多噪聲。如果它來自數(shù)據(jù)庫,那么在那里會(huì)自動(dòng)進(jìn)行一定程度的規(guī)范化。但是很多機(jī)器學(xué)習(xí)應(yīng)用程序也可能從數(shù)據(jù)湖或者其他異構(gòu)源直接提取數(shù)據(jù),如果是用于生產(chǎn)目的,它們的數(shù)據(jù)不一定要進(jìn)行規(guī)范化。

      《Python機(jī)器學(xué)習(xí)》的作者Sebastian Raschka在書中詳細(xì)介紹了規(guī)范化,以及怎樣針對(duì)某些常見類型的數(shù)據(jù)集進(jìn)行操作。他使用的例子是以Python為主的,但基本概念是通用的。

      是不是總是要進(jìn)行規(guī)范化呢?麻省理工學(xué)院人工智能博士生Franck Dernoncourt在詳細(xì)討論堆棧溢出時(shí)指出,不總是。但正如他所說的,“不會(huì)有太大問題”。他認(rèn)為,重要的是應(yīng)用情形。對(duì)于人工神經(jīng)網(wǎng)絡(luò),不一定需要規(guī)范化,但也是有用的;對(duì)于像K-means聚類等算法,歸一化是非常重要的。

      《從數(shù)據(jù)中學(xué)習(xí)》一書的作者之一Malik Magdon-Ismail認(rèn)為,當(dāng)“數(shù)據(jù)規(guī)模太大”的時(shí)候,規(guī)范化就不是一個(gè)好主意了。一個(gè)例子:“在信貸審批中,如果要求收入是債務(wù)的兩倍,那么收入兩倍于債務(wù)是恰當(dāng)?shù)摹!?/p>

      在數(shù)據(jù)錄入和準(zhǔn)備階段還要注意的是,怎樣通過數(shù)據(jù)以及規(guī)范化后的數(shù)據(jù),將偏差引入模型。機(jī)器學(xué)習(xí)中的偏差會(huì)產(chǎn)生實(shí)際的后果;這有助于知道怎樣找到并消除可能存在的這種偏差。不要認(rèn)為干凈(可讀、一致)的數(shù)據(jù)是沒有偏差的數(shù)據(jù)。

      訓(xùn)練機(jī)器學(xué)習(xí)模型

      一旦建立了數(shù)據(jù)集,接下來就是訓(xùn)練過程,數(shù)據(jù)被用于生成可以進(jìn)行預(yù)測(cè)的模型。

      我之前提到的預(yù)測(cè)工作類型和使用的算法種類在這里很重要,具體取決于您是需要在批量數(shù)據(jù)上一次完成全部訓(xùn)練的模型,還是需要逐漸進(jìn)行再訓(xùn)練的模型。而訓(xùn)練模型的另一個(gè)關(guān)鍵因素是怎樣調(diào)整訓(xùn)練以提高最終模型的精度——所謂的超參數(shù)化。

      用于機(jī)器學(xué)習(xí)模型的超參數(shù)是控制怎樣從算法生成最終模型的一些設(shè)置。例如,K-means聚類算法以某種方式,根據(jù)彼此相似程度把數(shù)據(jù)組織成組。因此,K-means算法的一個(gè)超參數(shù)會(huì)是要搜索的聚類的數(shù)量。

      通常,超參數(shù)的最佳選擇來自于該算法的經(jīng)驗(yàn)。有時(shí),您需要嘗試一些變化,看看哪些可以為您的問題集產(chǎn)生可行的結(jié)果。也就是說,對(duì)于某些算法實(shí)現(xiàn),可以自動(dòng)調(diào)整超參數(shù)。例如,用于機(jī)器學(xué)習(xí)的Ray體系架構(gòu)具有超參數(shù)優(yōu)化功能。

      用于模型訓(xùn)練的很多庫可以利用并行特性,通過把訓(xùn)練過程分布在多個(gè)CPU、GPU或者節(jié)點(diǎn)上來加速訓(xùn)練過程。如果您能夠訪問硬件,并行進(jìn)行訓(xùn)練,那么請(qǐng)使用它。每增加一臺(tái)計(jì)算設(shè)備,通常都能夠以接近線性的方式進(jìn)行加速。

      用于進(jìn)行訓(xùn)練的機(jī)器學(xué)習(xí)體系架構(gòu)支持并行訓(xùn)練。例如,MXNet庫可以讓您并行訓(xùn)練模型。MXNet也支持并行訓(xùn)練的兩種關(guān)鍵方法——數(shù)據(jù)并行和模型并行。

      谷歌大腦團(tuán)隊(duì)成員Alex Krizhevsky在一篇關(guān)于并行化網(wǎng)絡(luò)訓(xùn)練的論文中解釋了數(shù)據(jù)并行與模型并行之間的差異。采用數(shù)據(jù)并行,“不同的員工在不同的數(shù)據(jù)實(shí)例上訓(xùn)練[模型] ...但是必須同步模型參數(shù)(或者參數(shù)梯度),以確保他們訓(xùn)練一致的模型?!睋Q句話說,您把數(shù)據(jù)拆分到多個(gè)設(shè)備上進(jìn)行訓(xùn)練,但必須確保生成的模型彼此保持同步。

      采用模型并行,“不同的員工訓(xùn)練模型的不同部分”,但是當(dāng)“由一個(gè)員工訓(xùn)練的模型部分需要由另一個(gè)員工訓(xùn)練的模型部分輸出”時(shí),員工必須保持同步。當(dāng)訓(xùn)練模型具有彼此互相輸入的多個(gè)層(例如遞歸神經(jīng)網(wǎng)絡(luò))時(shí),通常使用該方法。

      應(yīng)學(xué)習(xí)怎樣使用這兩種方法來組裝管道,因?yàn)楹芏囿w系架構(gòu)現(xiàn)在都支持這些方法,例如Torch體系架構(gòu)。

      部署機(jī)器學(xué)習(xí)模型

      正如Gilbert在“機(jī)器學(xué)習(xí)管道:構(gòu)建模塊的中國菜單”文章中所述,管道的最后一個(gè)階段是部署經(jīng)過訓(xùn)練的模型,即“預(yù)測(cè)和服務(wù)”階段。在這里,針對(duì)輸入數(shù)據(jù)運(yùn)行經(jīng)過訓(xùn)練的模型,以產(chǎn)生預(yù)測(cè)。例如,對(duì)于面部識(shí)別系統(tǒng),輸入數(shù)據(jù)可以是頭像或自拍照片,從別的臉部照片衍生的模型進(jìn)行預(yù)測(cè)。

      在哪里以及怎樣進(jìn)行這種預(yù)測(cè)構(gòu)成了管道的另一部分。最常見的情形是通過RESTful API從云實(shí)例中提供預(yù)測(cè)。云服務(wù)的所有明顯優(yōu)勢(shì)都體現(xiàn)在這里。例如,您可以調(diào)出更多的實(shí)例來滿足需求。

      采用云托管模型,您還可以將更多的管道保留在同一個(gè)地方——訓(xùn)練數(shù)據(jù)、訓(xùn)練過的模型和預(yù)測(cè)基礎(chǔ)設(shè)施等。您不必四處移動(dòng)數(shù)據(jù),所以一切都更快。能夠更快的完成模型的增量再訓(xùn)練,因?yàn)槟P涂梢栽谙嗤沫h(huán)境中進(jìn)行再訓(xùn)練和部署。

      但是,有時(shí)可以在客戶端部署模型并從那里提供預(yù)測(cè)。這種方法比較好的應(yīng)用是在移動(dòng)領(lǐng)域,這一應(yīng)用領(lǐng)域的帶寬是非常重要的,適用于網(wǎng)絡(luò)連接不能保證或者不可靠的應(yīng)用。

      值得注意的是,在本地機(jī)器上進(jìn)行預(yù)測(cè)的質(zhì)量可能不高。由于本地存儲(chǔ)限制,所部署的模型規(guī)??赡茌^小,這會(huì)影響預(yù)測(cè)質(zhì)量。在智能手機(jī)等適合的設(shè)備上部署高精度模型變得越來越可行,這主要是通過稍微犧牲一些精度,以提高速度來實(shí)現(xiàn)的。有必要看一看存在問題的應(yīng)用程序,看看能否更好地在客戶端上部署經(jīng)過訓(xùn)練的模型,并定期刷新它,而不是通過遠(yuǎn)程API訪問它。

      還有另一種障礙:由于您可以在很多地方部署模型,因此,部署過程可能會(huì)很復(fù)雜。除非是逐個(gè)的部署應(yīng)用程序,否則,從任何一個(gè)受過訓(xùn)練的模型到任何一個(gè)目標(biāo)硬件、操作系統(tǒng)或者應(yīng)用程序,都不會(huì)有一致的路徑。盡管有越來越多的使用某種機(jī)器學(xué)習(xí)模型開發(fā)應(yīng)用程序的實(shí)踐活動(dòng),但是要找到一致的部署渠道還是有很大的壓力,這種復(fù)雜性并不會(huì)很快消失。

      機(jī)器學(xué)習(xí)管道并不是真正的管道

      管道這一術(shù)語意味著從一端單向流動(dòng)到另一端。在實(shí)際中,這種流動(dòng)是有周期性的:數(shù)據(jù)進(jìn)入,用于訓(xùn)練模型,然后隨著新數(shù)據(jù)的輸入,數(shù)據(jù)條件隨之發(fā)生變化,對(duì)模型的準(zhǔn)確性進(jìn)行評(píng)估和再訓(xùn)練。

      除了機(jī)器學(xué)習(xí)管道,除了需要專門關(guān)注的各個(gè)部分之外,現(xiàn)在我們沒有太多的選擇。不是因?yàn)槊總€(gè)階段有不同的功能,而是因?yàn)樗薪M成部分的端到端集成方式還很少。換句話說,并沒有管道,只是我們自己認(rèn)為是管道的一系列活動(dòng)。

      但是項(xiàng)目正在匯集在一起,以滿足實(shí)際管道這一需求。例如,Hadoop供應(yīng)商MapR有自己的“分布式深度學(xué)習(xí)快速入門解決方案”——把六節(jié)點(diǎn)一年許可的MapR Hadoop發(fā)行版,提供CPU/GPU支持的集成神經(jīng)網(wǎng)絡(luò)庫,以及專業(yè)咨詢服務(wù)結(jié)合在了一起。

      理想的解決方案將是一個(gè)完整的開源設(shè)計(jì)模式,涵蓋管道的每個(gè)階段,并提供與現(xiàn)有軟件連續(xù)交付系統(tǒng)的無縫體驗(yàn)。換句話說,像Wikibon的Gilbert所說的那樣,它構(gòu)成了“數(shù)據(jù)科學(xué)家的工具”。百度已經(jīng)宣布正在為數(shù)據(jù)科學(xué)家尋找一種開發(fā)工具,其中,Kubernetes是主要因素(MapR還用于協(xié)調(diào)其系統(tǒng)中節(jié)點(diǎn)間的工作),但是還沒有具體的實(shí)現(xiàn)。

      在那一天到來之前,我們必須安排好由內(nèi)而外的學(xué)習(xí)管道的方方面面。

      Serdar Yegulalp是InfoWorld的資深作家,主要工作是InfoWorld技術(shù)觀察新聞分析博客和定期評(píng)論。

      原文網(wǎng)址:

      http://www.infoworld.com/article/3198252/artificial-intelligence/data-in-intelligence-out-machine-learning-pipelines-demystified.html

      猜你喜歡
      規(guī)范化部署機(jī)器
      機(jī)器狗
      機(jī)器狗
      一種基于Kubernetes的Web應(yīng)用部署與配置系統(tǒng)
      晉城:安排部署 統(tǒng)防統(tǒng)治
      部署
      未來機(jī)器城
      電影(2018年8期)2018-09-21 08:00:06
      價(jià)格認(rèn)定的規(guī)范化之路
      商周刊(2017年23期)2017-11-24 03:24:09
      部署“薩德”意欲何為?
      太空探索(2016年9期)2016-07-12 10:00:02
      無敵機(jī)器蛛
      狂犬?、蠹?jí)暴露規(guī)范化預(yù)防處置實(shí)踐
      辽宁省| 桦甸市| 曲周县| 章丘市| 沙洋县| 金塔县| 万源市| 汶川县| 宁南县| 湟源县| 福海县| 高碑店市| 铜山县| 蒙城县| 宝清县| 庄河市| 大关县| 沙坪坝区| 盐边县| 洛阳市| 吉首市| 镇远县| 龙川县| 册亨县| 乳山市| 织金县| 宁德市| 陈巴尔虎旗| 新民市| 漯河市| 鱼台县| 洪湖市| 武穴市| 横峰县| 南投县| 阳东县| 吉安县| 宁陕县| 泰和县| 东莞市| 绍兴县|