機器學習演算法的三大陷阱:人類看不到,但 AI 看得一清二楚的「隱藏變數」

【為什麼我們要挑選這篇文章】機器學習提升人類分析數據與建構模型的能力,但是人類不當的目標定義、數據處理,將會影響機器學習的正確度,衝擊醫療、製造、科學研究等領域。

Google 團隊列出機器學習的三個陷阱,工程師一定要知道。(責任編輯:郭家宏)

幾十年來,機器學習領域一直飽受「坦克問題」(tank problem)的折磨。

故事發生在上個世紀 60 年代(此研究已知的最早文獻,此處感謝軟體工程師 Jeff Kaufman),事件的細節已湮沒在時間的迷霧當中,不過故事大概是這樣子的:

研究者們寫了一個演算法來從軍方提供的照片中識別坦克。該模型成功地在測試圖中找到了坦克,但隨後使用真實的照片時卻失敗了。

未知的因素會影響機器學習的正確度

原因是什麼呢?口口相傳的具體細節各不相同,但演算法用來測試的圖片包含了其他訊息,比如在晨光中或從雲層下顯現的坦克,影響了機器判斷,也是一個重要的原因。所以說,並不是坦克的存在決定了演算法,其它因素也很重要。

類似的情況在當今也引起了反省。許多機器學習的論文未能完成足夠多的實驗,審查標準不夠一致,並且行業內激烈的競爭也鼓勵一些研究人員,一旦得到了他們想要的答案就偷工減料跳過檢查。所以在無數領域的科學家正急於用機器學習解決問題時,谷歌的 Patrick Riley 卻呼籲大家在研究中制定更加明確的標準。

不可否認的是,機器學習正在推動著整個科學界的發展,尤其是它發現及預測的模式正在從各個領域輔助研究者們,從搜尋分子製造的新方法和在試驗中發現微小信號,到改進醫療診斷與揭示基本粒子,皆有其身影。

然而,機器學習工具也會變成「智障」,例如假正例、死胡同與各種錯誤。而且由於許多演算法都太過複雜,以至於無法檢查所有參數或者準確瞭解輸入的方式,隨著這些算法被更加廣泛地應用,錯誤的結論和科學成果所引發的風險將會呈螺旋式上升。

這些問題並不是一朝一夕的事,所以預測每次分析中出現的所有問題或困境也是不可能的,但至少,那些在自己的領域使用機器學習的研究者們,應該去熟悉一些常見的陷阱,以及如何檢測或避免那些陷阱。

為了說明這點,這裡列舉三個 Google Accelerate Science 團隊所面臨並且克服的機器學習的三大問題。

機器學習的三大陷阱:數據分拆不當、隱藏變數、曲解目標

一、 不適當地拆分數據

在建構模型時,機器學習從業者通常將數據分成訓練集和測試集,用訓練集訓練模型,用測試集評估模型的性能。研究員通常會隨機拆分數據,但是現實生活裡真正隨機的數據少之又少。它們可能包含了時間趨勢,例如收集數據方法的變化,或是收集資訊的各種選擇。

例如,這種歷史模式隱藏在分子數據集中,而機器學習演算法正在對這些數據集進行虛擬篩選,以尋找候選藥物。這裡的挑戰在於預測一個分子如何會被有效地被人體吸收或減少發炎。篩選從有關分子的數據開始,這些分子具有或不具有預期的效果,但是收集數據的背景或許會與機器學習模型的使用方式有所不同。

一個模型可能是用一組公開可用的分子數據集訓練的,然後用於測試另一組專有的分子數據集。而當有希望的候選項被檢測和丟棄時,化學家的關注點往往從某些分子群轉移到另一些分子群。 因此,研究人員經常高估模型在實踐中的表現。 這會導致期望值的膨脹,並且在選擇不適合的分子上浪費時間和金錢。 許多模型製造者都落入這個陷阱。

換句話說,你要解決的問題才應該影響你如何分割數據。為了預測向一個分子中添加兩個原子的效果,測試集中的每個分子在訓練集中應該至少存在兩個原子的差別。 如果你想對不同的化學分子有更好的預測,測試集中的每個分子都應該不同於訓練集中的任何東西。 分割數據的「正確」方法可能並不顯眼,但是仔細考慮和嘗試幾種方法或有意想不到的收穫。

二、隱藏變數

在一個理想的實驗當中,研究者只改變他們感興趣的變數,並讓其他變數保持不變,而這種控制在現實當中幾乎是不可能的。儀器的精確度會隨著時間而改變,試劑的批次會有所不同,一個實驗條件會先於另一個進行表現出來,甚至天氣都有可能影響結果。在機器學習模型中,這些不受控制的變數都將是有害無益的。

舉個例子,谷歌的一個團隊一直在加州的福特.希爾蘭赫(Foothill Ranch, California)的核聚變新創公司 TAE Technologies 工作,進行優化生產高能等離子體的實驗。他們在這裡建了模型來理解等離子機的最佳設備裝置。這裡存在著上百個從「何時接通電極」到「設置在磁體上的電壓為多少」等控制參數,然後記錄了一系列包括溫度和光譜在內的測量值。

他們歷經數月,從數千次運行的等離子機中提取了數據,其中的設定會隨著我們的設備調整、部件磨損和多種嘗試有所變化。當我們得到了一個在給定的設置下,無論等離子能量是否會變高,預測結果都很不錯的模型時,大家都很高興,不過很快就打臉了。

