機(jī)器學(xué)習(xí)的七原罪
打破機(jī)器學(xué)習(xí)實(shí)驗(yàn)信譽(yù)的七個(gè)常見錯誤
機(jī)器學(xué)習(xí)是一種偉大的工具,正在改變著我們的世界。 在許多偉大的應(yīng)用中,機(jī)器(尤其是深度學(xué)習(xí))已被證明優(yōu)于傳統(tǒng)方法。 從用于圖像分類的Alex-Net到用于圖像分割的U-Net,我們看到了計(jì)算機(jī)視覺和醫(yī)學(xué)圖像處理領(lǐng)域的巨大成功。 不過,我看到機(jī)器學(xué)習(xí)方法每天都在失敗。 在許多這樣的情況下,人們迷上了機(jī)器學(xué)習(xí)的七大罪過之一。
盡管它們都很嚴(yán)厲并得出錯誤的結(jié)論,但有些卻比另一些更糟,甚至機(jī)器學(xué)習(xí)專家也可能因自己的工作而感到興奮。 即使是其他專家,也很難發(fā)現(xiàn)其中的許多缺點(diǎn),因?yàn)槟枰敿?xì)研究代碼和實(shí)驗(yàn)設(shè)置才能弄清楚它們。 特別是,如果您的結(jié)果看起來好得令人難以置信,那么您可能希望將此博客文章用作清單,以避免對您的工作有錯誤的結(jié)論。 僅當(dāng)您完全確定自己沒有遭受任何這些謬論時(shí),才應(yīng)該繼續(xù)向同事或公眾報(bào)告結(jié)果。
罪過1:數(shù)據(jù)和模型濫用

初學(xué)者在深度學(xué)習(xí)中常常犯下這種罪過。在最常見的情況下,實(shí)驗(yàn)設(shè)計(jì)存在缺陷,例如訓(xùn)練數(shù)據(jù)用作測試數(shù)據(jù)。使用簡單的分類器(例如最近的鄰居),這立即導(dǎo)致大多數(shù)問題的識別率達(dá)到100%。在更復(fù)雜,更深入的模型中,精度可能不是100%,而是98–99%。因此,如果您在第一張照片中獲得了如此高的識別率,則應(yīng)始終仔細(xì)檢查實(shí)驗(yàn)設(shè)置。但是,如果您使用新數(shù)據(jù),您的模型將完全崩潰,甚至可能產(chǎn)生比隨機(jī)猜測更糟糕的結(jié)果,即準(zhǔn)確度低于1 / K,其中K是類別數(shù),例如兩類問題的比例不到50%。在同一行中,您還可以通過增加參數(shù)的數(shù)量來輕松地過度擬合模型,從而完全記住訓(xùn)練數(shù)據(jù)集。另一個(gè)變體是使用過小的訓(xùn)練集,它不能代表您的應(yīng)用程序。所有這些模型都可能會破壞新數(shù)據(jù),即在實(shí)際應(yīng)用場景中使用時(shí)。
罪過2:不公平的比較
甚至機(jī)器學(xué)習(xí)方面的專家也可能陷入這種罪惡。如果您想證明自己的新方法比最新技術(shù)更好,那么通常會采用該方法。特別是研究論文經(jīng)常屈服于這一觀點(diǎn),以使評論者相信其方法的優(yōu)越性。在最簡單的情況下,您可以從某個(gè)公共存儲庫下載模型,然后使用該模型進(jìn)行微調(diào)或進(jìn)行適當(dāng)?shù)某瑓?shù)搜索,而無需針對已針對當(dāng)前問題開發(fā)的模型,并調(diào)整所有參數(shù)以在測試中獲得最佳性能數(shù)據(jù)。文學(xué)中有許多這種罪惡的例子。 Isensee等人揭露了最近的例子。在他們的非新網(wǎng)論文中,他們證明了原始的U-net幾乎勝過所有自2015年以來針對十個(gè)不同問題提出的對該方法的改進(jìn)。因此,您應(yīng)該始終對最新模型執(zhí)行相同數(shù)量的參數(shù)調(diào)整。
罪過3:微不足道的進(jìn)步
在完成所有實(shí)驗(yàn)之后,您最終找到了一個(gè)模型,該模型產(chǎn)生的結(jié)果要比最新模型更好。但是,即使在這一點(diǎn)上,您還沒有完成。機(jī)器學(xué)習(xí)中的所有內(nèi)容都是不精確的。此外,由于學(xué)習(xí)過程的概率性,您的實(shí)驗(yàn)會受到許多隨機(jī)因素的影響。為了考慮這種隨機(jī)性,您需要執(zhí)行統(tǒng)計(jì)測試。這通常是通過使用不同的隨機(jī)種子多次運(yùn)行實(shí)驗(yàn)來執(zhí)行的。這樣,您可以報(bào)告所有實(shí)驗(yàn)的平均效果和標(biāo)準(zhǔn)偏差。使用像t檢驗(yàn)這樣的顯著性檢驗(yàn),您現(xiàn)在可以確定觀察到的改善僅與機(jī)會相關(guān)的概率。為了使您的結(jié)果有意義,此概率應(yīng)至少低于5%或1%。為此,您不必是專家統(tǒng)計(jì)學(xué)家。甚至還有在線工具可以計(jì)算它們,例如用于識別率比較或相關(guān)性比較。如果您進(jìn)行重復(fù)實(shí)驗(yàn),請確保您還應(yīng)用Bonferroni校正,即,將所需的顯著性水平除以相同數(shù)據(jù)上的實(shí)驗(yàn)重復(fù)次數(shù)。有關(guān)統(tǒng)計(jì)測試的更多詳細(xì)信息,您應(yīng)該查看我們的深度學(xué)習(xí)講座的視頻。
罪四:混雜因素和不良數(shù)據(jù)

