自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

2021年機(jī)器學(xué)習(xí)怎么學(xué)?這份深度指南幫你做了總結(jié)!

人工智能 機(jī)器學(xué)習(xí)
在機(jī)器學(xué)習(xí)深入工業(yè)界時(shí),實(shí)際操作并沒有想象中那么簡單。要部署任何項(xiàng)目,都需要經(jīng)過完整的生命周期,而這個(gè)周期對于開發(fā)機(jī)器學(xué)習(xí)模型至關(guān)重要。此文深入全面總結(jié)了從零開始到正式上線過程中的所有步驟,并總結(jié)了各個(gè)步驟的常用工具。

在這個(gè)「人人AI」的時(shí)代,很多人都會或多或少接觸過機(jī)器學(xué)習(xí)(ML)。

似乎每一家需要數(shù)據(jù)的公司,都在嘗試?yán)萌斯ぶ悄芎蜋C(jī)器學(xué)習(xí)來分析他們的業(yè)務(wù)并提供自動化解決方案。

《財(cái)富》的商業(yè)洞察板塊(Fortune Business Insights)預(yù)計(jì),到2027年,機(jī)器學(xué)習(xí)的市值將達(dá)到1170億美元。

機(jī)器學(xué)習(xí)的火爆,使得許多沒有相關(guān)背景的新手也紛紛跨入該行業(yè)。當(dāng)然,這本身確實(shí)是一件好事,然而,我們也需要明白,將機(jī)器學(xué)習(xí)項(xiàng)目整合到實(shí)際生產(chǎn)環(huán)境中,其實(shí)遠(yuǎn)沒有想象的那么容易。

2021年機(jī)器學(xué)習(xí)怎么學(xué)?這份深度指南幫你做了總結(jié)

 

圖:Algorithmia公司基于750家企業(yè)得出的2020企業(yè)ML使用狀態(tài)圖像

 

Algorithmia公司經(jīng)過調(diào)查表示:55%從事機(jī)器學(xué)習(xí)模型的企業(yè)尚未將其投入生產(chǎn)

在這里可以一提的是,Algorithmia是一家提供簡化機(jī)器學(xué)習(xí)的平臺的創(chuàng)業(yè)公司,它在2017年6月已經(jīng)從谷歌那里完成了一項(xiàng)價(jià)值1050萬美元的a輪融資。

2021年機(jī)器學(xué)習(xí)怎么學(xué)?這份深度指南幫你做了總結(jié)

 

許多人似乎認(rèn)為,如果有了訓(xùn)練模型所需的數(shù)據(jù)和計(jì)算資源,實(shí)現(xiàn)機(jī)器學(xué)習(xí)項(xiàng)目是相當(dāng)簡單的。

但是,其實(shí)這是大錯(cuò)特錯(cuò)的——

這種假設(shè)很可能會導(dǎo)致在沒有部署模型的情況下,消耗大量的時(shí)間和金錢成本。

2021年機(jī)器學(xué)習(xí)怎么學(xué)?這份深度指南幫你做了總結(jié)

 

圖:機(jī)器學(xué)習(xí)生命周期的樸素假設(shè)

在本文中,我們將深入詳細(xì)地討論機(jī)器學(xué)習(xí)項(xiàng)目的生命周期實(shí)際上是什么樣子的,以及周期內(nèi)每個(gè)階段可以用到的一些工具。


沒有那么簡單:機(jī)器學(xué)習(xí)生命周期一覽

在現(xiàn)實(shí)中,機(jī)器學(xué)習(xí)項(xiàng)目并不簡單,它是一個(gè)在改進(jìn)數(shù)據(jù)、模型和評估之間循環(huán)往復(fù)的過程,并且永遠(yuǎn)不會真正完成。

這個(gè)循環(huán)對于開發(fā)機(jī)器學(xué)習(xí)模型至關(guān)重要,因?yàn)樗鼈?cè)重于使用模型結(jié)果和評估來細(xì)化數(shù)據(jù)集。此外,高質(zhì)量的數(shù)據(jù)集是訓(xùn)練高質(zhì)量模型最可靠的方法。

