為什么你需要改進(jìn)訓(xùn)練數(shù)據(jù),如何改進(jìn)?
![](http://image.woshipm.com/wp-files/img/81.jpg)
本文為雷鋒字幕組編譯的技術(shù)博客,原標(biāo)題 Why you need to improve your training data, and how to do it,作者為 Pete Warden 。
Andrej Karpathy 在他的 Train AI 演講中展示了這張膠片,我非常喜歡,這張膠片完美地揭示了深度學(xué)習(xí)在研究與生產(chǎn)間的區(qū)別。
?圖片來自 Lisha Li
通常來說,學(xué)術(shù)論文的主要精力是放在開發(fā)新的、先進(jìn)的模型上面,在數(shù)據(jù)集方面一般都是從公開的數(shù)據(jù)集取一部分使用。而相反,那些我所知道的想用深度學(xué)習(xí)技術(shù)做實(shí)際應(yīng)用的開發(fā)者們,他們絕大部分的精力都花在了擔(dān)心他們的訓(xùn)練數(shù)據(jù)上面。
有許多好的原因可以解釋,為什么那些研究員會將精力放在模型架構(gòu)上,而對于那些想要在實(shí)際生產(chǎn)過程中運(yùn)用機(jī)器學(xué)習(xí)的人來說,相關(guān)的指導(dǎo)材料就比較少。
為了解決這個問題,我在此次會議上的演講主題是「關(guān)于訓(xùn)練數(shù)據(jù)上不可以思議的效果」,并且我想在這篇 blog 中進(jìn)一步說明為什么優(yōu)化訓(xùn)練數(shù)據(jù)是如此重要,并給出一些實(shí)用的建議。
在我的工作中經(jīng)常與許多研究員與生產(chǎn)團(tuán)隊(duì)有緊密的合作,而我之所以如此相信優(yōu)化數(shù)據(jù)的魔力,是因?yàn)槲矣H眼目睹了它們在構(gòu)建模型時,所發(fā)揮的作用,以及所帶來的巨大收益。
對于大多數(shù)應(yīng)用來說,能否使用深度學(xué)習(xí)的最大障礙是——模型精度能否達(dá)到實(shí)際使用的要求。而據(jù)我所知,最快捷的提升精度的方式就是優(yōu)化訓(xùn)練集。并且如果在部署過程中,你還受限于,例如:時延或存儲大小等因素,那么你可能需要在一個滿足性能要求,經(jīng)過折衷的較小模型架構(gòu)上來提升模型精度。
語音控制
我不能分享我在所生產(chǎn)系統(tǒng)中觀察到的,但是我能從一個開源項(xiàng)目的例子中來證明這點(diǎn)。
去年我通過 Tensorflow 框架搭建了一個簡單的語音識別系統(tǒng),但在實(shí)現(xiàn)的過程中發(fā)現(xiàn),沒有現(xiàn)成的數(shù)據(jù)集,可以讓我來訓(xùn)練模型。在大量志愿者的幫助下,我收集了 60000 個 1 秒鐘的語音片段,這里要感謝 Open Speech 網(wǎng)站中的 AIY 團(tuán)隊(duì)。
通過這個數(shù)據(jù)集,最終訓(xùn)練出來的模型是可用的,但是精度沒有達(dá)到我的預(yù)期。為了看看這是否是由于我所設(shè)計(jì)模型所導(dǎo)致的,我在 Kaggle 上用同樣的訓(xùn)練集發(fā)起了一個競賽。在競賽中,許多競賽者設(shè)計(jì)的模型要比我的效果好,但即使是來自不同團(tuán)隊(duì)不同方法,最終的精度也就只能達(dá)到 91%。
對我來說,這暗示著數(shù)據(jù)集中存在一些基本的錯誤,確實(shí),有競賽者也向我指出了許多關(guān)于訓(xùn)練集的錯誤,如:有些音頻標(biāo)簽打錯了,有些音頻不完整。這促使我有了發(fā)布一個新數(shù)據(jù)集的動力,解決他們所指出的那些問題并且再補(bǔ)充更多的樣本。
我通過查看錯誤的度量標(biāo)準(zhǔn),去理解什么樣的詞匯是模型難以識別的。結(jié)果顯示:「其他」種類(當(dāng)語音辨識系統(tǒng)識別語音時該單詞卻不在模型所訓(xùn)練到的詞匯中)的是最容易識別錯誤的。為了解決這個問題,我們獲取了更多不同的單詞以確保訓(xùn)練數(shù)據(jù)的多樣性。
自從 Kaggle 競賽者報(bào)告了標(biāo)簽錯誤這一問題,我就請人做了額外的驗(yàn)證環(huán)節(jié),請人去聽每個語音片段然后確保它與預(yù)期的標(biāo)簽相符。另外由于 Kaggle 數(shù)據(jù)集還被發(fā)現(xiàn)了有很多幾乎沒有聲音,或者很短的聲音。
因此,我寫了能自動做一些音頻分析,并且剔除這些不太好的數(shù)據(jù)的小程序。最終,雖然刪除了很多不太好的語音數(shù)據(jù),但還是將語音數(shù)據(jù)增加到了十萬,這多虧了志愿者與一些受雇人員的努力。
為了幫助其他人更好地使用數(shù)據(jù)集(不要重蹈我的覆轍!)我將這一切相關(guān)的都寫在一篇 Arixiv 論文當(dāng)中了,以及更新后的準(zhǔn)確率。
最重要的結(jié)論是:在不改變模型和測試集數(shù)據(jù)的情況下,top-one(第一次預(yù)測類)的準(zhǔn)確率從 85.4% 提高到 89.7%,整整提高了超過 4%。這是一個令人驚嘆的提升,這樣的提升對于將模型部署在安卓或樹莓派小應(yīng)用的人來說,這是十分滿意的了。
另外,我也很有自信在使用的模型架構(gòu)落后于現(xiàn)有先進(jìn)水平的情況下,通過花費(fèi)一定時間來調(diào)整模型獲得進(jìn)一步的少量提高。
這是在實(shí)際應(yīng)用過程中一次又一次獲得過好結(jié)果的過程,然而如果你想做一樣的嘗試,那么從哪開始對于你來說其實(shí)是比較困難的?
你可以從我剛才對語音數(shù)據(jù)的處理中得到一些啟發(fā),但是我這里有一些更實(shí)用的方法。
首先,觀察你的數(shù)據(jù)
這個似乎是顯而易見的,但其實(shí)你首先需要做的是隨機(jī)觀察你的訓(xùn)練數(shù)據(jù)。將其中一部分復(fù)制到你的本地機(jī),并且花費(fèi)幾個小時去預(yù)覽它們。如果你的數(shù)據(jù)是一些圖片,那么使用一些類似 MacOs 系統(tǒng)的查看器非??焖俚牟榭磾?shù)千張縮略圖。
對于音頻來說,可以播放它們的預(yù)覽,又或者對于文本來說,可以隨機(jī)的轉(zhuǎn)儲一些片段到終端設(shè)備。我沒有用足夠的時間在第一次語音中做這樣的工作,因此導(dǎo)致 Kaggle 參賽者發(fā)現(xiàn)非常多的問題。
我總是會感覺到這個觀察數(shù)據(jù)的過程有點(diǎn)傻,但是我從未后悔過。每次我這么做之后都會發(fā)現(xiàn)很多關(guān)于數(shù)據(jù)集的一些很關(guān)鍵的問題,像是類別不均衡問題,無法讀入的數(shù)據(jù)(例如 :PNG 格式的圖片被加上了 JPG 格式的后綴),錯誤的標(biāo)簽亦或者令人奇怪的組合。
Tom White 在預(yù)先觀察數(shù)據(jù)的過程中,在 ImageNet 數(shù)據(jù)集中有一些奇特的發(fā)現(xiàn),例如:將一個用于放大太陽光的古老設(shè)備標(biāo)記為「太陽鏡」,一張有魅力的圖片被標(biāo)記為垃圾車,一個穿著紅斗篷的女人被標(biāo)記為「斗篷」。
Andrej 手工區(qū)分從 ImageNet 中的照片的工作,也教會了我很多對于數(shù)據(jù)集的理解,包括即使對于一個人來說區(qū)分狗的種類也是很困難的事。
你所采取的行動取決于你的發(fā)現(xiàn),但其實(shí)你應(yīng)該堅(jiān)持在做其他的數(shù)據(jù)清洗工作之前,有這樣的對于數(shù)據(jù)預(yù)先觀察的過程,因?yàn)樵谶@個過程中,你會獲取一些直覺信息,以幫助你在其他步驟里作出決策。
快速選擇模型
不要花太多時間在模型選擇上,如果你需要做圖像分類,可以看看 AutoML,TensorFlow 的 model repository,或者 Fast.AI 的 collection of examples,這些模型庫里一般可以找到一些解決類似于你產(chǎn)品的問題的模型。
最重要的是:盡快開始迭代你的模型,這樣你就可以盡早地讓真實(shí)用戶來測試你的模型。你總會有機(jī)會在后續(xù)的過程中來提高你的模型,也可能會得到更好的結(jié)果,但是首先你必須保證你的數(shù)據(jù)在一開始就是有效的。
深度學(xué)習(xí)依然遵從最基本的計(jì)算定律,輸入無效數(shù)據(jù),那么就輸出無效的結(jié)果。因此,即使最好的模型也受限于訓(xùn)練數(shù)據(jù)中的瑕疵。通過選擇一個模型并對其進(jìn)行測試,你會找到訓(xùn)練數(shù)據(jù)中存在的問題并對這些問題進(jìn)行改進(jìn)。
為了進(jìn)一步提高你的迭代速度,可以從一個已經(jīng)在大樣本數(shù)據(jù)上訓(xùn)練過的模型開始,利用遷移學(xué)習(xí)在一個你所收集的可能小很多的數(shù)據(jù)集上,來對模型參數(shù)進(jìn)行微調(diào)。相比直接用你的小樣本數(shù)據(jù)來對模型進(jìn)行訓(xùn)練,這樣通常可以更快地得到更好的結(jié)果,你也可以由此找到一些感覺需要怎樣對你收據(jù)收集的方式,做一些必要的調(diào)整。
這樣做最重要的效果是,你可以把你訓(xùn)練得到的結(jié)果反饋到數(shù)據(jù)收集的過程中去,邊學(xué)習(xí)邊調(diào)整,而不是把數(shù)據(jù)采集作為一個獨(dú)立的在訓(xùn)練之前的一個步驟。
創(chuàng)造之前先模擬
研究建模和產(chǎn)品建模之間最大的區(qū)別在于——前者通常在一開始就有一個非常明確的問題描述,而后者對于模型的許多要求一開始并不明確,而是存在于用戶的腦中,需要一步一步挖掘出來。
例如:我們希望 Jetpac 能提供好的照片給自動化的城市旅游指南。
開始的時候,我們讓打分的人來給照片貼標(biāo)簽,如果他們覺得照片「好」,就給照片做標(biāo)記。但是,我們最后得到了很多帶有微笑的人像的照片,因?yàn)榇蚍终哒J(rèn)為這些是「好」照片。我們把這些標(biāo)記了的照片用到我們的產(chǎn)品模型中,看看測試用戶的反應(yīng)。
可想而知,他們并不滿意最后的結(jié)果。為了解決這個問題,我們把標(biāo)記照片時的問題改成了:「這張照片會吸引你去這個地方旅游嗎?」
這使得我們得到的標(biāo)記照片質(zhì)量提高很多,但是,我們還是得到了一些這樣的標(biāo)記照片,一些東南亞尋找工作的人認(rèn)為,在大酒店里有很多西裝革履拿著酒杯的會議照片非常吸引人。
這些被不正確標(biāo)記的照片提醒我們,當(dāng)下生活的泡沫時代,但是這是個實(shí)際的問題,因?yàn)槲覀兊哪繕?biāo)人群是美國人,他們會覺得會議照片非常的乏味又無趣。最終,我們 Jetpac 組的六個人手動標(biāo)記了超過 200 萬的照片,因?yàn)槲覀儽热魏纹渌烁宄蚍值臉?biāo)準(zhǔn)是什么。
這是一個比較極端的例子,但是它說明了數(shù)據(jù)標(biāo)記過程很大程度上取決于你應(yīng)用的要求。對于大部分產(chǎn)品應(yīng)用的案例,開發(fā)人員需要花很長的時間,來搞清楚我們到底需要模型回答一個什么樣的問題,而搞清楚這個問題是非常關(guān)鍵的。
如果你的模型在回答一個錯誤的問題,那么在這個基礎(chǔ)上,你將永遠(yuǎn)不能創(chuàng)造一個好的用戶體驗(yàn)。
我認(rèn)為唯一能夠確認(rèn)你是否在問正確的問題的方法是模擬你的應(yīng)用,但是不是用機(jī)器學(xué)習(xí)模型而是用人的反饋。這個方法有時被稱為「Wizard-of-Oz-ing」,因?yàn)槟缓笥腥嗽诓僮鳌?/p>
在 Jetpac 這個案例上,我們請人手動從一些旅游指南的樣本中,選擇一些照片,并用測試用戶的反饋,來調(diào)整我們選擇照片的標(biāo)準(zhǔn),而不是訓(xùn)練一個模型來做這件事。
一旦我們的測試反饋都是肯定的,我們就把最后的照片選擇標(biāo)準(zhǔn),作為標(biāo)記的準(zhǔn)則,來對訓(xùn)練集里數(shù)百萬的照片進(jìn)行打分做標(biāo)記。這些照片之后訓(xùn)練的模型,有能力對數(shù)以億計(jì)的照片,進(jìn)行高精度的預(yù)測,但是這個模型的核心起源于我們手動標(biāo)記確定出來的打分標(biāo)準(zhǔn)。
用同源數(shù)據(jù)做訓(xùn)練
在 Jetpac 這個項(xiàng)目上,我們用于訓(xùn)練模型的圖片(主要來源于 Facebook 和 Instagram)和我們最終使用模型的圖片是同源的。但是,一個普遍的問題在于——用于訓(xùn)練的數(shù)據(jù)常常和最終要應(yīng)用模型處理的數(shù)據(jù),在一些很重要的特征上不一致。
例如:我常常遇到有些團(tuán)隊(duì)在 ImageNet 上訓(xùn)練他們的模型,但是最終他們的模型,卻是要用于解決無人機(jī)或者機(jī)器人圖片的問題。
這樣做也是有道理的,因?yàn)?ImageNet 上有很多人拍攝的照片,而這些照片和無人機(jī)或者機(jī)器人得到的照片有很多共性。ImageNet 上的照片很多是手機(jī)或者相機(jī),使用中性鏡頭,在大概一人的高度,自然光或者人工打光下,并保證被標(biāo)記的對象處于前景中心位置這些條件下拍攝的。
機(jī)器人和無人機(jī)使用攝像照相機(jī),通常用視角鏡頭,從地面或者高空在光線較弱,也不會使用智能定位的情況下拍攝照片,所以這些照片中的對象常常是不完整的。這些圖片特性的差異最終會導(dǎo)致在 ImageNet 上訓(xùn)練的模型,當(dāng)應(yīng)用于這些器械得到的圖片上時,精度是很低的。
還有一些更巧妙的方法,可以讓你的訓(xùn)練數(shù)據(jù)偏離最終的應(yīng)用顯示出來。
想象一下:你正在建造一個相機(jī)來識別野生動物,并利用世界各地的動物數(shù)據(jù)集進(jìn)行訓(xùn)練。如果你只用 Borneo 叢林中的數(shù)據(jù)來部署模型,那么分類標(biāo)簽為企鵝的概率會非常低。但假如訓(xùn)練集中加入南極的照片,那很有可能其他的動物會被誤認(rèn)為企鵝,所以比起訓(xùn)練集沒有這些南極照片的時候,模型的整體錯誤率可能會更高。
有時候可以通過先驗(yàn)知識來校正模型的結(jié)果(比如:在叢林環(huán)境中大量降低企鵝的概率),但是更簡單而有效的方法是——使用可以反映真實(shí)的產(chǎn)品環(huán)境的訓(xùn)練集。
所以,我認(rèn)為最好的方法還是始終使用從實(shí)際應(yīng)用中直接獲取的數(shù)據(jù),這與我上面建議的「Wizard-of-Oz-ing」可以聯(lián)系起來。人工干預(yù)可以是對初始數(shù)據(jù)集進(jìn)行標(biāo)記,即使收集到的標(biāo)簽數(shù)量非常少,它們也可以反映實(shí)際使用情況,并有望進(jìn)行一些遷移學(xué)習(xí)的初步實(shí)驗(yàn)。
聯(lián)系數(shù)據(jù)分析指標(biāo)
當(dāng)我在處理語音命令示例時,最頻繁出現(xiàn)的報(bào)告之一就是訓(xùn)練過程中的混淆矩陣。
下面是控制臺中顯示的例子:
這可能看起來很嚇人,但實(shí)際上它只是一張表格,顯示了神經(jīng)網(wǎng)絡(luò)出錯的細(xì)節(jié)。
這里有一個更漂亮一些的標(biāo)簽版本:
該表中的每一行表示某個標(biāo)簽下的語音,被預(yù)測為所有類別標(biāo)簽的具體數(shù)量,每一列顯示了被預(yù)測為某個具體的標(biāo)簽的原型的分布。例如:突出顯示的這行,表示這些音頻樣本實(shí)際上都屬于 Slience,從左到右可以看到每一個樣本都在 Slience 這一列中,表示預(yù)測的這些標(biāo)簽都是正確的。
這說明此模型非常善于預(yù)測 Slience 類,沒有錯誤的否定任何一個 Slience 樣本。如果我們查看 Slience 這一整列,可以看到有多少其他樣本被預(yù)測為 Slience 標(biāo)簽,我們可以看到有很多單詞片段被誤認(rèn)為是 Slience 類,假陽性數(shù)量相當(dāng)多。
事實(shí)證明這是有幫助的,因?yàn)樗屛腋屑?xì)地觀察那些被錯誤地歸類為 Slience 的片段,這其中很多錄音都出現(xiàn)了異常低音的情況。這幫助我通過刪除低音量的剪輯來提高數(shù)據(jù)的質(zhì)量,如果沒有混亂矩陣,我不會知道應(yīng)該這樣做。
幾乎任何一種總結(jié)都有助于改進(jìn)實(shí)驗(yàn)結(jié)果,但是我發(fā)現(xiàn)混淆矩陣是一個很好的折衷方案,它給出的信息比一個精確的數(shù)字要多,但不會因?yàn)榧?xì)節(jié)太多而使我困惑。在訓(xùn)練期間觀察數(shù)字變化也很有用,因?yàn)樗梢愿嬖V您模型正在努力學(xué)習(xí)的類別,這樣就可以給你提供需要清理和擴(kuò)展的數(shù)據(jù)集區(qū)域。
物以類聚
我最喜歡的理解方式之一是讓網(wǎng)絡(luò)來解釋我的訓(xùn)練數(shù)據(jù)——可視化聚類。
TensorBoard 非常支持這樣的探究方法,雖然它經(jīng)常被用于查看詞嵌入向量,但我發(fā)現(xiàn)它幾乎適用于任何類似于嵌入的層。例如:圖像分類網(wǎng)絡(luò),通常把最后的全連接層或 softmax 單元之前的倒數(shù)第二層,當(dāng)作一個嵌入層 (像 Tensorflow for poets 的簡單遷移學(xué)習(xí)的示例一樣)。
這些并不是嚴(yán)格意義上的嵌入,因?yàn)樵谟?xùn)練過程中,沒有采取任何手段,來確保它們會在一個真實(shí)的嵌入層中,有理想的空間屬性。但是對它們的向量進(jìn)行聚類,確實(shí)會產(chǎn)生有趣的結(jié)果。
有一個真實(shí)的事例是:我工作的其中一個團(tuán)隊(duì)難以理解,為什么某些動物在圖像分類模型中有很高錯誤率。所以他們使用聚類可視化,來查看他們的訓(xùn)練數(shù)據(jù)在不同類別下的分布情況,當(dāng)他們看到「Jaguar」時,他們清楚地看到數(shù)據(jù)被分成兩個不同的組,彼此之間有一定的距離。
圖片來自?djblock99?and?Dave Adams
這是他們看到的圖。圖中每個照片都映射成了兩個數(shù)據(jù)集中的點(diǎn),很明顯,許多捷豹品牌的汽車被錯誤地貼上了美洲虎的標(biāo)簽。一旦他們知道這個方法,他們就能看到標(biāo)記過程,這樣就可以意識到他們的研究方向混淆了用戶使用界面。
有了這些信息,他們就能夠改進(jìn)標(biāo)記人員的培訓(xùn)過程并修復(fù)這個工具,即只要將所有的汽車圖像從 Jaguar 類別中刪除,就可以使模型中這個類別獲得更高的準(zhǔn)確率。
聚類讓你對訓(xùn)練集有了深入的了解,并且像直接查看數(shù)據(jù)一樣非常便利,但是網(wǎng)絡(luò)實(shí)際上,只是通過它自己的學(xué)習(xí)理解,將輸入數(shù)據(jù)分組來指導(dǎo)你進(jìn)行探究。
作為人類,我們很擅長在視覺上發(fā)現(xiàn)異常,所以結(jié)合我們的直覺和計(jì)算機(jī)處理大量輸入的能力,可以為追蹤數(shù)據(jù)質(zhì)量的問題,提供了一個非常好的可擴(kuò)展解決方案。
關(guān)于使用 TensorBoard 進(jìn)行此操作的完整教程超出了本文的范圍 (我很感激您還在閱讀本文),但是如果你真的想提高實(shí)驗(yàn)結(jié)果,我強(qiáng)烈建議你熟悉這個工具。
經(jīng)常收集數(shù)據(jù)
我從來沒有見過收集更多的數(shù)據(jù),而不能提高模型的準(zhǔn)確性的情況,事實(shí)證明有很多研究支持我這一看法。
這張圖來自于「重新審視數(shù)據(jù)的不合理有效性」,展示了當(dāng)訓(xùn)練數(shù)據(jù)集的規(guī)模增長到數(shù)億時,圖像分類的模型精度是如何不斷提高的。
Facebook 最近更深入地進(jìn)行了這方面的研究,使用數(shù)十億張有標(biāo)簽的 Instagram 圖片,刷新了 ImageNet 分類精度的記錄。這表明,即使很難獲得大型、高質(zhì)量數(shù)據(jù)集,增加訓(xùn)練集的大小仍然會提高模型結(jié)果。
這意味著,只要有任何更好的模型精度使用戶受益,就需要一個持續(xù)更新數(shù)據(jù)集的策略。如果可以,尋找一個創(chuàng)造性的方法去利用微弱的信號,以此訪問更大的數(shù)據(jù)集。對此,F(xiàn)acebook 采用 Instagram 標(biāo)簽就是一個很好的案例。
另一種途徑是提高標(biāo)記流水線的智能化,比如:利用模型的初始版本預(yù)測標(biāo)簽,通過增強(qiáng)工具使貼標(biāo)者做出更快的決定。這樣會有初始偏差復(fù)現(xiàn)的風(fēng)險,但在實(shí)踐中,收益往往高于這種風(fēng)險。
在這個問題上,投入大量資金去聘請更多的人,為新的訓(xùn)練輸入做標(biāo)記,通常是一個有價值的投資。盡管傳統(tǒng)上,這類沒有預(yù)算支出的項(xiàng)目組織,可能會有困難。如果你是一個非盈利者,讓你的支持者更容易通過一些開源工具提供數(shù)據(jù),這是一種增加你數(shù)據(jù)規(guī)模且不會導(dǎo)致破產(chǎn)的好方法。
當(dāng)然,對任何組織來說一個自然地生成更多標(biāo)記數(shù)據(jù)的產(chǎn)品就是圣杯。我不會太在意這種觀念,但這不適合現(xiàn)實(shí)世界的多數(shù)案例,人們只想免除復(fù)雜的標(biāo)記問題而盡快得到答案。
對于一家初創(chuàng)公司來說,這是一個好的投資熱點(diǎn),因?yàn)樗拖褚粋€用于模型改善的永動機(jī),但幾乎總是會有一些單位成本用于清理或增加你將收到的數(shù)據(jù),因此經(jīng)濟(jì)學(xué)往往最終將它看做一個比真正免費(fèi)的商業(yè)眾包更便宜的版本。
通往風(fēng)險區(qū)的高速公路
對于應(yīng)用程序的用戶來說,模型誤差幾乎比損失函數(shù)捕獲有更大的影響。你需要提前考慮最差的可能結(jié)果,并試圖給模型設(shè)置一個反饋抑制來避免這些結(jié)果的發(fā)生。
這可能只是一個你永遠(yuǎn)不想預(yù)測的類別的黑名單,因?yàn)殄e誤的代價非常高,或者你可能有一個簡單的算法規(guī)則,來保證所做行為不會超出你所考慮到的一些邊界參數(shù)。例如:你可能會保留一個永遠(yuǎn)不希望文本編輯器輸出的誓言表,即使是訓(xùn)練集中也不行,因?yàn)樗贿m合你的產(chǎn)品。
不好的結(jié)果可能會被考慮到,但事先不總是如此明顯,所以從現(xiàn)實(shí)錯誤中汲取教訓(xùn)是至關(guān)重要的。一旦你有一半的產(chǎn)品/市場是體面的,一個最簡單的方法是運(yùn)用有缺陷的報(bào)告。
當(dāng)人們使用你的系統(tǒng)應(yīng)用,并從模型中得到一個不想要的結(jié)果,讓他們?nèi)菀赘嬖V你。如果可能的話,獲得模型的完整輸入,但如果是敏感數(shù)據(jù),只要知道不良輸出是什么,這樣可幫助指導(dǎo)你的調(diào)查。
這些類別可以幫助你選擇收集更多數(shù)據(jù)的位置,和了解當(dāng)前標(biāo)簽質(zhì)量屬于哪些級別。一旦你的模型有一個新的版本,除了正常的測試集外,利用先前產(chǎn)生不良結(jié)果的輸入,并對這部分輸入的測試結(jié)果進(jìn)行單獨(dú)評估。
這種改進(jìn)方法有點(diǎn)像回歸測試,并給你提供一種方法來跟蹤你改善用戶體驗(yàn)的效果,因?yàn)閱蝹€模型精度指標(biāo),將永遠(yuǎn)無法完全捕捉到人們所關(guān)心的所有信息。通過查看一小部分過去引發(fā)強(qiáng)烈反應(yīng)的例子,你可以獲得一些獨(dú)立的證據(jù),來表明你確實(shí)正在為用戶提供更好的服務(wù)。
如果因?yàn)檫^于敏感以至于你無法給模型獲得這些輸入數(shù)據(jù),可采用自我測試或內(nèi)部實(shí)驗(yàn)的方式,來確定哪些輸入會產(chǎn)生這些錯誤,然后用回歸集來替換它們。
故事是什么,牽牛花?
我希望我已成功說服你在數(shù)據(jù)上花費(fèi)更多的時間,并且給了你一些如何投資改善它的觀點(diǎn)。我對這個有價值的領(lǐng)域沒有關(guān)注太多,僅在這里給了一些膚淺的建議,所以我感謝每一個與我分享他們策略的人,并且我希望我將會聽到更多關(guān)于你已取得成功的方法。
我認(rèn)為將會有越來越多的專業(yè)工程師團(tuán)隊(duì),組織專注于數(shù)據(jù)集的優(yōu)化改善,而不是留給 Ml 研究人員來推動進(jìn)展,我期待看到整個領(lǐng)域因?yàn)檫@些而得到發(fā)展。
我總是驚嘆即使針對嚴(yán)重缺陷的訓(xùn)練數(shù)據(jù),模型一樣會運(yùn)作良好,因此我迫不及待的想看到我們的數(shù)據(jù)集模型改進(jìn)以后還能做些什么。
翻譯:孫宗堯、郭佳昌、石金紅、劉嬌、張韶華
整理:凡江
原文作者:Pete Warden
原文鏈接:https://petewarden.com/2018/05/28/why-you-need-to-improve-your-training-data-and-how-to-do-it/
來源:https://www.leiphone.com/news/201806/kpXvrKxbTPaGlesx.html
本文來源于人人都是產(chǎn)品經(jīng)理合作媒體@雷鋒網(wǎng),譯者@孫宗堯、郭佳昌、石金紅、劉嬌、張韶華
題圖來自Unsplash,基于CC0協(xié)議
- 目前還沒評論,等你發(fā)揮!