這篇文章原刊登于《量子雜志》(Quanta Magazine),分析了機器學習在大數據中的一些數學原理和問題,作者Ingrid Daubechies是杜克大學數學、電子和計算機工程系的教授。《量子雜志》是由西蒙斯基金會獨立編輯出版的一本雜志,旨在向公眾介紹數學、物理和生命科學方面的最新進展。
幾年前的一次晚餐上,杰出的微分幾何學家 Eugenio Calabi 主動半開玩笑地和我聊起了純粹數學家和應用數學家的區別。研究遇到難題時,純粹數學家經常進一步窄化難題,避免障礙;但應用數學家會把卡殼視為信號——是時候學習更多數學知識,找出更好的解決辦法了。
我一直覺得這個觀點很贊;它解釋了為什么應用數學家總是需要更為基礎的數學領域研究出來的新概念和新結構。這在今天人們努力理解「大數據」(非常龐大和復雜,難以用傳統數據處理技術進行理解的數據組)的過程中,顯得尤為明顯。
目前,從最理想的角度來說,我們對大數據變革中的中心技術的數學理解還不夠。舉個最簡單的例子——監督式學習。巨頭們已經將這項技術用于語音和圖像識別,準確性趨近人類水平。起初,系統需要海量訓練樣本(數百萬甚至數十億的圖片或者語音錄音)用來訓練深度學習網絡,識別統計上的規律性。和機器學習其他領域一樣,計算機有望通過吸收足夠多數據來「學習」需要完成的任務。我們無需對決策所需細節步驟進行編程,計算機就能跟隨算法的腳步,算法會逐漸引導它們關注相關模式。
用數學術語說,這些監督學習系統被給予了大量彼此對應的輸入與輸出數據;計算機的目標就是學習能可靠地將新輸入轉化為正確輸出的函數。為此,計算機必須將這個神秘函數分解為許多層叫做sigmoid函數的未知函數。這些S形函數就像是馬路牙子的輪廓線:它將一個層級光滑過渡到另一個層級,但是起始于哪一層、層間距離、轉換區域的寬度都無法提前預知。
輸入數據進入sigmoid函數的第一層后,會生成一些結果,這些結果在進入第二層sigmoid函數前可以組合起來,以此類推。這張正在生成函數的網就是神經網絡里的「網絡」。「深度」網絡就是有許多層這樣的網。
幾十年前,研究人員證明,這些網絡具有普適性,也就是說它們能夠生成所有可能的函數。后來,其他研究人員證明,網絡與它所產生的函數之間存在一些獨特的對應關系,取得了一些理論成果。但是,這些成果都事先假設層級數量以及每層中的函數節點數量都極其龐大。但是,實踐中,神經網絡都是2層到20多層之間。由于這一局限性,沒有一個經典結論能夠解釋為什么神經網絡和深度學習能夠做得這么好,這么引人注目。
許多應用數學家的指導原則是:如果某些數學方法運行良好,那么,肯定可以用數學來解釋它,我們也應該能夠理解其中原因。可是,在這個特殊例子中,我們甚至沒有合適的數學框架可供理解。(或者,如果有,也還在純粹數學領域,尚未傳播到其他數學領域。)
機器學習使用的另一個技術是無監督學習,它用來找出大數據組背后的隱秘關聯。比如,你是位研究人員,想要更多了解人類個性類型。你獲得了大筆資金支持,可以找20萬人做調查,每張人格調查問卷有500個問題,每道題的備選答案有10個。最終,你的數據規模是:500個虛擬「維度」,每個維度上有20萬個數據點——每個維度代表原始問卷表里的一道人格測試題。這些點組合起來,在500維空間中構成了一個維度較低的「曲面」,就好比簡單記錄山脈區域某些點的海拔高度,就能用這些點在三維空間內構建出一個二維曲面一樣。
作為研究人員,你要做的就是識別出這個維度較低的曲面,從而減少20萬個被試者的人格畫像,只留下本質特征——就像找出足以確定山脈表面任意一點的兩個變量。或許,個性測試的這個曲面也能用簡單的函數來表示,它所涉及的變量數大大小于500個。這種函數就有可能反映出數據背后的結構。
大約在過去15年里,研究人員已經發明了用來探索這些隱藏結構的幾何模式的工具。比如,要建一個關于曲面的模型,首先需要拉近鏡頭,近距離觀察許多不同的點。你可以在每一點上滴上虛擬的墨水,觀察它們如何擴散。墨水會根據曲面在每個點的彎曲程度,向某些方向擴散,而不向其他方向擴散。如果把所有這些墨水點連接起來,你就會對曲面有個整體了解。此時,你手中握有的就不再是數據點的集合,而是曲面上的各種聯系、有趣的循環、折疊以及彎曲。這將為你繪制出一幅探索這個曲面的地圖。
這些方法已經產生了一些有趣有用的結果,不過,我們還需要更多技術。應用數學家還有很多功課要做。面對挑戰,他們相信,許多「更加純粹」的同事(指純粹數學家——譯者注)會保持開放的頭腦,追隨最新動態,幫助他們發現與其他已有數學分析框架之間的聯系,甚至建造出新的數學框架。