這個(gè)循環(huán)的迭代速度,決定了你需要花費(fèi)的成本。幸運(yùn)的是,有一些工具可以幫助你在不犧牲質(zhì)量的情況下,加速這個(gè)循環(huán)。

2021年機(jī)器學(xué)習(xí)怎么學(xué)?這份深度指南幫你做了總結(jié)

 

圖:機(jī)器學(xué)習(xí)生命周期的一個(gè)真實(shí)例子

 

與任何系統(tǒng)非常相似,即使是已經(jīng)部署的機(jī)器學(xué)習(xí)模型,也需要不斷的被監(jiān)控、維護(hù)和更新。我們不能只是部署一個(gè)模型,然后忘記它,期望它在接下來的時(shí)間里,像在測試集上一樣,在現(xiàn)實(shí)世界中有著很好的表現(xiàn)。

部署在現(xiàn)實(shí)世界環(huán)境中的機(jī)器學(xué)習(xí)模型需要被更新——因?yàn)槲覀儠l(fā)現(xiàn)模型中的偏差,或者添加新的數(shù)據(jù)源,或者需要額外的功能等等。

而這些都會將整個(gè)項(xiàng)目帶回到數(shù)據(jù)、模型和評估周期中。

下一節(jié),我們將深入探討機(jī)器學(xué)習(xí)生命周期的每個(gè)階段,并重點(diǎn)介紹各個(gè)階段可以用到的當(dāng)下流行的工具。


階段一:數(shù)據(jù)部分

2021年機(jī)器學(xué)習(xí)怎么學(xué)?這份深度指南幫你做了總結(jié)

 

圖:機(jī)器學(xué)習(xí)周期的數(shù)據(jù)部分

 

雖然大家的最終目標(biāo)是一個(gè)高質(zhì)量的模型,但訓(xùn)練一個(gè)好的模型的關(guān)鍵之一,在于傳遞給它的數(shù)據(jù)的數(shù)量。

機(jī)器學(xué)習(xí)生命周期中,數(shù)據(jù)方面的相關(guān)步驟是:

1、數(shù)據(jù)收集

第一步,是在不管最終的數(shù)據(jù)質(zhì)量的情況下,先收集盡可能多的原始數(shù)據(jù)。在這部分原始數(shù)據(jù)中,只有一小部分?jǐn)?shù)據(jù)會被注釋,這也是大部分成本的來源。

而當(dāng)模型性能出現(xiàn)問題時(shí),根據(jù)需要添加大量數(shù)據(jù)是很有用的。

下面是常用的公共數(shù)據(jù)集列表:

https://medium.com/towards-artificial-intelligence/best-datasets-for-machine-learning-data-science-computer-vision-nlp-ai-c9541058cf4f

 

2、定義注釋模式

這個(gè)環(huán)節(jié),是生命周期里數(shù)據(jù)階段最重要的部分之一,而它卻經(jīng)常被忽視。

如果構(gòu)造了不良的注釋模式,那么會出現(xiàn)不明確的類和邊緣案例,從而使訓(xùn)練模型變得更加困難。

例如,目標(biāo)檢測模型的性能很大程度上取決于大小、定位、方向和截?cái)嗟葘傩?。因此,在注釋期間將目標(biāo)大小、密度和遮擋等屬性囊括其中,有助于模型可以學(xué)習(xí)到數(shù)據(jù)中的關(guān)鍵信息。

下面兩個(gè)是有助于這個(gè)過程的常用工具:

Matplotlib, Plot - 幫你發(fā)現(xiàn)數(shù)據(jù)中的Plot屬性

Tableu -可以幫助你更好理解數(shù)據(jù)的分析平臺

 

3、數(shù)據(jù)注釋

給數(shù)據(jù)注釋是一個(gè)冗長乏味的過程,每次都要連續(xù)數(shù)小時(shí)地執(zhí)行相同重復(fù)的任務(wù),這也是注釋服務(wù)蓬勃發(fā)展的原因之一——很多人并不想親手花大量時(shí)間在注釋上。

