Reddit熱議:Nature預測餘震論文被疑存重大缺陷,遭論文作者回懟
【新智元導讀】一篇一年前的Nature論文近日在Reddit上引發熱議,一位數據科學家認為這篇預測地震餘震的論文在數據處理方法上存在重大缺陷,導致實驗結果虛高,他向Nature去信反映意見,後者承認問題存在,但認為沒有必要修正,而論文作者則態度強硬,不承認論文有問題。有人整理了事件的來龍去脈,引發熱烈討論。
近日,一篇一年前發表在《Nature》上的一篇關於使用深度學習技術預測大地震餘震的文章在Reddit上引發熱議。
事情的起源是,一位名叫Rajiv Shah數據科學家認為,這篇由哈佛大學和谷歌聯合發表的論文在訓練數據集和測試數據集劃分和選擇上存在重大缺陷,造成了“目標洩露”,導致預測性能結果偏高。這實際上使整個實驗結果不再有效。
於是他聯繫了《Nature》表達了自己的對這篇文章的不同意見,然而Nature方面儘管承認他的意見有合理之處,論文在模型和算法設計上存在缺陷,但拒絕對此進行修正。兩位論文作者也給出回覆意見,否認了Rajiv Shah的全部意見。
一年前舊賬重提:一篇Nature論文缺陷引發的爭議
於是,近日Rajiv Shah在Medium上發文,將此事的整個過程講述了一遍,並堅持自己的觀點。隨文附上了Nature論文、自己與Nature方面的通信往來,以及作者的回覆意見等。熱心網友將此文轉到Reddit上,引發熱烈討論:
來看看當事人Rajiv Shah在Medium上的博客文章對於此事的梳理:(Medium原文編譯)
人工智能,機器學習,預測建模和數據科學的研究在過去幾年中發展迅速。隨著人工智能研究和相關產業的持續增長,新一代的機器學習增強、自動化和GUI工具的誕生讓越來越多的人構建預測模型。
但這樣問題就來了:雖然使用預測建模工具變得更容易,但預測建模知識還不夠普及,如果不小心,就很容易導致錯誤的結論。
不良方法會導致不準確的結果
大概一年前,我在《自然》上讀到一篇文章,聲稱通過深度學習預測地震的餘震達到了前所未有的準確性。但讀過之後,我對他們的聲稱的結果產生了深深的懷疑。他們的方法的建模過程完全不夠仔細,導致結果不再可信。
與此同時,這篇論文引發了廣泛關注和認可。甚至在Tensorflow的官方說明中也提到了這篇文章,作為深度學習應用的例子。我發現這篇論文存在重大缺陷。論文中出現的數據洩漏問題會導致文中得出的準確度得分偏高,而且預測方法在模型選擇上也不夠關注(如果更簡單的模型可以達到同樣的準確度,就不必構建6層神經網絡了)。
回到我之前的觀點:論文中使用的方法很精巧,但在基本預測建模上的錯誤可能會使實驗的整個結果無效。數據科學家應該在工作中及時發現並避免這些問題。我認為本文作者們完全忽略了這一點,所以我聯繫了作者,希望能改進文中的分析流程。雖然我們之前溝通過,但關於這篇文章的疑問,她沒有回覆我的郵件。
Nature回覆:承認瑕疵,拒絕修正,論文作者表示沒毛病
那麼,我該怎麼辦?我的同事建議我發個Twitter就算了,但我認為應該大力提倡良好的建模習慣和理念。所以在接下來的6個月裡,我一直在記錄自己的結果,並與Nature方面進行了分享。
今年1月,我收到了Nature的一份回覆說明,認為儘管關於數據洩漏和模型選擇的嚴重問題使文中的實驗結果不夠可靠,但他們認為沒有必要糾正,因為Devries等人主要關注的是將機器學習作為一種工具來獲得對自然世界的洞察力,重點不是算法設計的細節。而此文的作者則做出了措辭更為嚴厲的迴應。
我感到很失望。這是一篇重磅論文(畢竟發在Nature上啊),儘管文中的方法有缺陷,但它還是發表了,推動了對人工智能的又一波追捧。
本週,兩位從事地震分析的數據科學家Arnaud Mignan和Marco Broccardo也撰文指出了在Nature那篇餘震預測文章中發現了缺陷。我也把我自己的分析和可重現的代碼放在了github上。
我想說清楚一點:我不是故意和Nature那篇論文的作者人品有問題。我不認為她們是有意為之,她們的目標只是展示如何將機器學習技術應用於餘震預測。文章作者之一Devries是一位多才多藝的地震科學家,希望將最新的方法用於她的研究領域,並從中找到亮眼的結果。
但問題在於:這些觀點和結果是基於有根本缺陷的方法得出的。僅僅說“這不是機器學習論文,而是地震論文”是解釋不了的。一旦使用了預測模型,那麼預測結果的質量就取決於建模質量,取得的成果就屬於數據科學的成果,數據科學的結果必須嚴謹。
期刊方面歷來對刊登對關於最新技術和方法的論文興趣極高,但是,如果我們允許有基本問題的論文或項目取得進展,就會傷害我們所有人,對預測建模領域造成破壞。
Nature論文介紹:深度學習預測餘震效果拔群
實際上,新智元在此前的報道中曾對Nature這篇文章進行過簡要介紹:
谷歌和哈佛大學在Nature雜誌發表的一篇論文中,研究人員展示瞭如何用深度學習預測餘震位置,而且預測結果比現有模型更可靠。
他們訓練了一個神經網絡,在一個包含131000多個“主震-餘震”事件的數據庫中尋找模式,然後在一個包含30000對類似事件的數據庫中測試其預測。
深度學習網絡比最有用的現有模型(稱為“庫侖破裂應力變化”)更可靠。在從0到1的精度範圍內——1是完全準確的模型,0.5是一半準確的模型——現有庫侖模型得分為0.583,而新的AI系統達到0.849。
“關於地震,你需要知道三件事情,”研究人員說:“它們什麼時候發生、它們會有多強烈、它們會發生在哪裡。在這項工作之前,我們有經驗定律來解釋它們發生的時間和規模,現在我們正在研究它們可能發生在哪。”
人工智能在這一領域的成功歸功於該技術的核心優勢之一:它能夠發現複雜數據集中以前被忽視的模式。這在地震學中尤為重要,因為在地震學中看到數據中的關聯性非常困難。地震事件涉及太多變量,從不同區域的地面構成到地震板塊之間的相互作用類型,以及能量在地震波中穿過地球傳播的方式。理解這一切是非常困難的。
研究人員表示,他們的深度學習模型能夠通過考量一個被稱為“米塞斯屈服準則”(von Mises yield criterion)的因素來做出預測,這是一種用於預測材料何時開始在壓力下破裂的複雜計算。研究人員表示,這個因素常用於冶金等領域,“但在地震科學中從未流行過。”現在,隨著這一新模型的發現,地質學家可以研究其關聯性。
儘管這項研究取得了成功,但它還遠未準備好在現實世界中應用。首先,AI模型只關注由地面永久性變化引起的餘震,稱為靜態應力。但後續地震也可能是由於後來發生的地面隆隆聲造成的,稱為動態壓力。現有模型也太慢而無法實時工作。這很重要,因為大多數餘震發生在地震發生後的第一天,然後每過一天頻率大致減半。
Rajiv的意見:訓練方法缺陷導致“目標洩露”,實驗結果虛高
在Rajiv致Nature的信中,指出這篇文章中存在“重大方法性錯誤”,使得文章結論不再嚴謹可靠。Rajiv主要提出了三點意見,以第一點為主。
第一,文中對模型訓練和測試數據運用存在缺陷,出現了“目標洩露”(Target Leakage),論文中公佈的預測精度實際上是偏高的結果(AUC=0.849)。論文中使用地震中部分數據來訓練模型,然後再次使用這些數據來測試模型。這種目標洩露會導致機器學習中的結果偏高,而實際效果並沒有這麼好。為了避免這一錯誤,需要使用“分組分區”的方法,保證地震數據只會出現在訓練部分或測試部分其中之一,而本文沒有這樣做。
第二個問題是沒有使用學習曲線。
第三是上來就使用深度學習模型,而沒有考慮邏輯迴歸、隨機森林等基線方法。這可能會給讀者造成誤導,認為只有深度學習才能對餘震預測任務取得良好效果,實際上並非如此,許多其他方法(如SVM、GAM)都可以獲得與文中模型基本相當的性能。
在Nature的回覆中,實際上在一定程度上承認了Rajiv意見的合理性,但拒絕對此進行糾正。
Nature方面的態度是:
儘管關於數據洩漏和模型選擇的問題使文中的實驗結果不夠可靠,但沒有必要糾正,因為本文作者Devries等人主要關注的是將機器學習作為一種工具來獲得對自然世界的洞察力,算法設計的細節不是重點。
而論文作者方面給出的回覆意見對這三點均予以反駁,二位作者表示:
1、Rajiv關於“數據洩露”使得模型性能虛高的說法在科學背景下不具備合理性。對地震數據訓練集和測試集的分組符合機器學習的基本方法。
2、本文使用神經網絡作為工具,為了獲得關於餘震的一些模式信息,並沒有表示其他機器學習方法無用的意思。
3、整個文章的主旨就是神經網絡能夠成功學習簡單的模式。
二位作者還在回覆意見的最後部分表示,Rajiv的評論沒有任何科學背景。我們是地震科學家,我們的目標是利用機器學習獲得關於餘震位置模式的信息,完成這個目標的是我們,而不是Rajiv的這些評論。如果Nature選擇公開這些評論,我們會感到很失望。
網友熱議:Nature承認有問題就該改,作者態度令人堪憂
Nature上的文章從來不缺少關注,尤其是出現重大爭議的文章。雖然是一筆一年前的老賬,但來龍去脈還很清楚,毫無懸念地成為Reddit上頭號熱帖。
從回覆的熱門帖子看,很多網友認為Rajiv的批評意見值得充分討論,而Nature在承認論文中的算法存在一定問題的情況下仍然拒絕修改,沒有盡到應盡的責任。至於二位作者的回覆,一方面缺乏面對反對意見時的風度,而且對某些重要概念(比如數據洩露)的理解存在問題。
下面簡單摘選幾個:
1、我覺得論文作者的回覆比批評意見本身更為“居高臨下”啊。意見中提到使用更簡單的方法也能得到基本相同的結果,這說明進行一些模型簡化測試很有必要。尤其是作者回復的最後一段,簡直是在說:我們是地震科學家,敢問您是哪位啊?然後還跟Nature講,如果你公佈了這些評論意見,我們會“很失望”的。作者憑什麼這麼說?為什麼這些評論意見不該公佈?難倒公佈了不正能引發更多良性的科學討論嗎?而且評論中的意見也不是孤例,其他文章中也有提到這個問題。如果我是這篇文章的會議審稿人,我也會有類似的疑問,至少我會要求作者作一些模型簡化測試。
2、我讀了論文作者(Phoebe DeVrias和Brendan Meade)對Nature編輯的迴應。雖然我不知道這些評論的背景,但可以肯定地說,她們面對批評意見表現得非常不成熟。
3、“我們承認在訓練和測試集中都使用了來自同一地震的數據,但這並不重要,因為我們是聰明的地震科學家。” 嗯,很好很強大。
新智元的小夥伴們對這個事怎麼看?Rajiv的意見是否有道理?論文作者的反應是否得體?歡迎討論。
參考鏈接:
Medium上的質疑文章:
https://towardsdatascience.com/stand-up-for-best-practices-8a8433d3e0e8
Rajiv與Nature的通信往來,及論文作者的回覆意見:
https://github.com/rajshah4/aftershocks_issues/tree/master/correspondence
Reddit討論:
https://www.reddit.com/r/MachineLearning/comments/c4ylga/d_misuse_of_deep_learning_in_nature_journals/
Nature論文:
https://www.nature.com/articles/s41586-018-0438-y