天天看點

90%論文都是以模型為中心,AI領域,資料和模型到底哪個重要?

選自neptune.ai

作者:Harshil Patel

機器之心編譯

在機器學習領域,資料重要還是模型重要?這是一個很難回答的問題。

模型和資料是 AI 系統的基礎,這兩個元件在模型的開發中扮演着重要的角色。

人工智能領域最權威的學者之一吳恩達曾提出「80% 的資料 + 20% 的模型 = 更好的機器學習」,他認為一個團隊研究 80% 的工作應該放在資料準備上,資料品質是重要的,但很少有人在乎。如果更多地強調以資料為中心而不是以模型為中心,機器學習會發展的更快。

我們不禁會問,機器學習的進步是模型帶來的還是資料帶來的,目前還沒有一個明确的答案。

在本文中,Android 開發者和機器學習愛好者 Harshil Patel 介紹了「機器學習:以資料為中心 VS 以模型為中心」,通過對比以确定兩者中哪個更重要,此外,Patel 還介紹了如何使用以資料為中心的基礎設施。

90%論文都是以模型為中心,AI領域,資料和模型到底哪個重要?

以資料為中心的方法 VS 以模型為中心的方法

以模型為中心的方法意味着需要通過實驗來提高機器學習模型性能,這涉及模型架構的選擇、訓練過程。而在以模型為中心的方法中,你需要保持資料相同,通過改進代碼和模型架構來提高性能。此外,對代碼的改進是以模型為中心的根本目标。

目前,大多數 AI 應用都是以模型為中心的,其中一個可能的原因是學術研究非常重視 AI 領域。根據吳恩達的說法,AI 領域 90% 以上的研究論文都是以模型為中心的,因為我們很難建立大型資料集,使其成為公認的标準。是以,AI 社群認為以模型為中心的機器學習更有前景。研究者在專注于模型的同時,往往會忽略資料的重要性。

對于研究者而言,資料是每個決策過程的核心,以資料為中心的公司通過使用其營運産生的資訊,可以獲得更準确、更有條理、更透明的結果,進而可以幫助公司組織更順利地運作。以資料為中心的方法涉及系統地改進、改進資料集,以提高 ML 應用程式的準确性,對資料進行處理是以資料為中心的中心目标。

90%論文都是以模型為中心,AI領域,資料和模型到底哪個重要?

資料驅動 VS 以資料為中心

許多人經常混淆「以資料為中心」和「資料驅動」這兩個概念。資料驅動是一種從資料中收集、分析和提取見解的方法,它有時被稱為「分析」。另一方面,以資料為中心的方法側重于使用資料來定義應該首先建立的内容;而以資料為中心的架構指的是一個系統,其中資料是主要和永久的資産。資料驅動架構意味着通過利用大量資料來建立技術、技能和環境。

對于資料科學家和機器學習工程師來說,以模型為中心的方法似乎更受歡迎。這是因為從業者可以利用自身知識儲備來解決特定問題。另一方面,沒有人願意花大量時間去标注資料。

然而,在當今的機器學習中,資料至關重要,但在 AI 發展中卻經常被忽視和處理不當。由于資料錯誤,研究者可能花費大量時間進行查錯。模型精度較低的根本原因可能不是來自模型本身,而是來自錯誤的資料集。

90%論文都是以模型為中心,AI領域,資料和模型到底哪個重要?

除了關注資料外,模型和代碼也很重要。但研究者往往傾向于在關注模型的同時忽略資料的重要性。最好的方法是同時關注資料和模型的混合方法。根據應用程式的不同,研究者應該兼顧資料和模型。

以資料為中心的基礎架構

以模型為中心的機器學習系統主要關注模型架構優化及其參數優化。

90%論文都是以模型為中心,AI領域,資料和模型到底哪個重要?

以模型為中心的 ML 應用程式

上圖中描述的是以模型為中心的工作流适用于少數行業,如媒體、廣告、醫療保健或制造業。但也可能面臨如下挑戰:

需要進階定制系統:不同于媒體和廣告行業,許多企業無法使用單一的機器學習系統來檢測其産品的生産故障。雖然媒體公司可以負擔得起有一個完整的 ML 部門來處理優化問題,但需要多個 ML 解決方案的制造企業不能按照這樣的模闆進行實施;

大型資料集的重要性:在大多數情況下,公司沒有大量資料可供使用。相反,他們經常被迫處理微小的資料集,如果他們的方法是以模型為中心的,那麼這些資料集很容易産生令人失望的結果。