而這樣會導(dǎo)致注釋者可能犯了很多錯(cuò)誤:雖然大多數(shù)注釋公司都會說明最大誤差率(例如2%的最大誤差率),但更大的問題是,如果定義不當(dāng)?shù)淖⑨屇J?,會?dǎo)致注釋者以不同的方式標(biāo)記樣本。

然而,注釋公司的團(tuán)隊(duì)很難發(fā)現(xiàn)這一點(diǎn),所以你需要自己檢查。

下面是常用的各種注釋服務(wù):

Scale, Labelbox, Prodigy - 流行的注釋服務(wù)

Mechanical Turk - 眾包注釋

CVAT - DIY的計(jì)算機(jī)視覺注釋

Doccano - NLP專用注釋工具

Centaur Labs -醫(yī)療數(shù)據(jù)標(biāo)簽服務(wù)

 

4、改進(jìn)數(shù)據(jù)集和注釋

在嘗試改進(jìn)模型性能時(shí),你可能會花費(fèi)大量的時(shí)間。

如果模型正在學(xué)習(xí)的過程中,但性能卻不佳,那么罪魁禍?zhǔn)讕缀蹩偸前詈湾e(cuò)誤的訓(xùn)練數(shù)據(jù)集,這些偏差和錯(cuò)誤限制了模型的性能上限

改進(jìn)模型通常會涉及到硬樣本挖掘(比如如果模型在數(shù)據(jù)集A上表現(xiàn)不好,那么就在訓(xùn)練數(shù)據(jù)中添加類似于數(shù)據(jù)集A的新數(shù)據(jù))、根據(jù)模型了解到的偏差重新平衡數(shù)據(jù)集,以及更新注釋模式以添加新標(biāo)簽和改進(jìn)現(xiàn)有標(biāo)簽。

下面是常用的改進(jìn)數(shù)據(jù)集和注釋的工具:

DAGsHub - 數(shù)據(jù)集版本控制

FiftyOne - 將數(shù)據(jù)可視化并找出錯(cuò)誤

 

階段二:模型部分

2021年機(jī)器學(xué)習(xí)怎么學(xué)?這份深度指南幫你做了總結(jié)

 

圖:機(jī)器學(xué)習(xí)生命周期中的模型部分

 

即使在這個(gè)過程中的輸出是「看起來很重要的模型」,但其實(shí),在整個(gè)循環(huán)當(dāng)中,這部分所需要花費(fèi)的時(shí)間是最少的。

2021年機(jī)器學(xué)習(xí)怎么學(xué)?這份深度指南幫你做了總結(jié)

 

圖:在工業(yè)界,花費(fèi)在數(shù)據(jù)集上的時(shí)間比花在模型上的時(shí)間更多

 

探索現(xiàn)有的預(yù)訓(xùn)練模型

 

這個(gè)環(huán)節(jié)的目標(biāo)是用盡可能多的可用資源,給建立模型的過程一個(gè)最好的開始。

「遷移學(xué)習(xí)」是當(dāng)今深度學(xué)習(xí)的核心內(nèi)容:我們可能不會從頭開始創(chuàng)建一個(gè)模型,而是對一個(gè)已存在的模型進(jìn)行微調(diào),而該模型是在相關(guān)任務(wù)上預(yù)先訓(xùn)練好的。

例如,如果你想創(chuàng)建一個(gè)口罩檢測模型,那么你可能會從GitHub下載一個(gè)預(yù)先訓(xùn)練好的人臉檢測模型,因?yàn)檫@個(gè)人臉檢測模型發(fā)展更成熟,更流行,也有更多的前期工作鋪墊。

下面是該環(huán)節(jié)常用的工具和方法:

FiftyOne model zoo - 使用一行代碼,即可下載和運(yùn)行模型

TensorFlow Hub - 訓(xùn)練過的ML模型倉庫