當他們以實驗時間為唯一輸入而不是機器的所有設置來訓練模型,也得到了相似的預測效果。為什麼?因為模型鎖定的就是時間趨勢,而不是物理現象。也就是說,機器運轉良好的時間段和不良的時間段分別出現,所以,從實驗完成的時間可以看出等離子體是否是高能量的。此外,通過控制參數的設置可以粗略預測實驗何時進行,這些參數的變化也存在時間趨勢。也就是說,除了時間規律,模型什麼物理規律都沒管。

隱藏變數也會來源於實驗佈局。像我們在解讀顯微鏡圖像方面與許多機構合作,其中包括紐約市的紐約幹細胞基金會研究所。這些圖像包括了在培養皿上進行的生物實驗,通常是一些包含細胞和液體的網格孔。我們的目標是發現擁有某些特徵的孔,比如化學處理後細胞外觀的變化。但是生物變異意味著每個培養皿本身總是會看起來有稍許不同,並且單個培養皿也可能存有差異。如果外圍孔有更多液體蒸發,或者培養皿有被傾斜,那邊緣看起來通常會與中心不一樣。

機器學習演算法能輕而易舉地注意到這些變化。例如說模型可能剛辨認出了哪些孔處在培養皿的邊緣 ,一種檢查模型的簡易方法就是讓模型去預測其他方面,如培養皿的位置、哪一塊培養皿,或者圖片來源的批次。如果演算法能做到這一點,那你最好對結果持懷疑態度。

最重要的一點是,要使用多個模型來檢測那些意外變數與隱藏變數。可以用一個模型側重你關心的問題,比如離子是高能還是低能,細胞是否健康,其他模型則用來清除干擾因子。如果後者結果很強,那麼請將數據標準化,做些進一步的實驗,或者調整一下結論。

三、曲解目標

機器學習演算法要求研究員明確一個用來估量各種錯誤嚴重度的「損失函數」,例如到底是有兩個 1% 的錯誤好,還是單個 2% 的錯誤更合理。從業者們傾向於應用函數的一小部分,從而導致他們無法得到真正需要的內容。

還是舉個例子,大家一直有用機器學習來輔佐求解微分方程。這些公式在包括流體力學、電磁學、材料科學、天體物理學和金融建模中很常見,一般情況下它們必須以數字方式解決,然後開始訓練模型,從而能在有限的條件下提供更高的精確性。

我們就從用一個方程式,描述水波如何在一維進行傳播說起吧。該演算法的任務是從當前的時間步長來重複預測下一步,在這方面可以準備兩種略微不同的方法與訓練模型。根據損失函數來看,這兩個模型是一樣優秀的,但實際上其中一個做了一堆無用功,另一個的產生結果更接近預期。

原因就是控制學習的損失函數考慮到了下一步的錯誤,而不是研究者真正想要的多重步驟的解決方案有效性。

我們在糖尿病視網膜病變的機器篩查方面也出現了分歧目標。這是糖尿病的一種併發症,也是世界上可預防性失明的主要原因。如果能從眼後圖像及時檢測到該病症,它就能被有效治療。當我們收集數據並且讓眼科醫生透過圖像進行診斷時,我們讓機器學習的工具預測一下醫生都會說些什麼,此時出現了兩種情況。

情況一是眼科醫生經常不認同診斷,因此研究人員意識到不能透過單一的預測來建立模型。總不能來個投票說少數服從多數,因為在醫療上,有時候少數人的意見才是正確的。情況二是單一疾病的診斷實際上並不是真正的目標。因為往往需要問的是:「這個患者需要去看醫生嗎?」,然後透過這種方式將目標從單一疾病的診斷擴展到多重疾病。

機器學習從業者很容易迷戀上數據標籤都清晰的「明顯」目標,但他們可能正在設置演算法來解決錯誤的問題。所以必須牢記大方向和總目標,否則就只會為錯誤問題埋單。

防範陷阱的三個方式:了解機器學習、訂定明確標準、提出質疑

首先,機器學習專家需要讓自己和同事們持有更高的標準。當有新實驗設備到來時,大家總是寄望於實驗室的夥伴們搞懂功能,怎麼校準,怎麼檢測到問題,還要瞭解其功能的限制。因此,面對機器學習時也應如此。機器學習不是魔法,工具的使用者們必須瞭解如何掌控它們。

其次,當需要使用機器學習時,不同學科需要為其制定出明確的標準。合適的控制、健全性檢查和錯誤的測量會因領域而異,所以這些都需要解釋清楚,以便研究者、審查者和從業者有規可循。

第三,機器學習科學家們所受的教育需要包括一些更廣泛的內容。即使有些類似於這樣開源的資源存在,需要做的仍然很多。授人以魚不如授人以漁,可能更多人只去學算法與工具,但學習如何應用算法與適當地提出質疑也很重要。

所有從事機器學習的人都正處在一個神奇的點上——計算能力、數據和演算法交織在一起,在機器學習的的協助下碰撞出了新的美妙火花 ,利用好這個機會將是整個科學界義不容辭的責任。

Google AI 教育資源
原文報導 傳送門

(本文經合作夥伴 大數據文摘 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈机器学习过程的三个坑,看看你踩过哪一个 〉。首圖來源: 大數據文摘

更多關於深度學習的資訊

面對即將失效的摩爾定律,科學家用「稀疏學習演算法」打破深度學習的算力極限!
【破解 AI 黑箱】Google 提出 TCAV 技術,有望成為深度學習的全新框架!
【初學者也能輕鬆上手】MIT 推出「超越深度學習」的新 AI 程式語言,無須數學專業知識就能寫出 AI!


量子電腦瓦解人類資安機制?

資安即國防!討論「後量子」密碼學的產業重要性

搶先報名 11/6《2019 未來科技展 》量子加密場次

迎戰量子運算技術暗流

點關鍵字看更多相關文章: