選自neptune.ai
作者:Harshil Patel
機(jī)器之心編譯
在機(jī)器學(xué)習(xí)領(lǐng)域,數(shù)據(jù)重要還是模型重要?這是一個(gè)很難回答的問(wèn)題。
模型和數(shù)據(jù)是 AI 系統(tǒng)的基礎(chǔ),這兩個(gè)組件在模型的開(kāi)發(fā)中扮演著重要的角色。
人工智能領(lǐng)域最權(quán)威的學(xué)者之一吳恩達(dá)曾提出「80% 的數(shù)據(jù) + 20% 的模型 = 更好的機(jī)器學(xué)習(xí)」,他認(rèn)為一個(gè)團(tuán)隊(duì)研究 80% 的工作應(yīng)該放在數(shù)據(jù)準(zhǔn)備上,數(shù)據(jù)質(zhì)量是重要的,但很少有人在乎。如果更多地強(qiáng)調(diào)以數(shù)據(jù)為中心而不是以模型為中心,機(jī)器學(xué)習(xí)會(huì)發(fā)展的更快。
我們不禁會(huì)問(wèn),機(jī)器學(xué)習(xí)的進(jìn)步是模型帶來(lái)的還是數(shù)據(jù)帶來(lái)的,目前還沒(méi)有一個(gè)明確的答案。
在本文中,Android 開(kāi)發(fā)者和機(jī)器學(xué)習(xí)愛(ài)好者 Harshil Patel 介紹了「機(jī)器學(xué)習(xí):以數(shù)據(jù)為中心 VS 以模型為中心」,通過(guò)對(duì)比以確定兩者中哪個(gè)更重要,此外,Patel 還介紹了如何使用以數(shù)據(jù)為中心的基礎(chǔ)設(shè)施。
以數(shù)據(jù)為中心的方法 VS 以模型為中心的方法
以模型為中心的方法意味著需要通過(guò)實(shí)驗(yàn)來(lái)提高機(jī)器學(xué)習(xí)模型性能,這涉及模型架構(gòu)的選擇、訓(xùn)練過(guò)程。而在以模型為中心的方法中,你需要保持?jǐn)?shù)據(jù)相同,通過(guò)改進(jìn)代碼和模型架構(gòu)來(lái)提高性能。此外,對(duì)代碼的改進(jìn)是以模型為中心的根本目標(biāo)。
目前,大多數(shù) AI 應(yīng)用都是以模型為中心的,其中一個(gè)可能的原因是學(xué)術(shù)研究非常重視 AI 領(lǐng)域。根據(jù)吳恩達(dá)的說(shuō)法,AI 領(lǐng)域 90% 以上的研究論文都是以模型為中心的,因?yàn)槲覀兒茈y創(chuàng)建大型數(shù)據(jù)集,使其成為公認(rèn)的標(biāo)準(zhǔn)。因此,AI 社區(qū)認(rèn)為以模型為中心的機(jī)器學(xué)習(xí)更有前景。研究者在專注于模型的同時(shí),往往會(huì)忽略數(shù)據(jù)的重要性。
對(duì)于研究者而言,數(shù)據(jù)是每個(gè)決策過(guò)程的核心,以數(shù)據(jù)為中心的公司通過(guò)使用其運(yùn)營(yíng)產(chǎn)生的信息,可以獲得更準(zhǔn)確、更有條理、更透明的結(jié)果,從而可以幫助公司組織更順利地運(yùn)行。以數(shù)據(jù)為中心的方法涉及系統(tǒng)地改進(jìn)、改進(jìn)數(shù)據(jù)集,以提高 ML 應(yīng)用程序的準(zhǔn)確性,對(duì)數(shù)據(jù)進(jìn)行處理是以數(shù)據(jù)為中心的中心目標(biāo)。
數(shù)據(jù)驅(qū)動(dòng) VS 以數(shù)據(jù)為中心
許多人經(jīng)?;煜敢詳?shù)據(jù)為中心」和「數(shù)據(jù)驅(qū)動(dòng)」這兩個(gè)概念。數(shù)據(jù)驅(qū)動(dòng)是一種從數(shù)據(jù)中收集、分析和提取見(jiàn)解的方法,它有時(shí)被稱為「分析」。另一方面,以數(shù)據(jù)為中心的方法側(cè)重于使用數(shù)據(jù)來(lái)定義應(yīng)該首先創(chuàng)建的內(nèi)容;而以數(shù)據(jù)為中心的架構(gòu)指的是一個(gè)系統(tǒng),其中數(shù)據(jù)是主要和永久的資產(chǎn)。數(shù)據(jù)驅(qū)動(dòng)架構(gòu)意味著通過(guò)利用大量數(shù)據(jù)來(lái)創(chuàng)建技術(shù)、技能和環(huán)境。
對(duì)于數(shù)據(jù)科學(xué)家和機(jī)器學(xué)習(xí)工程師來(lái)說(shuō),以模型為中心的方法似乎更受歡迎。這是因?yàn)閺臉I(yè)者可以利用自身知識(shí)儲(chǔ)備來(lái)解決特定問(wèn)題。另一方面,沒(méi)有人愿意花大量時(shí)間去標(biāo)注數(shù)據(jù)。
然而,在當(dāng)今的機(jī)器學(xué)習(xí)中,數(shù)據(jù)至關(guān)重要,但在 AI 發(fā)展中卻經(jīng)常被忽視和處理不當(dāng)。由于數(shù)據(jù)錯(cuò)誤,研究者可能花費(fèi)大量時(shí)間進(jìn)行查錯(cuò)。模型精度較低的根本原因可能不是來(lái)自模型本身,而是來(lái)自錯(cuò)誤的數(shù)據(jù)集。
除了關(guān)注數(shù)據(jù)外,模型和代碼也很重要。但研究者往往傾向于在關(guān)注模型的同時(shí)忽略數(shù)據(jù)的重要性。最好的方法是同時(shí)關(guān)注數(shù)據(jù)和模型的混合方法。根據(jù)應(yīng)用程序的不同,研究者應(yīng)該兼顧數(shù)據(jù)和模型。
以數(shù)據(jù)為中心的基礎(chǔ)架構(gòu)
以模型為中心的機(jī)器學(xué)習(xí)系統(tǒng)主要關(guān)注模型架構(gòu)優(yōu)化及其參數(shù)優(yōu)化。
以模型為中心的 ML 應(yīng)用程序
上圖中描述的是以模型為中心的工作流適用于少數(shù)行業(yè),如媒體、廣告、醫(yī)療保健或制造業(yè)。但也可能面臨如下挑戰(zhàn):
需要高級(jí)定制系統(tǒng):不同于媒體和廣告行業(yè),許多企業(yè)無(wú)法使用單一的機(jī)器學(xué)習(xí)系統(tǒng)來(lái)檢測(cè)其產(chǎn)品的生產(chǎn)故障。雖然媒體公司可以負(fù)擔(dān)得起有一個(gè)完整的 ML 部門(mén)來(lái)處理優(yōu)化問(wèn)題,但需要多個(gè) ML 解決方案的制造企業(yè)不能按照這樣的模板進(jìn)行實(shí)施;
大型數(shù)據(jù)集的重要性:在大多數(shù)情況下,公司沒(méi)有大量數(shù)據(jù)可供使用。相反,他們經(jīng)常被迫處理微小的數(shù)據(jù)集,如果他們的方法是以模型為中心的,那么這些數(shù)據(jù)集很容易產(chǎn)生令人失望的結(jié)果。
吳恩達(dá)曾在他的 AI 演講中解釋了他如何相信以數(shù)據(jù)為中心的 ML 更有價(jià)值,并倡導(dǎo)社區(qū)朝著以數(shù)據(jù)為中心的方向發(fā)展。他曾經(jīng)舉了一個(gè)「鋼鐵缺陷檢測(cè)」的例子,其中以模型為中心的方法未能提高模型的準(zhǔn)確率,而以數(shù)據(jù)為中心的方法將準(zhǔn)確率提高了 16%。
以數(shù)據(jù)為中心的 ML 應(yīng)用程序
在實(shí)施以數(shù)據(jù)為中心的架構(gòu)時(shí),可以將數(shù)據(jù)視為比應(yīng)用程序和基礎(chǔ)架構(gòu)更耐用的基本資產(chǎn)。以數(shù)據(jù)為中心的 ML 使數(shù)據(jù)共享和移動(dòng)變得簡(jiǎn)單。那么,在以數(shù)據(jù)為中心的機(jī)器學(xué)習(xí)到底涉及什么?在實(shí)現(xiàn)以數(shù)據(jù)為中心的方法時(shí),我們應(yīng)該考慮以下因素:
數(shù)據(jù)標(biāo)簽質(zhì)量:當(dāng)大量的圖像被錯(cuò)誤標(biāo)記時(shí),會(huì)出現(xiàn)意想不到的錯(cuò)誤,因此需要提高數(shù)據(jù)標(biāo)注質(zhì)量;
數(shù)據(jù)增強(qiáng):讓有限的數(shù)據(jù)產(chǎn)生更多的數(shù)據(jù),增加訓(xùn)練樣本的數(shù)量以及多樣性(噪聲數(shù)據(jù)),提升模型穩(wěn)健性;
特征工程:通過(guò)改變輸入數(shù)據(jù)、先驗(yàn)知識(shí)或算法向模型添加特征,常被用于機(jī)器學(xué)習(xí),以幫助提高預(yù)測(cè)模型的準(zhǔn)確性;
數(shù)據(jù)版本控制:開(kāi)發(fā)人員通過(guò)比較兩個(gè)版本來(lái)跟蹤錯(cuò)誤并查看沒(méi)有意義的內(nèi)容,數(shù)據(jù)版本控制是維護(hù)數(shù)據(jù)中最不可或缺的步驟之一,它可以幫助研究者跟蹤數(shù)據(jù)集的更改(添加和刪除),版本控制使代碼協(xié)作和數(shù)據(jù)集管理變得更加容易;
領(lǐng)域知識(shí):在以數(shù)據(jù)為中心的方法中,領(lǐng)域知識(shí)非常有價(jià)值。領(lǐng)域?qū)<彝ǔ?梢詸z測(cè)到 ML 工程師、數(shù)據(jù)科學(xué)家和標(biāo)注人員無(wú)法檢測(cè)到的細(xì)微差異,ML 系統(tǒng)中仍然缺少涉及領(lǐng)域?qū)<业膬?nèi)容。如果有額外的領(lǐng)域知識(shí)可用,ML 系統(tǒng)可能會(huì)表現(xiàn)得更好。
應(yīng)該優(yōu)先考慮哪一個(gè):數(shù)據(jù)數(shù)量還是數(shù)據(jù)質(zhì)量?
需要強(qiáng)調(diào)的是,數(shù)據(jù)量多并不等同于數(shù)據(jù)質(zhì)量好。當(dāng)然,訓(xùn)練神經(jīng)網(wǎng)絡(luò)不能只用幾張圖就能完成,數(shù)據(jù)數(shù)量是一個(gè)方面,但現(xiàn)在的重點(diǎn)是質(zhì)量而不是數(shù)量。
如上圖所示,大多數(shù) Kaggle 數(shù)據(jù)集并沒(méi)有那么大。在以數(shù)據(jù)為中心的方法中,數(shù)據(jù)集的大小并不那么重要,并且可以使用質(zhì)量較小的數(shù)據(jù)集完成更多的工作。不過(guò)需要注意的是,數(shù)據(jù)質(zhì)量高且標(biāo)注正確。
上圖中是另一種標(biāo)注數(shù)據(jù)的方式,單獨(dú)或組合標(biāo)注。例如,如果數(shù)據(jù)科學(xué)家 1 單獨(dú)標(biāo)注菠蘿,而數(shù)據(jù)科學(xué)家 2 將其組合標(biāo)注,則兩者標(biāo)注的數(shù)據(jù)不兼容,導(dǎo)致學(xué)習(xí)算法變得混亂。因此,需要將數(shù)據(jù)標(biāo)簽保持一致;如果需要單獨(dú)標(biāo)注,請(qǐng)確保所有標(biāo)注都以相同的方式進(jìn)行。
上圖為吳恩達(dá)解釋了小數(shù)據(jù)集一致性的重要性
到底需要多少數(shù)據(jù)?
數(shù)據(jù)質(zhì)量不可忽視,但數(shù)據(jù)量也是至關(guān)重要的,研究者必須有足夠的數(shù)據(jù)支撐才能解決問(wèn)題。深度網(wǎng)絡(luò)具有低偏差、高方差特性,我們可以預(yù)見(jiàn)更多的數(shù)據(jù)可以解決方差問(wèn)題。但是多少數(shù)據(jù)才夠呢?目前這個(gè)問(wèn)題還很難回答,不過(guò)我們可以認(rèn)為擁有大量的數(shù)據(jù)是一種優(yōu)勢(shì),但也不是必須的。
如果你采用以數(shù)據(jù)為中心的方法,請(qǐng)記住以下幾點(diǎn):
確保在整個(gè) ML 項(xiàng)目周期中數(shù)據(jù)保持一致;
數(shù)據(jù)標(biāo)注保持一致;
要及時(shí)反饋結(jié)果;
進(jìn)行錯(cuò)誤分析;
消除噪聲樣本。
那么,我們哪里可以找到高質(zhì)量的數(shù)據(jù)集?這里推薦幾個(gè)網(wǎng)站,首先是 Kaggle:在 Kaggle 中,你會(huì)找到進(jìn)行數(shù)據(jù)科學(xué)工作所需的所有代碼和數(shù)據(jù),Kaggle 擁有超過(guò) 50,000 個(gè)公共數(shù)據(jù)集和 400,000 個(gè)公共 notebook,可以快速完成任務(wù)。
其次是 Datahub.io:Datahub 是一個(gè)主要專注于商業(yè)和金融的數(shù)據(jù)集平臺(tái)。許多數(shù)據(jù)集,例如國(guó)家、人口和地理邊界列表,目前在 DataHub 上可用。
最后是 Graviti Open Datasets:Graviti 是一個(gè)新的數(shù)據(jù)平臺(tái),主要為計(jì)算機(jī)視覺(jué)提供高質(zhì)量的數(shù)據(jù)集。個(gè)人開(kāi)發(fā)人員或組織可以輕松訪問(wèn)、共享和更好地管理開(kāi)放數(shù)據(jù)。
關(guān)鍵詞: 90%論文都是以模型為中心 數(shù)據(jù)和模型到底哪個(gè)重