【译】What do machine learning practitioners actually do?
這篇文章是系列文章的第1部分。 第2部分是對(duì)AutoML和神經(jīng)架構(gòu)搜索的固有介紹, 第3部分特別關(guān)注Google的AutoML。
關(guān)于機(jī)器學(xué)習(xí)人才稀缺 (見(jiàn)這里 , 這里和這里 )以及聲稱(chēng)他們的產(chǎn)品自動(dòng)化機(jī)器學(xué)習(xí)并完全消除對(duì)ML專(zhuān)業(yè)知識(shí)的需求的公司的承諾經(jīng)常成為媒體的頭條新聞(見(jiàn)這里 , 這里和這里 ) )。 在TensorFlow DevSummit的主題演講中,Google的AI Jeff負(fù)責(zé)人估計(jì), 有數(shù)千萬(wàn)組織擁有可用于機(jī)器學(xué)習(xí)的電子數(shù)據(jù),但缺乏必要的專(zhuān)業(yè)知識(shí)和技能 。 我密切關(guān)注這些問(wèn)題,因?yàn)槲?在fast.ai的 工作重點(diǎn)是讓更多人使用機(jī)器學(xué)習(xí)并使其更易于使用。
在考慮如何使機(jī)器學(xué)習(xí)的一些工作自動(dòng)化,以及如何使具有更多背景的人更容易獲得它時(shí),首先需要問(wèn)的是,機(jī)器學(xué)習(xí)從業(yè)者做了什么? 解決機(jī)器學(xué)習(xí)專(zhuān)業(yè)知識(shí)不足的任何解決方案都需要回答這個(gè)問(wèn)題:是否我們知道要教什么技能,要建立什么工具,或者自動(dòng)化什么過(guò)程。
機(jī)器學(xué)習(xí)從業(yè)者做什么? (來(lái)源:#WOCinTech Chat)
這篇文章是3部分系列中的第一篇。 它將解決機(jī)器學(xué)習(xí)從業(yè)者所做的事情,第2部分解釋了AutoML和神經(jīng)架構(gòu)搜索(幾位知名人士建議將是減少數(shù)據(jù)科學(xué)家需求的關(guān)鍵),第3部分將介紹Google大肆炒作的AutoML產(chǎn)品尤其是。
構(gòu)建數(shù)據(jù)產(chǎn)品是復(fù)雜的工作
雖然許多學(xué)術(shù)機(jī)器學(xué)習(xí)源幾乎專(zhuān)注于預(yù)測(cè)建模,但這只是機(jī)器學(xué)習(xí)從業(yè)者在野外做的一件事。 適當(dāng)?shù)貥?gòu)建業(yè)務(wù)問(wèn)題,收集和清理數(shù)據(jù),構(gòu)建模型,實(shí)施結(jié)果,然后監(jiān)控變更的過(guò)程以多種方式相互關(guān)聯(lián),這往往使得很難僅僅通過(guò)單個(gè)部分進(jìn)行孤立(至少不是意識(shí)到其他部分需要的東西)。 正如Jeremy Howard等人。 在設(shè)計(jì)出色的數(shù)據(jù)產(chǎn)品時(shí)寫(xiě)道, 偉大的預(yù)測(cè)建模是解決方案的重要組成部分,但它不再獨(dú)立; 隨著產(chǎn)品變得越來(lái)越復(fù)雜,它就會(huì)消失在管道中。
構(gòu)建數(shù)據(jù)產(chǎn)品是復(fù)雜的工作(來(lái)源:Wikimedia Commons)
Google,D. Sculley等人的團(tuán)隊(duì)撰寫(xiě)了經(jīng)典的機(jī)器學(xué)習(xí):技術(shù)債務(wù)的高利率信用卡,關(guān)于在實(shí)踐中使用機(jī)器學(xué)習(xí)時(shí)經(jīng)常創(chuàng)建的代碼復(fù)雜性和技術(shù)債務(wù)。 作者確定了許多系統(tǒng)級(jí)別的交互,風(fēng)險(xiǎn)和反模式,包括:
- 膠水代碼 :為了將數(shù)據(jù)輸入和輸出通用軟件包而編寫(xiě)的大量支持代碼
- 管道叢林 :以ML友好格式準(zhǔn)備數(shù)據(jù)的系統(tǒng)可能成為刮擦,連接和采樣步驟的叢林,通常帶有中間文件輸出
- 重新使用輸入信號(hào)的方式會(huì)導(dǎo)致其他不相交系統(tǒng)的意外緊耦合
- 外部世界的變化可能使模型或輸入信號(hào)以非預(yù)期的方式改變行為的風(fēng)險(xiǎn),這些可能難以監(jiān)控
作者寫(xiě)道, 真實(shí)世界“機(jī)器學(xué)習(xí)”工作的一個(gè)重要部分是致力于解決這種形式的問(wèn)題...值得注意的是,膠水代碼和管道叢林是整合問(wèn)題的癥狀,可能是過(guò)度分離的研究的根本原因“和”工程“角色 ......學(xué)術(shù)界可能會(huì)驚訝地發(fā)現(xiàn),許多機(jī)器學(xué)習(xí)系統(tǒng)中只有很小一部分代碼實(shí)際上在進(jìn)行”機(jī)器學(xué)習(xí)“ 。 (強(qiáng)調(diào)我的)
當(dāng)機(jī)器學(xué)習(xí)項(xiàng)目失敗時(shí)
在上一篇文章中 ,我發(fā)現(xiàn)了一些故障模式,其中機(jī)器學(xué)習(xí)項(xiàng)目在工作場(chǎng)所無(wú)效:
- 數(shù)據(jù)科學(xué)團(tuán)隊(duì)構(gòu)建了非??岬臇|西,永遠(yuǎn)不會(huì)被使用。 對(duì)于他們正在進(jìn)行的工作,組織的其余部分沒(méi)有任何支持,而且一些數(shù)據(jù)科學(xué)家對(duì)實(shí)際生產(chǎn)的內(nèi)容并不十分了解。
- 有一個(gè)積壓數(shù)據(jù)科學(xué)家生產(chǎn)模型的速度比工程支持生產(chǎn)模型要快得多。
- 數(shù)據(jù)基礎(chǔ)設(shè)施工程師與數(shù)據(jù)科學(xué)家分開(kāi)。 管道沒(méi)有數(shù)據(jù)科學(xué)家現(xiàn)在要求的數(shù)據(jù),數(shù)據(jù)科學(xué)家也在利用基礎(chǔ)設(shè)施工程師收集的數(shù)據(jù)源。
- 該公司已明確決定功能/產(chǎn)品X.他們需要數(shù)據(jù)科學(xué)家來(lái)收集支持此決策的一些數(shù)據(jù)。 數(shù)據(jù)科學(xué)家感覺(jué)PM正在忽略與決策相矛盾的數(shù)據(jù); PM認(rèn)為數(shù)據(jù)科學(xué)家忽視了其他業(yè)務(wù)邏輯。
- 數(shù)據(jù)科學(xué)團(tuán)隊(duì)采訪(fǎng)了具有令人印象深刻的數(shù)學(xué)建模和工程技 一旦被聘用,候選人就會(huì)嵌入到需要簡(jiǎn)單業(yè)務(wù)分析的垂直產(chǎn)品團(tuán)隊(duì)中。 數(shù)據(jù)科學(xué)家很無(wú)聊,沒(méi)有利用他們的技能。
我將這些視為原始帖子中的組織失敗,但它們也可以被描述為各種參與者過(guò)分關(guān)注構(gòu)成完整數(shù)據(jù)產(chǎn)品的復(fù)雜系統(tǒng)的一部分。 這些是數(shù)據(jù)產(chǎn)品管道的不同部分之間的通信失敗和目標(biāo)對(duì)齊。
那么,機(jī)器學(xué)習(xí)從業(yè)者會(huì)做些什么呢?
如上所述,構(gòu)建機(jī)器學(xué)習(xí)產(chǎn)品是一項(xiàng)多方面且復(fù)雜的任務(wù)。 以下是機(jī)器學(xué)習(xí)從業(yè)者在此過(guò)程中可能需要做的一些事情:
理解上下文 :
- 確定可以從機(jī)器學(xué)習(xí)中受益的業(yè)務(wù)領(lǐng)域
- 與其他利益相關(guān)者溝通有關(guān)機(jī)器學(xué)習(xí)是什么和不具備的能力(通常存在許多誤解)
- 了解業(yè)務(wù)戰(zhàn)略,風(fēng)險(xiǎn)和目標(biāo),確保每個(gè)人都在同一頁(yè)面上
- 確定組織擁有哪種數(shù)據(jù)
- 適當(dāng)?shù)貥?gòu)建和范圍任務(wù)
- 理解操作約束(例如,在推理時(shí)間實(shí)際可用的數(shù)據(jù))
- 主動(dòng)識(shí)別道德風(fēng)險(xiǎn),包括騷擾者,巨魔,專(zhuān)制政府如何濫用您的工作,或進(jìn)行宣傳/虛假宣傳活動(dòng)(并計(jì)劃如何降低這些風(fēng)險(xiǎn))
- 識(shí)別潛在的偏見(jiàn)和潛在的負(fù)反饋循環(huán)
數(shù)據(jù) :
- 制定計(jì)劃以收集更多不同的數(shù)據(jù)(如果需要,如果可能的話(huà))
- 將來(lái)自許多不同來(lái)源的數(shù)據(jù)拼接在一起:這些數(shù)據(jù)通常以不同的格式或不一致的慣例收集
- 處理丟失或損壞的數(shù)據(jù)
- 可視化數(shù)據(jù)
- 創(chuàng)建適當(dāng)?shù)呐嘤?xùn),驗(yàn)證和測(cè)試集
建模 :
- 選擇使用哪種型號(hào)
- 將模型資源需求納入約束(例如,完成的模型是否需要在邊緣設(shè)備上運(yùn)行,在低內(nèi)存或高延遲環(huán)境中運(yùn)行等)
- 選擇超參數(shù)(例如,在深度學(xué)習(xí)的情況下,這包括選擇架構(gòu),損失函數(shù)和優(yōu)化器)
- 訓(xùn)練模型(并調(diào)試為什么不訓(xùn)練)。 這可能涉及:
- 調(diào)整超量計(jì)(例如學(xué)習(xí)率)
- 輸出中間結(jié)果,以查看損失,訓(xùn)練錯(cuò)誤和驗(yàn)證錯(cuò)誤如何隨時(shí)間變化
- 檢查模型錯(cuò)誤的數(shù)據(jù)以查找模式
- 識(shí)別潛在的錯(cuò)誤或數(shù)據(jù)問(wèn)題
- 意識(shí)到您需要改變清理和預(yù)處理數(shù)據(jù)的方式
- 意識(shí)到您需要更多或不同的數(shù)據(jù)擴(kuò)充
- 意識(shí)到你需要更多或不同的數(shù)據(jù)
- 嘗試不同的模型
- 確定您是否適應(yīng)不足或過(guò)度
生產(chǎn) :
- 使用您的模型作為端點(diǎn)創(chuàng)建API或Web應(yīng)用程序以進(jìn)行生產(chǎn)
- 將模型導(dǎo)出為所需的格式
- 計(jì)劃您的模型需要使用更新的數(shù)據(jù)進(jìn)行再培訓(xùn)的頻率(例如,您可能會(huì)每晚或每周重新培訓(xùn))
監(jiān)控 :
- 跟蹤模型隨時(shí)間的表現(xiàn)
- 監(jiān)控輸入數(shù)據(jù),以確定它是否隨著時(shí)間的推移而變化,從而使模型無(wú)效
- 將您的結(jié)果傳達(dá)給組織的其他成員
- 制定計(jì)劃,監(jiān)督和應(yīng)對(duì)錯(cuò)誤或意外后果
當(dāng)然,并非每個(gè)機(jī)器學(xué)習(xí)從業(yè)者都需要完成上述所有步驟,但此過(guò)程的組件將成為許多機(jī)器學(xué)習(xí)應(yīng)用程序的一部分。 即使您只是處理這些步驟的一部分,熟悉其余過(guò)程也有助于確保您不會(huì)忽視會(huì)妨礙項(xiàng)目成功的注意事項(xiàng)!
機(jī)器學(xué)習(xí)中最困難的兩個(gè)部分
對(duì)于我和我認(rèn)識(shí)的許多其他人,我要強(qiáng)調(diào)機(jī)器學(xué)習(xí)(特別是深度學(xué)習(xí))中最耗時(shí)和最令人沮喪的兩個(gè)方面:
清潔數(shù)據(jù)真的是ML的一部分嗎? 是。
處理數(shù)據(jù)格式化,不一致和錯(cuò)誤通常是一個(gè)混亂和繁瑣的過(guò)程。 人們有時(shí)會(huì)將機(jī)器學(xué)習(xí)描述為與數(shù)據(jù)科學(xué)分開(kāi),就像機(jī)器學(xué)習(xí)一樣,您可以從完美清理的格式化數(shù)據(jù)集開(kāi)始。 但是,根據(jù)我的經(jīng)驗(yàn),清理數(shù)據(jù)集和訓(xùn)練模型的過(guò)程通常是交織在一起的:我經(jīng)常在模型訓(xùn)練中發(fā)現(xiàn)導(dǎo)致我返回并改變輸入數(shù)據(jù)的預(yù)處理的問(wèn)題。
處理雜亂和不一致的數(shù)據(jù)是必要的
訓(xùn)練深度學(xué)習(xí)模型是脆弱和挑剔(目前)
讓模特去訓(xùn)練的困難阻礙了許多初學(xué)者,他們常常感到沮喪。 甚至專(zhuān)家經(jīng)常抱怨培訓(xùn)過(guò)程有多么令人沮喪和變幻無(wú)常 。 斯坦福大學(xué)的一位人工智能研究員告訴我 , 我教過(guò)深度學(xué)習(xí)課程,并讓所有學(xué)生都做自己的項(xiàng)目。 真是太難了。 學(xué)生們無(wú)法讓他們的模型進(jìn)行訓(xùn)練,我們就像“嗯,這是深刻的學(xué)習(xí)”。 擁有十多年經(jīng)驗(yàn)并獲得NIPS 2017年度時(shí)間獎(jiǎng)的人工智能研究員Ali Rahimi在他的NIPS獎(jiǎng)?lì)C獎(jiǎng)演講中抱怨培訓(xùn)的脆弱性。 你們當(dāng)中有多少人從零開(kāi)始設(shè)計(jì)了一個(gè)深層網(wǎng),從頭開(kāi)始構(gòu)建它,建筑物和所有,當(dāng)它不起作用時(shí),你對(duì)自己感覺(jué)不好? 拉希米向人工智能研究人員詢(xún)問(wèn),許多人舉手。 拉希米繼續(xù)說(shuō), 大概每3個(gè)月發(fā)生一次。
甚至AI專(zhuān)家有時(shí)也難以培訓(xùn)新模型這一事實(shí)意味著該過(guò)程尚未以可將其納入通用產(chǎn)品的方式實(shí)現(xiàn)自動(dòng)化。 深度學(xué)習(xí)的一些最大進(jìn)步將通過(guò)發(fā)現(xiàn)更強(qiáng)大的訓(xùn)練方法來(lái)實(shí)現(xiàn) 。 我們已經(jīng)看到了一些像輟學(xué), 超融合和轉(zhuǎn)移學(xué)習(xí)這樣的進(jìn)步,所有這些都使訓(xùn)練變得更容易。 通過(guò)轉(zhuǎn)移學(xué)習(xí)的力量(將在第3部分中討論),當(dāng)為足夠狹窄的問(wèn)題域定義時(shí),培訓(xùn)可以是一個(gè)健壯的過(guò)程; 但是,我們?nèi)匀挥修k法讓訓(xùn)練更加健壯。
對(duì)于學(xué)術(shù)研究人員
即使您正在進(jìn)行理論機(jī)器學(xué)習(xí)研究,理解處理實(shí)際問(wèn)題的機(jī)器學(xué)習(xí)從業(yè)者所經(jīng)歷的過(guò)程也是有用的,因?yàn)檫@可能會(huì)提供關(guān)于最相關(guān)或最具影響力的研究領(lǐng)域的見(jiàn)解。
正如Googler工程師D. Sculley等人。 寫(xiě)道 , 技術(shù)債務(wù)是工程師和研究人員需要注意的問(wèn)題。 以大幅提高系統(tǒng)復(fù)雜性為代價(jià)提供微小精度優(yōu)勢(shì)的研究解決方案很少是明智的做法 ......降低技術(shù)債務(wù)并不總是像證明新定理那樣令人興奮,但它是持續(xù)強(qiáng)勁創(chuàng)新的關(guān)鍵部分。 為復(fù)雜的機(jī)器學(xué)習(xí)系統(tǒng)開(kāi)發(fā)全面,優(yōu)雅的解決方案是非常有益的工作。 (強(qiáng)調(diào)我的)
AutoML
現(xiàn)在我們已經(jīng)概述了機(jī)器學(xué)習(xí)從業(yè)者在其工作中所做的一些任務(wù),我們已經(jīng)準(zhǔn)備好評(píng)估自動(dòng)完成這項(xiàng)工作的嘗試。 顧名思義, AutoML是一個(gè)專(zhuān)注于自動(dòng)化機(jī)器學(xué)習(xí)的領(lǐng)域,而AutoML的子領(lǐng)域稱(chēng)為神經(jīng)架構(gòu)搜索 ,目前正受到大量關(guān)注。 在第2部分中,我將解釋AutoML和神經(jīng)架構(gòu)搜索是什么,在第3部分中,特別關(guān)注Google的AutoML。
?
http://www.fast.ai/2018/07/12/auto-ml-1/
總結(jié)
以上是生活随笔為你收集整理的【译】What do machine learning practitioners actually do?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Guide To Using The G
- 下一篇: 【译】An Opinionated In