機器學習正遭遇“可重複性危機”,或已成“鍊金術”?
機器學習以其特有的優勢逐漸在科學研究中得到大量應用,然而,其內在的“黑箱”特點也帶來了一系列問題,有研究者認為正是機器學習的這種不可解釋性導致了當下科學研究的“可重複性危機”——如果科學不可重複,那我們是否還能稱之為真正的科學嗎?與此同時,更有研究者聲稱機器學習已經成為一種“鍊金術”。本文基於機器學習所帶來的“可重複性危機”,從“是什麼”“為什麼”以及“下一步該如何做”三個層次進行了闡述,為這一危機尋找出路:可重複性和可解釋性的機器學習模型。
一、什麼是“可重複性危機”?
“如今科學界的研究人員普遍意識到存在一種“可重複性危機”(Reproducibility Crisis)。我敢說,這其中很大一部分都來源於機器學習技術在科學中的應用。”
—— 摘自萊斯大學統計與電氣工程系教授 Genevera Allen
機器學習方法正在取代傳統的統計方法,越來越普遍地被應用到科學研究過程中,這會給科學界及其對知識的追求帶來什麼影響呢? 一些人認為,正是機器學習技術的“黑箱”導致了科學研究的“可重複性危機”。畢竟,如果科學不可重複,那我們是否還能稱之為真正的科學嗎?
(宣告:本文是我自己基於參考文獻中所參考的材料發表的一些觀點。這是學術界的一個有爭議的領域,歡迎大家進行建設性辯論。)
科學過程的生命週期
機器學習(ML)在科學研究中似乎已經無處不在,甚至在很多領域中已經替代了傳統的統計方法。雖然通常來說,ML技術更易於用作分析的一項工具,但它內在的“黑箱”特點給科學家在追求真理的過程中造成了一些嚴重的問題。
科學界的“可重複性危機”是指是指驚人數量的研究結果無法在另一組科學家團隊進行的同一個實驗中實現重複。這可能就意味最初的結果是錯誤的。一項研究表明,在全世界所有進行過的生物醫學研究中,有多達 85% 的研究結果都是徒勞無獲的。
關於“可重複性危機”的爭論可能是學術界中最接近機器學習和統計學學科間的鬥爭的一次爭論。
一位人工智慧研究員甚至在一篇科學文章中聲稱,機器學習已經成為一種“鍊金術”。(相關閱讀連結: https://www.sciencemag.org/news/2018/05/ai-researchers-allege-machine-learning-alchemy? )
他關於這個話題的一些論文和部落格文章,都非常值得一讀,比如:“大型尺度核機器的隨機特徵”,文章連結為: https://people.eecs.berkeley.edu/~brecht/papers/07.rah.rec.nips.pdf
ML成為了科學研究一項很好的補充,使其在研究中的應用變得不可避免。ML可以被視為一個工程任務——就像一條集建模、調參、資料預處理和與元素優化於一體的流水線。ML 的目的就是尋找最優解或最優預測,而這屬於科學研究的一項子集。
機器學習的型別和演算法本身就是科學研究的議題。與過去的統計方法一樣,現在研究者們正在撰寫大量各類 ML 演算法和 ML 演算法子類相關的科研論文。
2019年 2 月,Genevera Allen 在美國科學進步協會(AAAS)上發出了一個嚴重警告:科學家們正在學習基於機器學習演算法來發現資料中的模式,即使這些演算法只是專注於在另一個實驗中無法重複的噪音。
這一挑戰涉及多個學科,因為機器學習在天文學、基因組學、環境科學和醫療保健等多個領域都被應用於獲取發現。
其中,Genevera Allen 使用的最主要的例子是基因組資料,這些資料通常是資料量非常巨大的數百 GB 或數個 TB 的資料集。她指出,當科學家使用自己不太瞭解的 ML 演算法對基因組圖譜進行聚類分析時,常常會出現似是而非、不可重複的結果。
直到另一個團隊進行了類似的分析研究,並得出了完全不同的結果,這才使得之前的結果變得有爭議且被人質疑。這其中可能有多種原因:
-
缺乏演算法知識
-
對資料缺乏瞭解
-
對結果的曲解
二、造成“可重複性危機”的原因
1、演算法知識的欠缺
缺乏演算法知識的現象在機器學習應用領域顯得極為普遍。如果你不明白一個演算法是如何產生結果的,那又怎麼能確定它有沒有作弊,或者其得到的變數間相關性的結果實際上是虛假的呢?
由於引數太多(深度神經網路通常有數百萬個引數),這是神經網路中的一大問題。而實際上用於記數的不僅僅有引數,還有超引數,包括學習率、初始化策略、迭代次數和網路結構等項。
僅僅意識到自己缺乏演算法知識是不足以解決這個問題的。如果不同研究的論文中使用的是不同的網路,你又如何將這些結果進行比較?由於高維神經網路損失函式的動態結構圖具有高度複雜性,即使只增加一個額外變數或改變一個超引數也會對結果產生顯著的影響。
2、對資料缺乏瞭解
缺乏資料知識也是一個巨大的難題,但這一問題可以延伸到傳統的統計技術方法。資料採集中的誤差——如量化誤差、測量不確定性和智慧體變數的使用,這是主要的問題。
次優資料也常常會造成一些問題,但是瞭解什麼樣的資料適合使用什麼樣的演算法也是非常重要的,並且這一選擇可能會對結果產生重大影響。一次簡單的迴歸檢驗就可以很輕鬆地證明這一點。
通常地,在實驗中會出現引數多於資料點的現象(這在基因組學中是非常正常的,因為我們有很多基因,很少資料點),如果我們使用線性迴歸方法,那麼我們選擇的正則化方式會嚴重影響被視作為重要的引數。
如果我們使用套索迴歸( LASSO Regression),該回歸方法趨向於將明顯不重要的變數統統變為零,從而從迴歸中將它們消除並提供一些變數選擇。
如果我們使用嶺迴歸( Ridge Regression),該回歸方法傾向於將這些不重要的引數縮小到足夠小,以至於它們可以忽略不計,但同時將它們從資料集中刪除也是有必要的。
如果我們使用彈性網路迴歸( Elastic Net Regression,套索迴歸和嶺迴歸的組合),我們將再次得到非常不同的答案。
如果我們不使用任何迴歸,那麼由於我們有比資料點更多的變數,演算法顯然會使得資料過擬合,因此演算法將繁瑣地對所有資料點進行擬合。
顯然,線上性迴歸中,可以通過置信區間、p-檢驗等統計測試來評估它的準確性。然而,對於神經網路來說,這些評估方式只能是一種奢侈的幻想,是不存在的。那麼我們怎樣才能確定我們通過神經網路得來結論的準確性如何呢?我們目前所能做的就是詳細的陳述模型的架構和超引數,並將程式碼開源,以供其他科學家進行分析或對這個模型重新使用。
3、對結果的誤解
對結果的誤解在科學界很常見。其中一個原因是相關性並不意味著因果關係,一般來說,兩個變數A和B可能存在關聯的原因有以下幾點:
1)A可能是由B的出現引起的
2)B可能是由A的出現引起的
3)A和B可能是由另一個混雜變數C引起的
4)A和B可能是偽相關性
兩值間的相關性很容易顯現出來,但產生這種結果的原因很難確定。通過在谷歌上輸入偽相關性,你可以找出一些看起來非常有趣但明顯十分荒謬的具有統計意義相關性例子,比如:
這些似乎都是十分荒謬的相關性例子,但我想指出的是,如果將這些變數放到提供給機器學習演算法進行訓練的資料集中,則該演算法不會考慮所述因果關係的有效性或者提出任何問題,而是很輕易地接受此相關性作為因果變數。從這個角度看,該演算法很可能是不準確或者錯誤的,因為軟體只負責識別出僅存於該資料集而不是現實世界中的模式。
偽相關性的出現,正是由於人們越來越普遍地使用一些具有成千上萬個變數的大型資料集。而近幾年來,偽相關性發生的頻率也變得驚人的多。
如果我有上千個變數和數百萬個資料點,那麼這些資料之中不可避免的會出現相關性。演算法可以鎖定這些因素並將其認定為因果關係,從而有效地執行無意識的 p-hacking,而 p-hacking 是一項還沒有在學術界得到認可的技術。
1、什麼是 p-hacking
p-hacking的做法包括獲取資料集以及儘可能全面地搜尋其中具有統計學意義的相關性,並將這些相關性視為科學有效。
你擁有的資料越多,就越有可能在兩個變數之間找到偽相關性。
通常來說,科學研究包括了提出假設、收集資料以及通過對資料進行分析以確定假設是否有效。p-hacking 所做的是先進行一個實驗,然後通過既得實驗結果形成事後假設來解釋它們所獲得的資料。這樣做本身是沒有惡意的,但是有些時候,科學家們這麼做僅僅是為了讓他們能夠發表更多的論文。
2、增強相關性
機器學習演算法的另一個問題是演算法必須能夠做出預測,這就好比演算法不能在最後說“我什麼都沒找到”。這種演算法框架的脆弱性意味著,無論最終特徵結果多不合適,它總能找到某種可以用來解釋資料的方法(需要在演算法和資料正確設定的前提下實現,否則可能無法收斂)。
目前,我還沒聽過哪個機器學習演算法能夠返回使用者並告訴他們資料是不合適的,這項工作已經被暗定為科學家的任務——而這並不是什麼公平的假設。
“那為什麼還使用機器學習呢?”
這是一個很好的問題。機器學習使資料集的分析變得簡易,並且 ML 演算法可以幫助使用者進行大量的工作。在由於資料集太大而無法使用標準統計技術進行有效分析的領域中,這一點就變得彌足珍貴。儘管它加速了科學家的工作進度,但是機器學習在預測質量上存在的問題足以抵消機器學習帶來的生產效率上的提高。
三、下一步可以做什麼?
機器學習的前景也並非完全黯淡無光。傳統統計方法和資料集也一直存在著類似的問題,只是在機器學習中這些問題由於大型資料集和演算法的大量使用而被放大了。這些資料集和演算法可以自動找到資料的相關性,與傳統技術相比,使得我們更難對找到的相關性進行解釋。同時,上述這種放大也暴露了科學研究過程中有待克服的弱點。
然而,研究者也在開展下一代機器學習系統的相關工作,以確保它能夠評估其預測的不確定性,以及解決它的不可再現性。
話雖這麼說,正如只有愚昧的工人才會將他失敗的原因歸咎於他們使用的工具,科學家們在使用機器學習演算法時也需要格外小心,以確保他們的研究結果得到證實和檢驗。同行評審流程的設計初衷就是為了確保這一點,而這同時也是每個研究人員的責任。研究人員需要弄清他們使用的技術並瞭解其侷限性;如果他們不具備這些專業知識,那麼去一趟統計系與某位教授進行一次交流將會讓我們都收益匪淺。
Rahimi(他認為 ML是一種 “鍊金術”方法)提供了一些建議來判斷哪種演算法最為有效,在何時最佳。他指出,研究人員應進行消融研究, 即將引數依次移除,以評估其對演算法的影響。 Rahimi 還呼籲進行切片分析,即分析一個演算法的效能,以瞭解對該演算法在某些方面的改進會使其消耗其他方面的成本。最後,他建議執行設定了具有各種不同超引數的演算法,並應彙報這些演算法的所有效能。這些技術將使用 ML 演算法對資料提供更強大的分析。
由於科學研究過程的性質,一旦解決了這些問題,就可以最終發現並糾正以前發現的認為是準確的錯誤關係。準確的判斷當然經受得起時間的考驗。
四、結語
由於最終結果缺乏可重複性,機器學習方法在科學學術界確實存在問題。然而,科學家們已經意識到了這些問題,並且正在朝著更具可重複性和可解釋性的機器學習模型推進相關工作,而一旦實現這一目標,神經網路將會迎來真正意義上的突破。
Genevera Allen 強調了機器智慧面臨的一個基本問題:資料科學家仍然不瞭解機器學習所採取的機制。科學界必須共同努力,以便了解這些演算法究竟是如何工作的,以及如何最有效地使用它們,以確保使用這種資料驅動的方法最終得出可靠的、可重複的科學有效的結論。
就連聲稱機器學習是“鍊金術”的 Rahimi 也對其潛力充滿希望。他說,“正是由於原始的鍊金術才有了後面的冶金學、藥物製造、紡織染色以及我們現代的玻璃製造工藝技術的發明。此外,煉金術士也認為,他們可以將普通的金屬轉化為黃金,而水蛭是治癒疾病的好方法。”
正如物理學家Richard Feynman1974年在加州理工學院的畢業典禮上所說,
“科學的第一個原則是你不能愚弄自己,然而你自己卻是最容易被愚弄的人。”
參考文獻:
[1] https://science-sciencemag-org.ezp-prod1.hul.harvard.edu/content/sci/365/6452/416.full.pdf
[2] https://research.fb.com/wp-content/uploads/2019/05/The-Scientific-Method-in-the-Science-of-Machine-Learning.pdf?
[3] https://bigdata-madesimple.com/machine-learning-disrupting-science-research-heres/
[4] https://biodatamining.biomedcentral.com/track/pdf/10.1186/s13040-018-0167-7
[5] https://www.sciencemag.org/news/2018/05/ai-researchers-allege-machine-learning-alchemy
[6] https://www.sciencedaily.com/releases/2019/02/190215110303.htm
[7] https://phys.org/news/2018-09-machine-scientific-discoveries-faster.html
[8] https://www.americanscientist.org/blog/macroscope/people-cause-replication-problems-not-machine-learning
[9] https://www.datanami.com/2019/02/19/machine-learning-for-science-proving-problematic/
[10] https://www.quantamagazine.org/how-artificial-intelligence-is-changing-science-20190311/
[11] https://ml4sci.lbl.gov/
[12] https://blogs.nvidia.com/blog/2019/03/27/how-ai-machine-learning-are-advancing-academic-research/
[13] https://towardsdatascience.com/a-quick-response-to-genevera-allen-about-machine-learning-causing-science-crisis-8465bbf9da82#--responses
[14] https://www.hpcwire.com/2019/02/19/machine-learning-reproducability-crisis-science/
By Matthew Stewart, PhD Researcher
via https://towardsdatascience.com/the-machine-learning-crisis-in-scientific-research-91e61691ae76
https://www.leiphone.com/news/201911/wIFXzr5ySoqqU4Fb.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2666330/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【機器學習】李宏毅——Explainable ML(可解釋性的機器學習)機器學習AI
- 透過榮耀耳機的三重“鍊金術”,重識TWS行業行業
- “中年危機”或許沒那麼嚴重
- 【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?機器學習模型
- 機器學習可解釋性工具箱XAI機器學習AI
- 談談機器學習模型的可解釋性機器學習模型
- 機器學習之稀疏性正則化:L1 正則化機器學習
- 「機器學習速成」稀疏性正則化:L1正則化機器學習
- 當前機器學習失敗危機呼喚MLOps - gradientflow機器學習
- 高複雜性下的藍芽安全危機藍芽
- 機器學習模型可解釋性的詳盡介紹機器學習模型
- 美國科學促進會:機器學習“正在導致科學危機”機器學習
- 機器學習主要術語機器學習
- 機器學習:線性迴歸機器學習
- 螞蟻金服有哪些金融特色的機器學習技術?機器學習
- 【機器學習】--魯棒性調優之L1正則,L2正則機器學習
- 【機器學習】機器學習簡介機器學習
- 技術引路:機器學習仍大有可為,但方向在哪裡?機器學習
- 機器學習之線性迴歸機器學習
- 機器學習:線性迴歸(下)機器學習
- 機器學習整理(線性迴歸)機器學習
- 機器學習數學複習 - 1.概率論基礎機器學習
- 機器學習之簡化正則化:Lambda機器學習
- DevOps和機器學習將成為2018年的主導性技術機遇dev機器學習
- [python學習]機器學習 -- 感知機Python機器學習
- 如何建立複雜的機器學習專案?機器學習
- 相信你的模型:初探機器學習可解釋性研究進展模型機器學習
- 【機器學習】線性迴歸預測機器學習
- 機器學習5-線性迴歸機器學習
- AI/機器學習(計算機視覺/NLP)方向面試複習1AI機器學習計算機視覺面試
- 【機器學習】--Python機器學習庫之Numpy機器學習Python
- 大型機器學習【Coursera 史丹佛 機器學習】機器學習
- (一) 機器學習和機器學習介紹機器學習
- 機器學習之隱馬爾可夫模型機器學習隱馬爾可夫模型
- 機器學習(——)機器學習
- 機器學習機器學習
- 「機器學習速成」正則化:降低模型的複雜度以減少過擬合機器學習模型複雜度
- 機器學習可解釋性系列 - 是什麼&為什麼&怎麼做機器學習