CMU博士《Nature》發文:你需要這樣解決機器學習的三大“陷阱”

當來自無數領域的科學家們熱火朝天地投身於算法分析時,機器學習相關論文也出現了實驗不充分、審查標準不一、實驗結果不準確等一系列問題,來自谷歌的研究員、CMU博士Patrick Riley在2019年8月的《Nature》雜誌上呼籲:在機器學習的相關研究和報告中需要有明確的標準。Patrick Riley還結合了自身經歷,指出了在機器學習中需要避免的三個“陷阱”,以及這些問題的解決方法。

機器學習正在推動科學領域的探索進程。機器學習強大的模式發現和預測工具正在幫助各個科學領域的研究人員,比如發現製造分子的新方法、在樣本檢測中發現細微的信號、改進醫學診斷方案以及揭示基本粒子性質等。

加州TAE科技公司和谷歌公司的研究人員正在使用機器學習來優化產生高能量等離子體的設備。圖片來源:Liz Kuball

然而,機器學習工具也可能是“愚人的金子”(西方常把很像黃金的黃鐵礦稱爲“愚人金”),也可能產生假陽性、死衚衕甚至錯誤。許多算法過於複雜,以至於不可能對所有的參數逐一進行檢測,也不可能精確地推斷如何操縱輸入的。隨着這些算法開始得到越來越廣泛的應用,誤解、錯誤結論和浪費科研資源的風險將不斷上升。

而這些問題並不新鮮。數十年來,機器學習領域一直在用“坦克問題”磨練自己。最初的研究大概始於20世紀60年代(參考文獻【1】),並因爲年代久遠,很多細節都已經變得模糊不清,但故事大概是這樣的,研究人員編寫了一種算法,可以在軍方提供的照片中識別出坦克。算法模型確實能在測試圖像中成功地識別出坦克。但後來卻難以識別出實地拍攝的真實照片。這是爲什麼呢?雖然這個故事複述的多個版本細節有所不同,但總的來說,都是因爲訓練它的圖片包含了其他因素,例如,坦克出現時在晨光之中,或者處於雲層之下。所以,驅動算法訓練的是其他非重點因素,而不是坦克本身的存在。

今天,類似的困惑也引起了人們的反思(參考文獻【2】)。許多機器學習的相關論文並未執行足夠的實驗。且審查標準前後並不一致。而激烈的競爭也使得一些研究人員選擇“抄近路”,一旦他們認爲自己得到了想要的答案,就會跳過必要的審查。

雖然我們不能預測到分析中遇到的所有問題。但是,那些應用機器學習的研究人員們,至少應該熟悉機器學習常見的陷阱,以及他們可以用來檢測和避免這些陷阱的方法和實踐。

爲了說明這一點,我在本文中着重描述了我們在谷歌加速科學團隊中應用機器學習時,所遇到並克服的三個主要問題。

分割數據不當

在構建模型時,機器學習實踐者通常會將數據劃分爲訓練集和測試集。訓練集的作用是對模型進行訓練,而該算法模型的性能評估則需要通過它描述測試集的契合程度來衡量。研究人員的典型做法是隨機分割數據集合。但現實生活中的隨機數據並不多。這些數據還可能包含時間元素,例如,數據收集方式可能隨着時間會有變化,或者收集信息的種類會隨着時間變化等。

舉個例子,在利用機器學習算法篩選數據以尋找新型藥物時,一些時間因素往往被隱藏在分子的數據集中。這項研究的挑戰在於,當預測某一分子是否會被人體吸收或是減少炎症時,篩選會從分子的數據開始區分是否有效,但收集這些數據時的環境與機器學習模型的使用環境又不完全相同。

再例如,一個模型可能建立在一組公開可用的分子數據集上,卻被應用在另一組專有的分子數據集上。當有希望的線索被檢驗並被拋棄時,化學家們的目光常常就會從某些分子集轉向其他分子集。因此,研究人員往往高估了該算法模型在實際應用中的效果(參考文獻【3】)。這可能導致預期過高,浪費時間和金錢在不恰當的分子集選擇上。許多模型構建者,包括我自己,都曾經掉進過這個陷阱。

換句話說,你科研中想要解決的問題應該對分割數據的方式有所影響。爲了使模型能夠預測向一個分子中添加幾個原子的效果,測試集中的每個分子在訓練集中都應該有一個對應的夥伴,且這對夥伴的原子組成是不同的。如果你想對不同的化學分子做出準確的預測,那麼測試集中所有分子都應該與訓練集中的所有分子都完全不同。“正確”的數據分割方式可能並不明顯,但仔細考慮並嘗試幾種方法會讓你有更深刻的見解。

