“缺陷這么大也能發(fā)Nature?”,哈佛機(jī)器學(xué)習(xí)論文遭受?chē)?yán)重質(zhì)疑,針針見(jiàn)血
至少也做個(gè)Ablation啊。
地應(yīng)栗 發(fā)自 凹非寺 量子位 報(bào)道 | 公眾號(hào) QbitAI
“登上Nature的研究,就是重要的研究,還能有這樣的缺陷?”
最近幾天,哈佛一篇用深度學(xué)習(xí)預(yù)測(cè)余震位置的Nature論文,遭受了地震一般的猛烈質(zhì)疑,被封為“深度學(xué)習(xí)的錯(cuò)誤用法”。
發(fā)起挑戰(zhàn)的是名叫Rajiv Shah的數(shù)據(jù)科學(xué)家,在伊利諾伊大學(xué)芝加哥分校做兼職助理教授。
他用論文作者提供的代碼重現(xiàn)了算法,由此提出的問(wèn)題,幾乎可以全盤(pán)否定這項(xiàng)研究的意義:
一是,算法在測(cè)試集上的表現(xiàn),遠(yuǎn)遠(yuǎn)超過(guò)了訓(xùn)練集,這不是有數(shù)據(jù)泄漏么?二是,用隨機(jī)森林之類(lèi)的簡(jiǎn)單方法,就能得出和神經(jīng)網(wǎng)絡(luò)相當(dāng)?shù)慕Y(jié)果,為什么還要用深度學(xué)習(xí)?
Shah說(shuō),深度學(xué)習(xí)不是拿來(lái)亂用的。
他花了半年時(shí)間,對(duì)這項(xiàng)研究做了仔細(xì)的分析,還把完整分析過(guò)程放上了GitHub,供大家自行判斷。
在公開(kāi)發(fā)表意見(jiàn)之前,Shah也把自己觀(guān)察到的問(wèn)題發(fā)給了論文作者和Nature。
雖然,作者團(tuán)并沒(méi)有回復(fù)他的郵件,卻給Nature寫(xiě)了封信。除了逐條回應(yīng)質(zhì)疑,也不乏情緒式發(fā)言,比如:
這些評(píng)論 (指Shah的質(zhì)疑) 不值得發(fā)表,Nature真把它們發(fā)出來(lái)的話(huà),我們會(huì)很失望的。
一來(lái)一往,引發(fā)了機(jī)器學(xué)習(xí)社區(qū)熱烈的討論,Reddit熱度已經(jīng)超過(guò)600。
這篇研究,仿佛比一年前登上Nature官網(wǎng)頭條的時(shí)候,還更加矚目了。
那么一起來(lái)觀(guān)察一下,論文是怎樣的論文,質(zhì)疑是怎樣的質(zhì)疑。
“打根上就錯(cuò)了”
論文來(lái)自哈佛和谷歌的四位科學(xué)家,思路大概是這樣的:
一次主震發(fā)生后,附近巖石中的應(yīng)力會(huì)發(fā)生改變。從前科學(xué)家也是用這樣的改變,來(lái)預(yù)測(cè)余震可能發(fā)生的位置,這叫“應(yīng)力斷裂法” (Stress-Failure Method) 。
它已經(jīng)能解釋許多余震地點(diǎn)的規(guī)律,但還有更多無(wú)法預(yù)測(cè)的情況。于是,團(tuán)隊(duì)便利用神經(jīng)網(wǎng)絡(luò)的力量,學(xué)習(xí)了131,000次主震和余震。
這個(gè)算法模擬了一個(gè)網(wǎng)格,每格包含主震震中5公里的范圍。把每次主震和它的余震情況,以及應(yīng)力改變的數(shù)據(jù)都喂給AI,訓(xùn)練出預(yù)測(cè)每一格余震概率的能力。
團(tuán)隊(duì)說(shuō),實(shí)驗(yàn)證明AI預(yù)測(cè)比傳統(tǒng)的應(yīng)力斷裂法要準(zhǔn)。另外,AI還能指示哪些參數(shù)對(duì)余震預(yù)測(cè)更重要:比如金屬應(yīng)力的變化,就是從前科學(xué)家很少用到的數(shù)據(jù)。
研究人員覺(jué)得,這次研究會(huì)給今后的余震預(yù)測(cè),帶去一些啟發(fā)。
但在數(shù)據(jù)科學(xué)家Shah的眼里,他們得出的結(jié)論,完全建立在有缺陷的根基之上,并不可靠:
數(shù)據(jù)泄漏,結(jié)果摻水
Shah用論文作者開(kāi)源的代碼和數(shù)據(jù)集,跑了跑算法。發(fā)現(xiàn)了奇怪的事情:
測(cè)試集上的AUC,明顯比訓(xùn)練集上要高。
Shah說(shuō),測(cè)試集比訓(xùn)練集成績(jī)好,根本不正常。出現(xiàn)這種現(xiàn)象,最大的可能性就是數(shù)據(jù)泄漏?(Data Leakage) 。
不只是推測(cè),觀(guān)察一下數(shù)據(jù)集,他便發(fā)現(xiàn)了證據(jù):
1985NAHANN01HART,1996HYUGAx01YAGI,1997COLFIO01HERN,1997KAGOSH01HORI,2010NORTHE01HAYE,這些編號(hào)的地震,在訓(xùn)練集和測(cè)試集里都出現(xiàn)了。
發(fā)現(xiàn)數(shù)據(jù)集有重疊還不夠,要證明這些重疊真的會(huì)影響AI的成績(jī):
保證一次地震的數(shù)據(jù),只存在于訓(xùn)練集,或者只存在于測(cè)試集,而不能兩者都有。
數(shù)據(jù)集修改之后,測(cè)試集上的成績(jī)降下來(lái)了,也并沒(méi)不傳統(tǒng)方法更優(yōu)秀:
△ 第2行=傳統(tǒng)方法,第5行=神經(jīng)網(wǎng)絡(luò)
這樣一來(lái),Shah便否定了論文得出的結(jié)論。
但故事并沒(méi)有結(jié)束。在他眼里,這項(xiàng)研究還有其他詭異的地方。
沒(méi)必要用深度學(xué)習(xí)
Shah說(shuō),機(jī)器學(xué)習(xí)研究通常都會(huì)用一些基準(zhǔn)算法?(Benchmark Algorithm) ,來(lái)衡量自家模型的表現(xiàn)。
隨機(jī)森林和邏輯回歸都是常用的基線(xiàn)。
這篇論文沒(méi)有跟任何基線(xiàn)作對(duì)比。但Shah測(cè)試的結(jié)果表示,一個(gè)隨機(jī)森林就能解決同樣的問(wèn)題,表現(xiàn)和神經(jīng)網(wǎng)絡(luò)幾乎無(wú)差。
Shah說(shuō),論文里的任務(wù)的確是隨意一個(gè)簡(jiǎn)單模型,如支持向量機(jī) (SVM) 、如廣義相加模型 (GAM) ,都可以得出和神經(jīng)網(wǎng)絡(luò)相當(dāng)?shù)慕Y(jié)果。
他覺(jué)得,論文給了讀者一種誤導(dǎo),讓人以為只有深度學(xué)習(xí)才能做到。
如果不是這樣的話(huà),能用簡(jiǎn)單模型解決的問(wèn)題,就沒(méi)必要搭個(gè)6層的深度網(wǎng)絡(luò)。
對(duì)于自己選用的方法,研究人員應(yīng)該說(shuō)明它的優(yōu)越性,這一點(diǎn)余震論文也沒(méi)有做到。
再退一步,即便神經(jīng)網(wǎng)絡(luò)真的比基線(xiàn)模型表現(xiàn)更好,Shah也提出了針對(duì)這一種方法的質(zhì)疑:
1500行數(shù)據(jù)就能搞定
論文提到,神經(jīng)網(wǎng)絡(luò)用了470萬(wàn)行數(shù)據(jù),得到了最終的結(jié)果。
Shah認(rèn)為,研究人員沒(méi)有用學(xué)習(xí)曲線(xiàn)?(Learning Curve) 。
因?yàn)?,如果用了就?huì)發(fā)現(xiàn),只要拿數(shù)據(jù)集的一小部分來(lái)訓(xùn)練,已經(jīng)可以得到很好的結(jié)果。
比如,Shah只用了1500行數(shù)據(jù)、兩個(gè)Epoch,就獲得了和論文里相當(dāng)?shù)某煽?jī)。
也就是說(shuō),就算用深度學(xué)習(xí)是個(gè)合理的選擇,得出一個(gè)這樣“簡(jiǎn)單”的結(jié)果,也不該用到那么多數(shù)據(jù)。
這三點(diǎn)質(zhì)疑,原本都是寫(xiě)在Shah發(fā)給論文作者的郵件里。只是一直沒(méi)有收到回復(fù)。
后來(lái),他又把這些問(wèn)題發(fā)給Nature編輯部。
這次終于有回復(fù),但Nature認(rèn)為雖然數(shù)據(jù)泄漏確有嚴(yán)重嫌疑,模型的選擇問(wèn)題也會(huì)令實(shí)驗(yàn)結(jié)果無(wú)效,但是覺(jué)得并沒(méi)有必要去糾正這些錯(cuò)誤。因?yàn)椋?/p>
Devreis et al (作者們) 主要的點(diǎn)在于,把深度學(xué)習(xí)作為探索自然界的一個(gè)工具,而不在于算法設(shè)計(jì)中的細(xì)節(jié)。
一邊失望,Shah一邊決定把自己的所有分析,直接公開(kāi)給全世界看。
他說(shuō),機(jī)器學(xué)習(xí)從一個(gè)小眾領(lǐng)域,變成迅猛發(fā)展的行業(yè)了。
有一大波ML擴(kuò)增、自動(dòng)化、GUI工具,讓各行各業(yè)的人都能把深度學(xué)習(xí)用到自己的工作上去。
而問(wèn)題就在這里:
這些工具是降低了機(jī)器學(xué)習(xí)/數(shù)據(jù)科學(xué)的門(mén)檻,但人類(lèi)的知識(shí)水平并沒(méi)有跟上。
數(shù)據(jù)科學(xué)家是接受過(guò)訓(xùn)練的,他們能夠發(fā)現(xiàn)一些非常根本、但普通人不易察覺(jué)的問(wèn)題。
前文提到的數(shù)據(jù)泄漏,就是典型的例子。
除了發(fā)現(xiàn)問(wèn)題的能力之外,勇于承認(rèn)“這結(jié)果也太好了,好到不像真的”,也是一種修為。
換句話(huà)說(shuō),不能被好結(jié)果沖昏了頭,要記得自己做的是嚴(yán)謹(jǐn)?shù)目茖W(xué)。
Shah說(shuō),去年這篇論文登上Nature之后,關(guān)注度爆炸,還獲得了廣泛的認(rèn)可。
就連谷歌發(fā)文宣傳TensorFlow 2.0,講到深度學(xué)習(xí)都能做些什么,舉的第一個(gè)例子就是這項(xiàng)研究。
把論文里的問(wèn)題指出來(lái),可以給整個(gè)社區(qū)一個(gè)好的反例,告訴大家常見(jiàn)的錯(cuò)誤都有哪些,真正的機(jī)器學(xué)習(xí)研究應(yīng)該是什么樣的。
所以,雖然有同事勸他發(fā)條推特就別再管了,Shah依然堅(jiān)持把全部見(jiàn)解發(fā)布了。
他的分析結(jié)果,還得到了許多人的贊同。
有位網(wǎng)友 (sensetime,這名字怎么有點(diǎn)熟悉) 說(shuō):
如果我在一個(gè)機(jī)器學(xué)習(xí)會(huì)議上審到這篇論文,應(yīng)該也會(huì)提出差不多的問(wèn)題吧。至少Ablation還是要做的吧。
注:Ablation Stuties判斷一個(gè)結(jié)構(gòu)是否有用的方法。加上這個(gè)結(jié)構(gòu),去掉這個(gè)結(jié)構(gòu),看兩者之間的表現(xiàn)有沒(méi)有差異。目的是,能用簡(jiǎn)單的方法解決問(wèn)題,就不用復(fù)雜的方法。
走出機(jī)器學(xué)習(xí),Ablation就是著名的控制變量法。大概是所有實(shí)驗(yàn)科學(xué),都離不開(kāi)的方法了。
那么,面對(duì)針針見(jiàn)血的質(zhì)疑,余震研究的作者是怎樣回應(yīng)的?
給Nature寫(xiě)了封信
三點(diǎn)質(zhì)疑,作者一一給出了解釋。
第一個(gè)問(wèn)題是數(shù)據(jù)泄漏,團(tuán)隊(duì)并不認(rèn)為有這樣的情況存在。
他們的說(shuō)法是:
訓(xùn)練集和測(cè)試集是基于不同的主震,隨機(jī)分的。而主震B(yǎng)本身,可能就是主震A的一次余震。所以,主震B(yǎng)的余震,和主震A的余震,也會(huì)有重疊。如果主震A在訓(xùn)練集里,主震B(yǎng)在測(cè)試集里,訓(xùn)練集和測(cè)試集就會(huì)有重疊。評(píng)論說(shuō)的是事實(shí)。
即便如此,作者也不覺(jué)得這是數(shù)據(jù)泄漏,理由是:
訓(xùn)練集里,是把主震A造成的應(yīng)力變化,映射到余震位置上。而主震B(yǎng)在測(cè)試集里,是把B造成的應(yīng)力變化,映射到余震位置上。測(cè)試集里要做的映射,和訓(xùn)練集里的完全不一樣。明明是要預(yù)測(cè)同樣的余震,主震卻不是那個(gè)主震了。所以,數(shù)據(jù)集里并沒(méi)有額外信息,能幫AI在測(cè)試集里表現(xiàn)得更好,反而可能降低AI的表現(xiàn)。
然而,占領(lǐng)Reddit討論版頂樓的,是這樣一句話(huà):
看了這些人的回應(yīng),感覺(jué)他們并不知道什么是數(shù)據(jù)泄漏。
關(guān)于第二個(gè)問(wèn)題,該不該用深度學(xué)習(xí),作者解釋?zhuān)?/p>
在比較淺或者非感知 (non-perceptual) 的機(jī)器學(xué)習(xí)任務(wù)里,神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林通常都表現(xiàn)差不多。一點(diǎn)也不奇怪。這篇論文的意義在于,一個(gè)神經(jīng)網(wǎng)絡(luò)用簡(jiǎn)單的應(yīng)力數(shù)據(jù),就學(xué)會(huì)了余震位置的預(yù)測(cè)。
如果糾結(jié)其他方法是不是也做得到,就找錯(cuò)重點(diǎn)了。
讀到這樣的回應(yīng),Shah有些哭笑不得。他在博客里寫(xiě)到:
只要用了預(yù)測(cè)模型,實(shí)驗(yàn)結(jié)果的說(shuō)服力就取決于模型的質(zhì)量。你的工作變成了數(shù)據(jù)科學(xué)的工作,也該有數(shù)據(jù)科學(xué)上的嚴(yán)謹(jǐn)。不是一句“這不是機(jī)器學(xué)習(xí)論文,是地震科學(xué)論文”就能混過(guò)去。
還有第三個(gè)問(wèn)題,學(xué)個(gè)簡(jiǎn)單規(guī)律是不是用了太多數(shù)據(jù)?
團(tuán)隊(duì)的回應(yīng)里卻沒(méi)有提到“太多數(shù)據(jù)”這件事:
對(duì),就是學(xué)到了一個(gè)簡(jiǎn)單的規(guī)律,這個(gè)事實(shí)就是整篇論文的全部意義了。神經(jīng)網(wǎng)絡(luò)從一堆非常簡(jiǎn)單、卻被人遺忘的數(shù)據(jù)里,學(xué)到一個(gè)預(yù)測(cè)方法。論文花了很大的篇幅來(lái)寫(xiě)這一點(diǎn),也是因?yàn)樗褪且饬x。
只記得強(qiáng)調(diào),自己發(fā)現(xiàn)了從前沒(méi)被當(dāng)作預(yù)測(cè)工具的一些參數(shù)。
這封信的內(nèi)容,大家并不買(mǎi)賬。臺(tái)下的看客甚至開(kāi)始了調(diào)侃:
聽(tīng)他們的口氣,似乎就快做好準(zhǔn)備,開(kāi)家深度學(xué)習(xí)創(chuàng)業(yè)公司了。就叫leakAIge。別說(shuō)了,拿好我的天使投資!!!
如果說(shuō)上面的三條解釋?zhuān)皇橇钣^(guān)眾感到蒼白而已。那么來(lái)欣賞作者的一段情緒式發(fā)言:
這些評(píng)論,并不值得發(fā)表在Nature上。它們也不會(huì)推動(dòng)這個(gè)領(lǐng)域向前走。事實(shí)上,這些評(píng)論要么是錯(cuò)的,要么是全然誤解了科學(xué)的意義,聽(tīng)上去還很居高臨下。全都是沒(méi)有科學(xué)依據(jù)的。如果Nature把這些評(píng)論發(fā)布出來(lái),我們會(huì)很失望。
這些激憤的字句,引起了網(wǎng)友 (sensetime) 的一串驚奇問(wèn)號(hào):
質(zhì)疑為啥不值得發(fā)在Nature上啊?為啥要被河蟹啊?難道不是把它們公開(kāi),才能促進(jìn)健康的學(xué)術(shù)討論么?
同理,對(duì)于Nature編輯部的不作為,也有人 (darchon30704) 表示了相似的不滿(mǎn):
這種對(duì)待批評(píng)的態(tài)度,非常不成熟了。
那么,這篇看上去千瘡百孔的研究,和它的作者團(tuán),就真的沒(méi)有一絲優(yōu)點(diǎn)了么?
One More Thing
提出三大質(zhì)疑的Shah,最終還是為這支團(tuán)隊(duì)講了句話(huà):
感謝作者們開(kāi)源了代碼,公開(kāi)了數(shù)據(jù)集,不然就沒(méi)辦法找到里面的問(wèn)題。開(kāi)源也是整個(gè)領(lǐng)域都應(yīng)該堅(jiān)持做下去的事情。
論文傳送門(mén):
http://sci-hub.tw/https://www.nature.com/articles/s41586-018-0438-y
代碼傳送門(mén):
https://github.com/phoebemrdevries/Learning-aftershock-location-patterns
作者回應(yīng):
https://github.com/rajshah4/aftershocks_issues/blob/master/correspondence/Authors_DeVries_Response.pdf
Shah的分析過(guò)程:
https://github.com/rajshah4/aftershocks_issues
Shah的博客:
https://towardsdatascience.com/stand-up-for-best-practices-8a8433d3e0e8
其他人也質(zhì)疑過(guò)這項(xiàng)研究,還發(fā)了兩篇論文:
1、http://sci-hub.tw/https://link.springer.com/chapter/10.1007/978-3-030-20521-8_1
2、https://arxiv.org/abs/1904.01983
Reddit討論版:
https://www.reddit.com/r/MachineLearning/comments/c4ylga/d_misuse_of_deep_learning_in_nature_journals/
- 馬云正式卸任后,阿里巴巴開(kāi)盤(pán)跌0.87%2019-09-10
- 亞馬遜在華拓展云計(jì)算團(tuán)隊(duì),挑戰(zhàn)阿里巴巴和騰訊2019-10-16
- AI獨(dú)角獸云知聲,已完成一期科創(chuàng)板IPO輔導(dǎo)2019-10-17
- IDC:今年上半年中國(guó)公有云服務(wù)市場(chǎng)規(guī)模達(dá)54.2億美元2019-11-07