吳恩達曾在他的 AI 演講中解釋了他如何相信以資料為中心的 ML 更有價值,并倡導社群朝着以資料為中心的方向發展。他曾經舉了一個「鋼鐵缺陷檢測」的例子,其中以模型為中心的方法未能提高模型的準确率,而以資料為中心的方法将準确率提高了 16%。

90%論文都是以模型為中心,AI領域,資料和模型到底哪個重要?

以資料為中心的 ML 應用程式

在實施以資料為中心的架構時,可以将資料視為比應用程式和基礎架構更耐用的基本資産。以資料為中心的 ML 使資料共享和移動變得簡單。那麼,在以資料為中心的機器學習到底涉及什麼?在實作以資料為中心的方法時,我們應該考慮以下因素:

資料标簽品質:當大量的圖像被錯誤标記時,會出現意想不到的錯誤,是以需要提高資料标注品質;

資料增強:讓有限的資料産生更多的資料,增加訓練樣本的數量以及多樣性(噪聲資料),提升模型穩健性;

特征工程:通過改變輸入資料、先驗知識或算法向模型添加特征,常被用于機器學習,以幫助提高預測模型的準确性;

資料版本控制:開發人員通過比較兩個版本來跟蹤錯誤并檢視沒有意義的内容,資料版本控制是維護資料中最不可或缺的步驟之一,它可以幫助研究者跟蹤資料集的更改(添加和删除),版本控制使代碼協作和資料集管理變得更加容易;

領域知識:在以資料為中心的方法中,領域知識非常有價值。領域專家通常可以檢測到 ML 工程師、資料科學家和标注人員無法檢測到的細微差異,ML 系統中仍然缺少涉及領域專家的内容。如果有額外的領域知識可用,ML 系統可能會表現得更好。

應該優先考慮哪一個:資料數量還是資料品質?

需要強調的是,資料量多并不等同于資料品質好。當然,訓練神經網絡不能隻用幾張圖就能完成,資料數量是一個方面,但現在的重點是品質而不是數量。

90%論文都是以模型為中心,AI領域,資料和模型到底哪個重要?

如上圖所示,大多數 Kaggle 資料集并沒有那麼大。在以資料為中心的方法中,資料集的大小并不那麼重要,并且可以使用品質較小的資料集完成更多的工作。不過需要注意的是,資料品質高且标注正确。

90%論文都是以模型為中心,AI領域,資料和模型到底哪個重要?

上圖中是另一種标注資料的方式,單獨或組合标注。例如,如果資料科學家 1 單獨标注鳳梨,而資料科學家 2 将其組合标注,則兩者标注的資料不相容,導緻學習算法變得混亂。是以,需要将資料标簽保持一緻;如果需要單獨标注,請確定所有标注都以相同的方式進行。

90%論文都是以模型為中心,AI領域,資料和模型到底哪個重要?

上圖為吳恩達解釋了小資料集一緻性的重要性

到底需要多少資料?

資料品質不可忽視,但資料量也是至關重要的,研究者必須有足夠的資料支撐才能解決問題。深度網絡具有低偏差、高方差特性,我們可以預見更多的資料可以解決方差問題。但是多少資料才夠呢?目前這個問題還很難回答,不過我們可以認為擁有大量的資料是一種優勢,但也不是必須的。

如果你采用以資料為中心的方法,請記住以下幾點:

確定在整個 ML 項目周期中資料保持一緻;

資料标注保持一緻;

要及時回報結果;

進行錯誤分析;

消除噪聲樣本。

那麼,我們哪裡可以找到高品質的資料集?這裡推薦幾個網站,首先是 Kaggle:在 Kaggle 中,你會找到進行資料科學工作所需的所有代碼和資料,Kaggle 擁有超過 50,000 個公共資料集和 400,000 個公共 notebook,可以快速完成任務。

90%論文都是以模型為中心,AI領域,資料和模型到底哪個重要?

其次是 Datahub.io:Datahub 是一個主要專注于商業和金融的資料集平台。許多資料集,例如國家、人口和地理邊界清單,目前在 DataHub 上可用。

90%論文都是以模型為中心,AI領域,資料和模型到底哪個重要?

最後是 Graviti Open Datasets:Graviti 是一個新的資料平台,主要為計算機視覺提供高品質的資料集。個人開發人員或組織可以輕松通路、共享和更好地管理開放資料。

90%論文都是以模型為中心,AI領域,資料和模型到底哪個重要?

繼續閱讀