|
打開 Kaggle ,琳瑯滿目的比賽讓人目不暇接,研究的領(lǐng)域更是五花八門,從農(nóng)林牧漁到衣食住行,似乎只要有數(shù)據(jù),不論數(shù)據(jù)好壞,就可以直接使用各種機器學(xué)習(xí)的模型在其身上大展拳腳,從邏輯回歸到 SVM,從決策樹到 XGBoost,換著模型套用在數(shù)據(jù)上重復(fù)實驗,最后再加上集成學(xué)習(xí)的方法就可以取得不錯的結(jié)果。 這樣的現(xiàn)狀往往讓人們產(chǎn)生一種錯覺,所謂 AI 其實質(zhì)上指的就是那些基于復(fù)雜數(shù)學(xué)原理構(gòu)造的不同模型,只要將這些模型的數(shù)學(xué)原理拿支筆細細推導(dǎo)一番,現(xiàn)實生活中的一切問題便都可以被這些模型所解決。 然而事實上,機器學(xué)習(xí)的算法代碼只是整個 AI 流水線中的小小一環(huán),我們往往開玩笑的說道我們的工作 80% 都是在做數(shù)據(jù)預(yù)處理的工作,事實在某種程度上也確是如此,一個 AI 項目一般而言由四個步驟組成:項目分析——數(shù)據(jù)收集——模型訓(xùn)練——項目部署。應(yīng)用與改造各種模型的工作只存在于第三步,但現(xiàn)階段無論是研究還是比賽,往往都是給定一個數(shù)據(jù)集,讓研究員或參賽者不斷改進模型不斷迭代以達到預(yù)期的效果。而面對模型準確率的瓶頸,唯一的黃金法則卻只是增大數(shù)據(jù)的量級。 在這個背景下,近日,我們熟悉的吳恩達老師發(fā)起了一個以數(shù)據(jù)為中心的 AI 競賽( Data-Centric AI competition ),區(qū)別于傳統(tǒng)的以模型為中心的比賽( Model-Centric AI competition )不斷改進模型以提升準確率的方法,這項比賽通過給定模型的方式,要求參賽者通過不斷改進數(shù)據(jù)以獲得更好的成績。 具體而言,這項比賽給予參賽者一個包含約 3000 張手寫羅馬數(shù)字 1-10 的圖像數(shù)據(jù)集,在使用 ResNet50 模型的基礎(chǔ)上,要求參賽者應(yīng)用以數(shù)據(jù)為中心的方法對數(shù)據(jù)集進行改進以提升分類的準確率,其主要手段有應(yīng)用數(shù)據(jù)增強、修復(fù)不正確的標簽、新增體現(xiàn)邊緣特征的樣本等等。 吳恩達老師指出,就目前來看,許多應(yīng)用的模型與相應(yīng)的代碼實現(xiàn)其實是一個已經(jīng)被解決了的問題。但是與一套已經(jīng)成熟的可以應(yīng)用到工業(yè)界的算法體系相比,現(xiàn)在更加缺少的也許是一套成熟的構(gòu)建工業(yè)化數(shù)據(jù)集的方法論。而另一方面,盡管增加數(shù)據(jù)是目前提升模型性能的不二法門,但是根據(jù)調(diào)查,大多數(shù)的現(xiàn)實應(yīng)用的數(shù)據(jù)量級往往是集中在 10000 上下,在小規(guī)模數(shù)據(jù)的情況下,數(shù)據(jù)質(zhì)量的重要性將會更加凸顯。 從一個簡單的小例子來看,當一個小數(shù)據(jù)集存在錯誤標簽時,模型很難給出一個正確的輸出,當增加數(shù)據(jù)量級時,錯誤標簽帶來的影響將會被削弱,模型有可能從大規(guī)模數(shù)據(jù)中得出正確的分類結(jié)果。但如果我們轉(zhuǎn)換思路,如果我們對小數(shù)據(jù)集的錯誤標簽進行處理,得到一個非?!案蓛簟钡臄?shù)據(jù)集,那么我們將同樣有可能得到正確的分類結(jié)果。 從某種意義上講,這種以數(shù)據(jù)為中心的方法的提出,完成了一次機器學(xué)習(xí)領(lǐng)域的“哥白尼倒轉(zhuǎn)”,過去我們會認為在研究與比賽中應(yīng)該模型繞著數(shù)據(jù)轉(zhuǎn),但現(xiàn)在一種數(shù)據(jù)繞著模型轉(zhuǎn)的方法未嘗不能以更有效率的方式做到同樣的事情。然而可惜的是,在目前關(guān)于如何取獲得“質(zhì)量更好”而非“數(shù)量更多”的數(shù)據(jù)尚無一種統(tǒng)一的方法論去處理,甚至有質(zhì)疑者如圖靈獎得主 Judea Pearl 教授認為在不知道什么是質(zhì)量更好的數(shù)據(jù)的基礎(chǔ)上提升數(shù)據(jù)質(zhì)量是不太現(xiàn)實的。但從某種程度上講,這也是吳恩達老師舉辦這場比賽的原因之一。 目前,吳恩達老師的思路集中在借鑒 MLOps(機器學(xué)習(xí)操作)的思維框架之上。MLOps 是將 DevOps 原則應(yīng)用于機器學(xué)習(xí)系統(tǒng)開發(fā)過程的實踐,為縮短模型開發(fā)部署的迭代周期,MLOps 在一個機器學(xué)習(xí)系統(tǒng)從發(fā)布到規(guī)劃部署的全部階段應(yīng)用自動化的流程連接模型構(gòu)建、業(yè)務(wù)與運維團隊,從而使得企業(yè)更加高效的應(yīng)用機器學(xué)習(xí)系統(tǒng)。 針對以數(shù)據(jù)為中心的任務(wù),首先使用固定模型對數(shù)據(jù)進行訓(xùn)練,針對結(jié)果進行錯誤分析,識別出模型處理不當?shù)臄?shù)據(jù)類型,再通過諸如數(shù)據(jù)增強、錯誤標簽修復(fù)等方法增強數(shù)據(jù),再進入模型之中反復(fù)持續(xù)改進。吳恩達老師希望以數(shù)據(jù)為中心的方法結(jié)合新的 MLOps 工具可以使得機器學(xué)習(xí)系統(tǒng)的構(gòu)建更具高效性與系統(tǒng)性,并最終形成一個貫穿整個 AI 生命周期的工具集合。~ |
|
|