modelzoo.oo - 為包含了各種任務(wù)和庫預(yù)先訓(xùn)練的深度學(xué)習(xí)模型

 

構(gòu)建訓(xùn)練循環(huán)

你的數(shù)據(jù)可能并不會和用來預(yù)訓(xùn)練的數(shù)據(jù)完全屬于同一類型。

 

比如,對于圖像數(shù)據(jù)集,在為模型設(shè)置訓(xùn)練pipeline時(shí),需要考慮輸入分辨率和對象大小等因素。

 

此外,你還需要修改模型的輸出結(jié)構(gòu),以匹配標(biāo)簽的類和結(jié)構(gòu)。PyTorch lightning就提供了一種簡單的方法,使用這種方法,即可用有限的代碼擴(kuò)大模型訓(xùn)練。

 

下面是該環(huán)節(jié)常用的工具:

Scikit Learn - 構(gòu)建和可視化經(jīng)典機(jī)器學(xué)習(xí)系統(tǒng)

PyTorch, PyTorch Lightning, TensorFlow, TRAX - 流行的深度學(xué)習(xí)Python庫

Sagemaker - 在Sagemaker IDE中建立和訓(xùn)練機(jī)器學(xué)習(xí)系統(tǒng)

 

實(shí)驗(yàn)跟蹤

在整個(gè)周期內(nèi),這一環(huán)節(jié)可能需要多次迭代。

 

你最終會訓(xùn)練出很多不同的模型,所以你需要仔細(xì)地跟蹤模型的不同版本,以及訓(xùn)練時(shí)用到的超參數(shù)和數(shù)據(jù),這將極大地幫助你保持事情的條理性。

 

在這個(gè)過程中,常用的工具有:

Tensorbord,Weights & Biases,MLFlow - 可視化和跟蹤模型超參數(shù)

 

除此之外,這里還有一個(gè)小Tips

即使你認(rèn)為你的任務(wù)是完全獨(dú)特的,在訓(xùn)練前你也可以使用一些技巧。比如你可以研究一下非監(jiān)督或半監(jiān)督的方式對模型進(jìn)行預(yù)訓(xùn)練的方法,并且只使用全部原始數(shù)據(jù)的一小部分進(jìn)行微調(diào)。

根據(jù)任務(wù)情況,你還可以試著使用合成的數(shù)據(jù)去預(yù)訓(xùn)練你的模型。

這么做的目標(biāo)是能夠獲得一個(gè)可以很好地表示數(shù)據(jù)的模型,如此以來,你的微調(diào)數(shù)據(jù)集只需要用來訓(xùn)練幾個(gè)有價(jià)值的模型參數(shù)層即可。

 

階段三:評估部分

2021年機(jī)器學(xué)習(xí)怎么學(xué)?這份深度指南幫你做了總結(jié)

 

圖:機(jī)器學(xué)習(xí)生命周期中的評估部分

 

一旦你成功地獲得了一個(gè)學(xué)習(xí)過訓(xùn)練數(shù)據(jù)的模型,那么接下來就應(yīng)該深入研究它在「新數(shù)據(jù)」上的表現(xiàn)是如何的。

下面是評估機(jī)器學(xué)習(xí)模型的關(guān)鍵步驟:

 

可視化模型輸出

一旦有了一個(gè)訓(xùn)練好的模型,你需要立即運(yùn)行幾個(gè)測試的例子,并且觀察輸出結(jié)果。

這是在對整個(gè)測試集運(yùn)行評估之前,發(fā)現(xiàn)訓(xùn)練或者評估pipeline過程中是否有錯(cuò)誤的最好的方法。

此外,這個(gè)過程的結(jié)果還會讓你知道模型中是否有任何明顯的錯(cuò)誤——比如有兩個(gè)類被錯(cuò)誤標(biāo)記了。

你可以使用以下工具來輔助:

OpenCV, Numpy, Matplotlib - 可編寫自定義可視化腳本