忽略隱藏變量

在理想的實驗中,研究人員只會改變那些重點關注的變量,並固定所有其他變量。然而在現實世界中,這種程度的控制通常是無法達到的。設備的準確性會隨着時間的推移而變化,試劑的批次也會不同,一種實驗條件的執行可能先於另一種實驗條件,實驗結果甚至會受到天氣的影響而產生偏斜。這種不受控制的變量在機器學習模型中往往會造成有害的影響。

例如,我在谷歌的團隊一直與加利福尼亞州Foothill Ranch的核聚變創業公司TAE Technologies合作,進行優化生產高能等離子體的實驗(參考文獻【4】)。我們建立模型,試圖瞭解等離子體機的最優設備設置。然而,系統中有數百個控制參數,諸多變量包括從什麼時候給電極通電到在磁鐵上設置多大電壓,等等。我們逐一記錄了這一系列測量結果,包括溫度和頻譜。

在幾個月的時間裏,我們從數千次運行的等離子體機器中獲取數據。但隨着組件的磨損和不同的想法被嘗試,這些設置往往會隨着設備的調整和修改而變化。當終於得出一個模型後,我們很高興,這個模型很好地預測了給定環境下,等離子體的能量是否會很高。但是,很快我們就發現,該預測明顯並不是基於我們的想法。

當我們再次訓練模型時,將實驗時間作爲唯一輸入參數,而不是用機器所有設置作爲輸入參數,結果我們得到了類似的預測能力。這是爲什麼?我們認爲,我們的第一個模型實際上鎖定在時間趨勢上,而不是物理現象。隨着實驗的進行,有一段時間機器運轉良好,也有一段時間運轉不良。因此,實驗進行的時間對等離子體是否處於高能量的信息產生了一定影響。此外,可以通過控制參數的設置來粗略地預測實驗何時完成,這些參數的變化也具有時間趨勢。

隱藏變量也可能來源於實驗的物理佈局。例如,我們正在進行的一項工作是解釋顯微鏡圖像,在這個項目上我們與許多合作機構共同工作,合作方包括位於紐約市的紐約幹細胞基金會研究所。這些圖像包括細胞培養板上的生物實驗陣列,通常是一個包含細胞和液體的多孔網格。實驗目標是發現具有某些特徵的孔格,比如經過化學處理後細胞外觀會發生變化。但是生物學上的變化意味着每個細胞培養板看起來總是略有不同。即使在同一個培養板裏也可能會有差異。邊緣位置的孔格常常和中央位置的孔格有所不同,原因有可能是,邊緣位置的孔格中蒸發了更多的液體培養液,或者整個培養板被傾斜放置了。

機器學習算法可能很容易就會捕捉到這些無意的變化而產生錯誤。例如,該模型可能只識別出那些位於細胞培養板塊邊緣位置的特徵孔格。檢驗這種情況是否發生的一個簡單方法是,讓模型預測一下其他目標,比如孔格在培養板的位置,孔格屬於哪一培養板,以及顯微鏡圖像來自於哪一批次。如果這個算法模型成功進行了預測,那麼你或許就需要對原來的實驗結果持一份懷疑態度了。

得出的教訓是,需要使用多個機器學習模型來檢測那些意外出現的和隱藏的變量。用一個算法模型解決問題本身,比如,等離子體能量是高還是低,這些細胞是健康的還是不健康的?再用其他算法模型幫助你排除那些混雜因素。如果後面用於排除的算法模型得出的結果顯示,確實存在其他因素的明顯干擾,則需要將數據進行標準化,進行更多的實驗,或回爐重新錘鍊你的結論。

弄錯實驗目標

機器學習算法要求研究人員指定一個“損失函數”(Loss Function),用這個函數去確定各種錯誤的嚴重程度。比如,是犯兩個各爲1%的錯誤更好,還是隻犯一個2%的錯誤更好。很多機器學習的實踐者往往傾向於只使用一小組功能來實現損失函數,而這些功能可能無法捕捉到他們真正關心的內容。

例如,我們一直使用機器學習來幫助解決偏微分方程(參考文獻【5】)。這些公式在流體力學、電磁學、材料科學、天體物理學和經濟建模等科學領域都很常見。通常,它們必須有數學意義上的解,這使得我們訓練的算法模型在有限的解析度下能夠提供更好的準確性。