數(shù)據(jù)質(zhì)量是機(jī)器學(xué)習(xí)的最大陷阱之一。它可能會導(dǎo)致嚴(yán)重的偏見,甚至導(dǎo)致種族主義的AI。但是,問題不在于訓(xùn)練算法,而在于數(shù)據(jù)本身。例如,我們展示了使用兩個(gè)不同的麥克風(fēng)對51個(gè)揚(yáng)聲器進(jìn)行降維錄音。因?yàn)槲覀冧浿屏讼嗤膿P(yáng)聲器,所以在進(jìn)行適當(dāng)?shù)奶卣魈崛『螅瑢?shí)際上應(yīng)該將它們投影到相同的位置。但是,我們可以觀察到,相同的記錄形成兩個(gè)獨(dú)立的簇。實(shí)際上,在記錄場景的攝像機(jī)上,一個(gè)麥克風(fēng)直接位于揚(yáng)聲器的嘴部,而另一個(gè)麥克風(fēng)位于大約2.5米遠(yuǎn)的地方。通過使用來自兩個(gè)不同供應(yīng)商的兩個(gè)麥克風(fēng),或者在醫(yī)學(xué)成像的情況下,通過使用兩個(gè)不同的掃描儀,已經(jīng)可以產(chǎn)生類似的效果。如果您現(xiàn)在在掃描儀A上記錄了所有病理患者,在掃描儀B上記錄了所有對照對象,則您的機(jī)器學(xué)習(xí)方法將可能學(xué)會區(qū)分掃描儀,而不是實(shí)際的病理。您將對實(shí)驗(yàn)結(jié)果感到非常滿意,并獲得接近完美的識別率。但是,您的模型在實(shí)踐中將完全失敗。因此,請避免混淆因素和不良數(shù)據(jù)!
罪過5:標(biāo)簽不當(dāng)