FiftyOne - 可視化針對圖像和視頻此類計(jì)算機(jī)視覺任務(wù)中的輸出

 

選擇正確的衡量標(biāo)準(zhǔn)

在觀察到了幾個(gè)樣本的輸出結(jié)果之后,你需要提出一個(gè)或幾個(gè)衡量標(biāo)準(zhǔn),這可以幫助你比較模型的整體性能。

對于一個(gè)特定的任務(wù),為了確保獲得最佳模型,你需要創(chuàng)造一個(gè)與最終目標(biāo)相一致的模型衡量指標(biāo)。

與此同時(shí),當(dāng)你發(fā)現(xiàn)你想追蹤的其他重要特性時(shí),你還需要更新指標(biāo):舉個(gè)例子,比如你想檢測你創(chuàng)建的目標(biāo)檢測模型在小規(guī)模目標(biāo)上是如何表現(xiàn)的,那么你就可以使用「邊界框< 0.05」作為度量的標(biāo)準(zhǔn)之一。

不過需要注意的是,雖然這些度量指標(biāo)在比較多個(gè)模型的性能時(shí)很有用,但它們卻很少有助于開發(fā)者理解如何提高模型性能的過程。

這個(gè)過程中,下面一些工具較為常用:

  • Scikit Learn - 提供了通用的衡量指標(biāo)
  • Python, Numpy - 可以實(shí)現(xiàn)開發(fā)自定義指標(biāo)

 

看看失敗案例

你輸入的訓(xùn)練數(shù)據(jù)決定了模型的表現(xiàn),假設(shè)模型學(xué)到了一些信息,但是卻表現(xiàn)得比你預(yù)期的要差,那么你就需要看看數(shù)據(jù)了。

查看模型運(yùn)行良好的例子可能會很有用,但是查看模型預(yù)測錯(cuò)誤的例子是最重要的。在查看了足夠多的這些例子之后,你會逐漸發(fā)現(xiàn)模型在什么類型的例子上總會表現(xiàn)失敗。

例如,下面的圖像顯示了Open Images數(shù)據(jù)集的示例,有一個(gè)后輪呈現(xiàn)出了假陽性。這個(gè)假陽性結(jié)果的起因,來源于有一個(gè)注釋缺失了。因此,檢查一遍數(shù)據(jù)集中的所有注釋,并修正其他相似的錯(cuò)誤,可以幫助提高該模型在輪胎上的表現(xiàn)性能。

2021年機(jī)器學(xué)習(xí)怎么學(xué)?這份深度指南幫你做了總結(jié)

 

圖:來自Tyler Ganter

 

這一環(huán)節(jié)中,常用的工具有:

FiftyOne、Aquarium, Scale Nucleus - 可以通過調(diào)試數(shù)據(jù)集來發(fā)現(xiàn)錯(cuò)誤

 

制定解決方案

找出提升模型性能的方法的第一步,是明確失敗案例的特征。

在大部分情況下,你需要通過添加訓(xùn)練數(shù)據(jù)來解決問題,但訓(xùn)練數(shù)據(jù)不是隨意添加的,而應(yīng)該是哪些和測試失敗例子相似的數(shù)據(jù)。此外,你還可以改變pipeline中的預(yù)處理或者后續(xù)處理的過程,或者修正注釋。

不管解決方案是什么,它都是起源于對模型的失敗例子的理解而產(chǎn)生的。

 

階段四:生產(chǎn)部分

2021年機(jī)器學(xué)習(xí)怎么學(xué)?這份深度指南幫你做了總結(jié)

 

圖:部署一個(gè)模型

在這個(gè)階段,你終于得到了一個(gè)在評估指標(biāo)上表現(xiàn)還不錯(cuò)的模型,并且在邊緣樣本上不會產(chǎn)生重大錯(cuò)誤。

現(xiàn)在,你需要做什么呢?

 

監(jiān)控模型

在這一步驟中, 你需要測試部署情況,以確保模型在測試數(shù)據(jù)中,仍然按照你的評估指標(biāo)和推斷速度等方面的指標(biāo)來執(zhí)行。

 