我們從一個方程開始描述水波在一維空間內的傳播方式。該算法的任務是重複預測當前步驟的下一個時間步長。我們使用了兩個稍微不同的公式和訓練模型。根據損失函數的結果來看,這兩個模型具有一樣好的效果。然而,一套模型實質上只會產生荒謬的結果,而另一套可以產生接近預期的結果。

這是爲什麼呢?因爲這裏用作控制學習的損失函數只考慮下一步的誤差,而沒有考慮多步求解的有效性,而這種整體有效性纔是我們真正需要的。

印度馬杜賴城市Aravind醫院的一項眼科檢查,那裏的工作人員和谷歌的研究人員正試圖將糖尿病導致失明的診斷自動化。圖片來源:Atul Loke/The New York Times/Red/eyevine

我們在糖尿病視網膜病變機器篩查(參考文獻【6】)方面的工作也曾經突然出現過類似的目標分歧。視網膜病變是糖尿病的一種併發症,也是世界上可預防類失明的主要病因之一。如果能及早從眼底圖像中發現這種情況,就能有效地進行治療。當我們收集數據並讓眼科醫生根據圖像提供診斷時,我們要求我們的機器學習工具能夠預測眼科醫生的診斷結果。這時卻出現了兩個問題。

首先,多個眼科醫生在同一病症診斷上常常意見不一。因此,我們意識到我們的模型不能只建立在單一預測的基礎上。而且我們也不能在算法中簡單地使用多數投票制度,因爲在醫療診斷的準確性方面,有時少數派的意見纔是正確的。其次,單一疾病的診斷也並不是我們真正的目標。我們首先要詢問的是:“這個病人應該去看醫生嗎?” 因此,我們將目標從單一疾病擴展到多種疾病。

機器學習的實踐者很容易過於專注於一個“顯而易見”的目標,其中的數據和標籤都是清楚明晰的。但他們可能正在設置算法來解決錯誤的問題。我們必須牢記總體的目標,否則我們創造出再精確系統也只是在解決錯誤問題。

未來的期望

首先,機器學習的專家們需要用更高的標準要求自己和同事。當一種新的實驗設備出現時,我們希望我們實驗室的工作夥伴充分了解它的功能,包括如何校準,如何檢測錯誤,並知道設備的能侷限。而對於機器學習也是同樣如此。機器學習不是無所不能的魔法,它也只是一種實驗工具,而我們則負責對其充分理解並加以熟練使用。

其次,在各自的領域內應用機器學習,不同的學科需要爲執行和報告制定明確的標準。適當的控制、可靠性測試和誤差測量將因科研領域而異,這些需要清楚地闡明,以便於研究人員、審閱人和論文編輯能夠去鼓勵科研中的良性行爲。

第三,機器學習方面的科學家所受的教育需要包括這些更廣泛的問題。儘管已經有一些教育資源,但我們還需要在這方面做更多的工作。我們經常教別人算法和工具,但學生需要學習更多關於如何應用這些算法的知識,並適當地提出質疑。

我們正處在一個令人驚歎的歷史時刻,在機器學習的輔助下,計算能力、數據和算法正結合在一起,爲科學發現創造無數的機會。我們有責任充分地利用這一歷史機遇,共同打造一個健康的科研生態環境。

本文發表於《自然》第572期 (2019),27-29頁
doi: 10.1038 / d41586 - 019 - 02307 - y

參考文獻
【1】 Kanal, L. N. & Randall, N. C. In Proc. 1964 19th ACM National Conf. 42.501–42.5020 (ACM, 1964).

【2】Lipton, Z. C. & Steinhardt, J. Preprint at arXiv. http://arxiv.org/abs/1807.03341 (2018).

【3】Sheridan, R. P. J. Chem. Inform. Model. 53, 783–790 (2013).

【4】Baltz, E. A. et al. Sci. Rep. 7, 6425 (2017).

【5】Bar-Sinai, Y., Hoyer, S., Hickey, J. & Brenner, M. P. Proc. Natl Acad. Sci. USA  (2019).

【6】Gulshan, V. et al. J. Am. Med. Assoc. 316, 2402–2410 (2016).

作者介紹:
Patrick Riley,美國加利福尼亞州山景城谷歌公司加速科學團隊的首席工程師和高級研究員。

英文原文:
https://www.nature.com/articles/d41586-019-02307-y

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章