Protagoras已經(jīng)知道:"在所有方面,衡量標(biāo)準(zhǔn)是人。"這也適用于許多分類問題的標(biāo)簽或基本事實(shí)。我們訓(xùn)練機(jī)器學(xué)習(xí)模型以反映人造類別。在許多問題中,我們認(rèn)為在定義它們的那一刻,這些類是清晰的。一旦我們查看了數(shù)據(jù),就會發(fā)現(xiàn)它通常也包含模棱兩可的情況,例如在ImageNet Challenge中顯示兩個(gè)對象而不是一個(gè)的圖像。如果我們?nèi)ヌ幚碇T如情感識別之類的復(fù)雜現(xiàn)象,那就更加困難了。在這里,我們意識到在許多現(xiàn)實(shí)生活中的觀察中,即使人類也無法清晰地評估情緒。為了獲得正確的標(biāo)簽,因此我們需要詢問多個(gè)評估者并獲得標(biāo)簽分布。我們在上圖中對此進(jìn)行了描述:紅色曲線顯示了清晰表殼的尖峰分布,即所謂的原型。藍(lán)色曲線表示模糊情況的廣泛分布。在這里,不僅機(jī)器,而且人類評級者都可能最終陷入矛盾的解釋中。如果您僅使用一個(gè)評估者來創(chuàng)建您的基本事實(shí),您甚至不會意識到這個(gè)問題,因此通常會引發(fā)有關(guān)標(biāo)簽噪聲及其有效處理方法的討論。如果您可以使用真實(shí)的標(biāo)簽分布(當(dāng)然這是很昂貴的),您甚至可以證明您可以通過消除模棱兩可的情況來顯著提高系統(tǒng)性能,例如我們在行為情感的情感識別中所看到的與現(xiàn)實(shí)生活中的情感。但是,在您的實(shí)際應(yīng)用程序中可能并非如此,因?yàn)槟鷱奈匆娺^模棱兩可的情況。因此,與單個(gè)評估者相比,您應(yīng)該更喜歡多個(gè)評估者。
罪過6:交叉驗(yàn)證混沌
這與罪#1幾乎是相同的罪過,但是它是變相的,我已經(jīng)看到這甚至發(fā)生在幾乎提交的博士學(xué)位中。 論文。 因此,即使是專家也可能會喜歡上它。 典型的設(shè)置是第一步需要選擇模型,體系結(jié)構(gòu)或特征。 因?yàn)橹挥袔讉€(gè)數(shù)據(jù)樣本,所以您決定使用交叉驗(yàn)證來評估每個(gè)步驟。 因此,您將數(shù)據(jù)分為N折,選擇具有N-1折的特征/模型,并在第N折上求值。 重復(fù)此N次后,您可以計(jì)算平均性能并選擇性能最佳的功能。 現(xiàn)在,您知道最佳功能是什么,接下來繼續(xù)使用交叉驗(yàn)證為您的機(jī)器學(xué)習(xí)模型選擇最佳參數(shù)。
這似乎是正確的,對吧? 沒有! 這是有缺陷的,因?yàn)槟呀?jīng)在第一步中看到了所有測試數(shù)據(jù)并平均了所有觀察值。 這樣,所有數(shù)據(jù)中的信息都會傳遞到下一步,您甚至可以從完全隨機(jī)的數(shù)據(jù)中獲得出色的結(jié)果。 為了避免這種情況,您需要遵循一個(gè)嵌套過程,該過程將第一步嵌套在第二個(gè)交叉驗(yàn)證循環(huán)中。 當(dāng)然,這非常昂貴,并且會產(chǎn)生大量實(shí)驗(yàn)運(yùn)行。 請注意,僅由于對相同數(shù)據(jù)進(jìn)行大量實(shí)驗(yàn),在這種情況下,僅由于偶然原因,您也可能會產(chǎn)生良好的結(jié)果。 因此,統(tǒng)計(jì)測試和Bonferroni校正同樣是強(qiáng)制性的(參見罪3號)。 我通常會盡量避免進(jìn)行大型的交叉驗(yàn)證實(shí)驗(yàn),并嘗試獲取更多數(shù)據(jù),以便您可以進(jìn)行訓(xùn)練/驗(yàn)證/測試拆分。
罪過7:對結(jié)果的過度解釋
除了所有先前的過失之外,我認(rèn)為在當(dāng)前的炒作階段,我們在機(jī)器學(xué)習(xí)中經(jīng)常犯的最大過錯是,我們過度解釋和夸大了自己的結(jié)果。 當(dāng)然,每個(gè)人都對通過機(jī)器學(xué)習(xí)創(chuàng)建的成功解決方案感到滿意,并且您有權(quán)為此感到自豪。 但是,您應(yīng)該避免將結(jié)果推斷在看不見的數(shù)據(jù)或狀態(tài)上,以一般地說已經(jīng)解決了問題,因?yàn)槟呀?jīng)用相同的方法解決了兩個(gè)不同的問題。
同樣,由于我們在罪過#5中所做的觀察,關(guān)于超人類表現(xiàn)的主張引起了懷疑。 您將如何勝過標(biāo)簽的來源? 當(dāng)然,您可以在疲勞和專心方面擊敗一個(gè)人,但在人工班上總體上勝過人類? 您要小心此聲明。
每個(gè)主張都應(yīng)基于事實(shí)。 您可以在討論中清楚地表明推測的基礎(chǔ)上假設(shè)該方法的普遍適用性,但要真正聲明這一點(diǎn),您必須提供實(shí)驗(yàn)或理論證據(jù)。 現(xiàn)在,很難讓您的方法具有應(yīng)有的可見性,并提出重大主張當(dāng)然會有助于推廣您的方法。 盡管如此,我還是建議您堅(jiān)持實(shí)地并堅(jiān)持證據(jù)。 否則,我們可能很快就會遇到下一個(gè)AI Winter,以及我們在前幾年已經(jīng)普遍懷疑的人工智能。 讓我們在當(dāng)前周期中避免這種情況,并堅(jiān)持我們真正有能力實(shí)現(xiàn)的目標(biāo)。
當(dāng)然,你們大多數(shù)人已經(jīng)知道了這些陷阱。 但是,您可能希望不時(shí)查看一下機(jī)器學(xué)習(xí)的七種罪過,只是為了確保您仍然在地上并且沒有為他們所迷:
罪過1:數(shù)據(jù)和模型濫用-分開訓(xùn)練和測試,檢查是否過度擬合!罪過2:不公平的比較-還調(diào)整了基線模型!罪過3:微不足道的改進(jìn)-做顯著性測試!罪過4:混雜因素和 錯誤的數(shù)據(jù)-檢查您的數(shù)據(jù)和采集!罪惡#5:標(biāo)簽不當(dāng)-使用多個(gè)評分者!罪惡#6:交叉驗(yàn)證混亂-避免過多的十字架驗(yàn)證!罪惡#7:結(jié)果的過度解釋-堅(jiān)持證據(jù)!