這一階段中,常用的工具有:

Pachyderm, Algorithmia, Datarobot, Kubeflow, MLFlow - 可以幫助你對模型和pipeline軍星部署和監(jiān)控

Amazon Web Services,Google AutoML, Microsoft Azure - 這些是基于云的機(jī)器學(xué)習(xí)模型解決方案

 

評估新數(shù)據(jù)

在實(shí)際生產(chǎn)過程中使用訓(xùn)練好的模型,意味著你需要經(jīng)常將從來沒有在該模型上測試過的數(shù)據(jù)不斷地輸入到整個(gè)框架當(dāng)中。

在這個(gè)過程中,有一些舉措特別重要:1 用你指定的衡量指標(biāo)對這些新數(shù)據(jù)進(jìn)行評估 2 深入觀察特別的例子,使用這些舉措,你可以發(fā)現(xiàn)模型在新數(shù)據(jù)上的具體表現(xiàn)情況。

 

繼續(xù)理解模型

模型中的一些誤差和偏見可能是根深蒂固的,并且需要很長時(shí)間才能被發(fā)現(xiàn)。

在這個(gè)過程中,你需要不斷測試和探索你的模型,以發(fā)現(xiàn)各種可能導(dǎo)致模型出現(xiàn)問題的邊緣情況以及趨勢,不然,這些問題就可能會被客戶發(fā)現(xiàn)。

 

擴(kuò)展功能

即使一切都很完美,模型也可能并沒有給你帶來預(yù)期中的利潤。

有無數(shù)種方法可以擴(kuò)展當(dāng)前模型的功能:比如添加新類、開發(fā)新數(shù)據(jù)流以及提高現(xiàn)有模型的效率——這些舉措都會使當(dāng)前模型變得更好。

此外,只要想提升系統(tǒng)的性能,那么你都需要重新啟動機(jī)器學(xué)習(xí)的生命周期,來更新數(shù)據(jù)和模型,并對其進(jìn)行評估,以此來確保新的系統(tǒng)可以按照預(yù)期來順利工作。

參考鏈接:

https://towardsdatascience.com/the-machine-learning-lifecycle-in-2021-473717c633bc 

 

責(zé)任編輯:龐桂玉 來源: 今日頭條
相關(guān)推薦

2021-09-27 10:19:24

機(jī)器學(xué)習(xí)情緒分析工具AI人工智能

2018-06-28 20:47:18

人工智能機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2017-09-05 08:14:09

深度學(xué)習(xí)語音合成

2017-05-11 12:22:10

2018-02-06 09:47:32

windows系統(tǒng)優(yōu)化系統(tǒng)卡頓

2021-08-17 08:51:38

機(jī)器學(xué)習(xí)人工智能

2021-02-14 00:39:57

機(jī)器學(xué)習(xí)技術(shù)人工智能

2020-12-03 08:01:42

機(jī)器學(xué)習(xí)人工智能AI

2020-12-08 13:42:41

機(jī)器學(xué)習(xí)人工智能

2017-09-26 13:52:52

深度學(xué)習(xí)機(jī)器學(xué)習(xí)思維導(dǎo)圖

2024-07-12 15:27:58

2021-03-24 09:55:51

人工智能AI機(jī)器學(xué)習(xí)

2017-11-07 12:36:26

2017-01-19 08:35:51

數(shù)據(jù)科學(xué)深度學(xué)習(xí)機(jī)器學(xué)習(xí)

2017-08-17 11:11:41

深度學(xué)習(xí)弱智能機(jī)器學(xué)習(xí)

2021-01-01 14:59:51

Python機(jī)器學(xué)習(xí)算法

2023-03-01 08:00:00

機(jī)器學(xué)習(xí)數(shù)據(jù)集

2019-02-19 09:07:42

GAN生成對抗網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)

2020-12-24 06:59:02

機(jī)器學(xué)習(xí)MLAI

2021-03-30 13:45:00

人工智能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號