0
近日,一個大型的新的 CT 腦數(shù)據(jù)集被發(fā)布,其目的是訓練模型來檢測顱內(nèi)出血。由此,Luke Oakden-Rayner 寫了一篇名為《AI competitions don’t produce useful models》的博文,這篇文章在社交媒體上引發(fā)了激烈討論。
文章作者 Luke Oakden-Rayner 認為,AI 比賽不會催生在實際中可用的好的模型,其意義到底在哪里?”Luke Oakden-Rayner 的文章如下。
到目前為止,這個比賽的數(shù)據(jù)集看起來還不錯,盡管我還沒有詳細研究(魔鬼經(jīng)常出現(xiàn)在細節(jié)中)。
該數(shù)據(jù)集是為一場競賽而發(fā)布的,和往常一樣,它在 Twitter 上掀起了一股友好的競爭風氣:
當然,這也引起了很多人的質疑。有人認為,比賽就像擲硬幣,全看運氣。只要有些人的模型和其他人相比更符合數(shù)據(jù)集,就可以獲得高分。
有人認為「既然有一個不變的測試集,你怎么能過度適合?」,也有人認為「所提出的解決方案決并不打算直接應用」。
隨著討論的進行,我意識到,雖然我們「都知道」競爭結果在臨床意義上有點可疑,但我從來沒有真正看到一個令人信服的解釋——為什么會這樣。
我希望通過這篇文章告訴你,為什么比賽并不能構建真正意義上有用的人工智能系統(tǒng)。
讓我們開始討論吧
辯論不是一件錯誤的事情
那么什么是醫(yī)學人工智能競賽呢?以下是一些選項:
讓團隊嘗試解決臨床問題
讓團隊探索如何解決問題并嘗試新的解決方案
讓團隊建立一個在競賽測試集中表現(xiàn)最好的模型
浪費時間
現(xiàn)在,我并沒有那么疲倦,我跳到最后一個選項(怎樣才能讓時間花得有價值是一個問題,臨床效用只是一個考慮因素)。
但前三個選項呢?這些模型是否適用于臨床任務,它們是否帶來了廣泛適用的解決方案和足夠的新穎性,或者它們只是在競賽中表現(xiàn)良好,而不是在現(xiàn)實世界中?
(劇透:我要為后者辯護)。
好的模型與壞的模型
我們是否應該期待這場競賽會產(chǎn)生好的模型?讓我們看看組織者怎么說。
酷!完全同意!缺乏大型、標記良好的數(shù)據(jù)集是構建有用的臨床人工智能的最大障礙,因此該數(shù)據(jù)集應該會有所幫助。
但是說數(shù)據(jù)集是有用的并不是說這個競賽會產(chǎn)生好的模型。
因此,為了定義我們的術語,我們假設一個好的模型是一個可以在沒有遇到過的數(shù)據(jù)上檢測出腦出血情況的模型(模型對數(shù)據(jù)沒有認知)。
與之相反,一個壞的模型指的是不能在未遇到的數(shù)據(jù)中檢測出腦出血的模型。
這些定義是沒有爭議的。我相信大賽組織者同意這些定義,他們更希望自己的參賽者構建出好的模型,而不是壞的模型。事實上,他們顯然是以一種旨在推廣優(yōu)秀模型的方式來舉辦比賽的。
這還不夠。
Epi vs ML,戰(zhàn)斗!
如果學術上的爭論這么可愛就好了
ML101(這里擬人化了)告訴我們,控制過度擬合的方法是使用一個保持測試集,它里面是模型訓練期間沒有見過的數(shù)據(jù)。這模擬了醫(yī)生在臨床環(huán)境中看到新病人的情況。
ML101 還認為,保持數(shù)據(jù)只適用于對一個模型進行測試。如果你測試多個模型,那么即使你沒有將測試信息泄漏到你的開發(fā)過程中,你的最佳結果可能也只是一個異常值,它只是偶然地比你的最差結果好。
因此,如今的競賽組織者只會制作出具有持久性的測試集,并且只允許每個團隊在數(shù)據(jù)上運行他們的模型一次。在 ML101 看來,這樣問題就解決了。獲勝者只測試了一次,所以沒有理由認為他們的模型是靠著異常情況得到這個結果的,他們有最好的模型。
別那么快,伙計。
讓我給你介紹一下 Epidemiology 101,他聲稱自己有一枚神奇的硬幣。
Epi101 告訴你擲硬幣 10 次。如果你得到 8 個或更多的人頭,這就證實了硬幣是魔法(雖然這個斷言顯然是胡說八道,但你還會跟著玩,因為你知道 8/10 人頭等于一個公平硬幣的 p 值<0.05,所以它一定是合法的)。
在你不知道的情況下,Epi101 對另外 99 個人做了同樣的事情,所有人都認為他們是唯一一個測試硬幣的人。你認為接下來會發(fā)生什么?
如果硬幣是完全正常的,而不是魔法,大約 5 個人會發(fā)現(xiàn)硬幣是特別的。這看起來似乎很明顯,但要從個人的角度來考慮——這 5 個人都只做了一次測試。根據(jù)他們的說法,他們有統(tǒng)計上顯著的證據(jù)表明他們持有一枚「魔法」硬幣。
現(xiàn)在想象一下你不是在擲硬幣。假設你們都在一個競賽測試集中運行一個模型。與其懷疑你的硬幣是不是魔法,你反而希望你的模型是最好的,因為這將為你贏得 25000 美元。
當然,你只能提交一個模型。如果多余一個,那就是作弊。其中一個模型可以表現(xiàn)得很好,這相當于擲一個公平的硬幣得到 8 個人頭,只是一個偶然事件。
多重假設檢驗
當然,我們在 Epi101 硬幣上看到的效果也適用于我們的競賽。由于隨機性,有些模型的性能會優(yōu)于其他模型,即使實際上它們都是一樣好的。從數(shù)學上來看,到底是一個團隊測試了 100 個模型還是 100 個團隊并不重要。
即使某些模型在某種意義上比其他模型要好,除非你真的相信贏家是唯一能夠使用 ML-wizard 的,否則你必須接受,至少其他一些參與者會取得類似的結果,因此冠軍能夠獲勝只是因為他們運氣好。真正的「最佳表現(xiàn)」將在某個地方重新出現(xiàn),可能高于平均水平,但低于勝利者。
Epi101 提到,這種效應被稱為多重假設檢驗。在競賽中,你會有很多假設——每個參與者都比其他所有人都好。對于 100 個參與者,有 100 個假設。
其中一個獨立的假設可能會告訴我們有一個具有統(tǒng)計學意義的贏家(p<0.05)。但綜合來看,即使獲勝者的計算「獲勝」p 值小于 0.05,也并不意味著我們只有 5% 的機會做出不合理的決定。事實上,如果這是硬幣翻轉(這個更容易計算,但不是完全不同)游戲,我們將有超過 99% 的機會出現(xiàn)一個或多個人會「贏」,并擲出了 8 個人頭的情況!
這就是人工智能競賽的贏家:一個在擲硬幣時碰巧得到 8 個人頭的人。
有趣的是,雖然 ML101 非常清楚,運行 100 個模型,選擇效果最好的一個將導致過度適合,但是他們很少討論這種「過度擬合的人群」。當你意識到幾乎所有的 ML 研究都是對經(jīng)過對公共數(shù)據(jù)集進行過度測試得到的,你會覺得這一點非常奇怪……
那么我們?nèi)绾翁幚矶嘀丶僭O檢驗呢?一切都歸結于問題的原因,那就是數(shù)據(jù)。Epi101 告訴我們,任何測試集都是目標群體的有偏版本。在這種情況下,目標人群是「所有 CT 頭部成像的患者,有或沒有顱內(nèi)出血」。讓我們來看看這種偏差是如何產(chǎn)生的,舉一個假設人口很少的演示例子:
在這個人群中,我們有相當合理的「臨床」病例組合。腦內(nèi)出血 3 例(可能與高血壓或中風有關),外傷性出血 2 例(右側硬膜下出血,左側硬膜外出血)。
現(xiàn)在,讓我們對這個總體進行采樣,以構建我們的測試集:
隨機地,我們最終會有大部分額外的軸(大腦本身以外)出血。一個在這個測試中表現(xiàn)良好的模型不一定能在真實的病人身上發(fā)揮作用。事實上,你可能會期待一個模型,它真正擅長識別軸外出血。
但 Epi101 不僅指出了問題,他還給出了一個解決方案。
如此強大
只有一種方法可以得到一個無偏的測試集——如果測試集包括了整個人群!這樣的話,無論哪種模式在測試中表現(xiàn)良好,它在實踐中也會是最好的,因為你在所有可能的未來患者身上都測試了它(這看起來很困難)。
這就引出了一個非常簡單的想法——隨著測試集的增大,測試結果變得更加可靠。我們實際上可以預測測試集是如何使用功率計算的。
這些是功率曲線。如果你粗略地了解你的「勝出」模型比下一個最佳模型要好多少,你可以估計你需要多少個測試用例才能可靠地證明它是更好的。
所以要想知道你的模型是否比競爭對手好 10%,你需要大約 300 個測試用例。您也可以看到,隨著模型之間的差異越來越小,所需病例的數(shù)量呈指數(shù)增長。
我們把這個付諸實踐吧。如果我們看看另一個醫(yī)學人工智能競賽,即 SIIM-ACR 氣胸分割挑戰(zhàn)賽,我們會發(fā)現(xiàn)在排行榜的頂端,骰子得分(介于 0 和 1 之間)的差異可以忽略不計。請記住,這個比賽有 3200 個案例(這是大概的,他們對骰子分數(shù)的貢獻并不都一樣)。
所以前兩名之間的差值是 0.0014… 讓我們把它扔進一個樣本量計算器。
好的,為了顯示這兩個結果之間的顯著差異,您需要 92 萬個病例。
但為什么停在那里?我們甚至還沒有討論多重假設檢驗。即便只有一個假設,只有兩個參與者,就需要這么多的案例。
如果我們看看排行榜,有 351 支隊伍提交了意見。規(guī)則規(guī)定他們可以提交兩個模型,所以我們不妨假設至少有 500 個測試。這肯定會產(chǎn)生一些異常值,就像 500 人擲硬幣一樣。
Epi101 就像緊急救護一樣。多重假設檢驗在醫(yī)學上非常普遍,特別是在基因組學等「大數(shù)據(jù)」領域。在過去的幾十年里,我們一直在學習如何處理這個問題。處理這個問題最簡單可靠的方法叫做 Bonferroni 校正。
Bonferroni 校正非常簡單:將 p 值除以測試次數(shù),以找到一個「統(tǒng)計顯著性閾值」,該閾值已針對所有這些額外的硬幣翻轉進行了調(diào)整。在這種情況下,我們做 0.05/500。我們的新 p 值目標是 0.0001,任何比這更差的結果都將被視為支持零假設(即競爭對手在測試集上的表現(xiàn)同樣出色)。我們把它插到我們的功率計算器上。
酷!它只增加了一點…一個有意義的結果需要 260 萬個病例。
現(xiàn)在,你可能會說這里很不公平,排行榜的頂端一定有一小群優(yōu)秀的模型,他們彼此之間沒有明顯的不同。好吧,我們夸大一點。如果我把第 1 名和第 150 名做比較,肯定沒人會抱怨吧?
所以需要的數(shù)據(jù)還是比我們現(xiàn)有的多。事實上,我必須去看第 192 名和第 1 名的差距,以找到樣本大小足以產(chǎn)生「統(tǒng)計上顯著」差異的結果。
但也許這只是氣胸的特殊性引起的特殊挑戰(zhàn)?那么其他比賽呢?
在 MURA,我們有一個 207 張 x 光片的測試集,有 70 個團隊提交了「每月不超過兩個的模型」,所以我們可以大概地說,提交了 100 個模型。根據(jù)這些數(shù)字,「第 1 名」的模型只對第 56 位及以下名次的模型來說有統(tǒng)計意義上的差別。
在 RSNA 肺炎檢測挑戰(zhàn)賽中,共有 3000 張測試圖像,350 個團隊各提交一個模型。第 1 名只與第 30 名及以下相比效果顯著。
如果真的要把貓放在鴿子中間,那把什么放在藥中間呢?
當我們在 ImageNet 結果中從左到右移動時,同比的改善速度會減慢(效果大小會減?。跀?shù)據(jù)集上測試的人數(shù)也會增加。我真的無法估計數(shù)字,但是根據(jù)我們對多重測試的了解,真的有人認為 2010 年中期的 SOTA 不是過擬合了?
那么比賽是為了什么?
他們顯然不能可靠地找到最好的模型。它們甚至沒有真正揭示出構建優(yōu)秀模型的有用技術,因為我們不知道百余個模型中的哪一個模型實際使用了一個好的、可靠的方法,而哪一個方法恰好適合未充分利用的測試集。
你和比賽組織者交談…他們大多會說比賽是為了宣傳。我想這就夠了。
人工智能競賽是有趣的,它可以推動社區(qū)建設,人才發(fā)掘,品牌推廣,吸引外界的注意力。
但人工智能競賽并不是為了開發(fā)有用的模型。
via:https://lukeoakdenrayner.wordpress.com/2019/09/19/ai-competitions-dont-produce-useful-models/
雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)版權文章,未經(jīng)授權禁止轉載。詳情見轉載須知。