編譯 韓真
神經網絡既強大又不可預測。現(xiàn)在,數(shù)學家開始揭示神經網絡的形態(tài)如何影響其功能。
當我們建造摩天大樓時,我們預期它會按照設計規(guī)格發(fā)揮功能:能夠支撐這么多的重量,能夠承受一定強度的地震。
但是,面對當今世界最重要的技術之一時,我們基本上是在盲目行事:嘗試不同的設計,修補不同的初始設定,但是,直到我們開始試運行時,我們并不知道它能做什么,也不知道它會在哪失敗。
這一技術就是神經網絡,其支撐了當前最先進的人工智能系統(tǒng),并且開始逐漸進入社會生活的核心:通過社交網絡信息決定我們從世界中了解什么,幫助醫(yī)生診斷病癥,甚至可以影響法官決定罪犯是否需要在獄中服刑。
然而,“對于神經網絡如何工作?真正的神經網絡理論是什么?我們幾乎一無所知。”鮑里斯·哈寧(Boris Hanin)說道。他是德克薩斯A & M大學的數(shù)學家,也是臉書人工智能實驗室的訪問科學家,研究神經網絡。
他把這種情形比作另一項革命性技術(蒸汽機)的發(fā)展。起初,蒸汽機只是用于抽水。后來,蒸汽機可以驅動火車,這相當于復雜神經網絡所達到的水平。后來科學家和數(shù)學家發(fā)展了熱力學理論,使得他們可以理解任何發(fā)動機的內部原理。最終,這些知識幫助我們登上月球。
“首先,你擁有偉大的工程設計,你擁有一些偉大的火車,然后你需要一些理論基礎,你才能進入火箭飛船?!惫幷f。
在龐大的神經網絡研究群體中,有一小群具有數(shù)學思維的研究者,他們在嘗試構建神經網絡的理論。這樣的理論能夠解釋神經網絡如何工作,確保按照規(guī)定方式建造的神經網絡完成指定任務。
這項工作尚處極早階段,但是,2018年,研究者發(fā)表若干文章,詳細闡述神經網絡的形態(tài)和功能之間的關系。研究表明:在驗證神經網絡能夠駕駛汽車之前,你先得證明神經網絡能夠做乘法。
梅特拉·拉古,谷歌大腦的一員,一直在研究可解釋神經網絡運作的原理
神經網絡的目的是模擬人的大腦,關于大腦的工作方式之一是:它把較小的抽象合并為更大的抽象。從這個視角來說,思考的復雜度要用兩點來衡量:一是你可以利用的小型抽象的范圍,二是你能夠把低層抽象合并為高層抽象的次數(shù)。這就像我們學會區(qū)別狗和鳥。
康奈爾大學計算機科學的博士生、谷歌大腦的成員梅特拉·拉古(Maithra Raghu)說:“對人來說,要學會如何識別狗,先得學會識別四只腿,我們希望神經網絡也能做同樣的事?!?/p>
人類大腦的抽象能力是自然獲得的,神經網絡則需要通過工作而獲得。與大腦一樣,神經網絡是由稱為“神經元”的基礎組件組成,神經元以各種方式互相連接(神經網絡的神經元受到大腦神經元啟發(fā),但前者并不是直接模仿后者)。每個神經元可能代表了一個屬性或一組屬性,網絡用以表征抽象的各個層級。
當把這些神經元連接到一起的時候,工程師可以有多種選擇。他們必須決定網絡有多少層次的神經元(有多“深”)。比如,考慮神經網絡來識別圖像中的物體,圖像在第一層進入系統(tǒng);在下一層,網絡上有些神經元用以識別圖像的邊緣;再下一層,把邊緣合并為線段來識別曲線;再下一層,把曲線合并為形狀和紋理;最后的層處理這些形狀和紋理并得到結論:它看到了什么?毛茸茸的猛犸獸!
賓州大學的數(shù)學家大衛(wèi)·羅爾尼克(David Rolnick)說:“思路就是每一層把前一層的許多方面合并在一起。圓就是把很多地方的曲線合并在一起,曲線就是把很多地方的線段合并在一起?!?/p>
工程師還得決定每一層的“寬度”,即對應于網絡中每一層所考慮的不同特征的數(shù)量。在這個圖像識別的例子中,層級的寬度就是每一層所考慮的線段、曲線或形狀的種類的數(shù)量。
除了網絡的深度和寬度之外,還需要選擇:在層內和層與層之間,如何連接神經元;給予每個連接多大的權重。
所以,如果你心中有具體的任務,你如何知道選擇哪種神經網絡架構來實現(xiàn)它最好呢?對此,有若干寬泛的經驗法則:對于圖像相關的任務來說,工程師一般使用“卷積”神經網絡,重復使用層與層之間的相同連接架構。對于自然語言處理(比如語音識別或語言生成)來說,工程師發(fā)現(xiàn)“循環(huán)”神經網絡功用最佳。在這種網絡中,神經元可以連接到非鄰近層。
然而,除了這些一般的準則,工程師基本上要依靠實驗證據:他們運行1 000種不同的神經網絡,觀察其中哪些能完成任務。
哈寧說:“這些選擇基本上通過試錯法,這很困難,因為選擇是無限的,而且人們真的不知道什么是最好的?!?/p>
更好的辦法應當包括:采用更少的試錯,更深入理解神經網絡架構能夠帶來什么。最近的一些文章正把整個領域向此方向推進。
“此工作嘗試開發(fā)設計正確網絡結構的手冊(類似食譜)。如果你知道自己想要從網絡結構中獲得什么,那么這就是你需要的秘方?!绷_爾尼克說。
大衛(wèi)·羅爾尼克,賓州大學的數(shù)學家,證明了更深的網絡可以比更淺的網絡使用更少的神經元來完成相同的任務
最早的一項關于神經網絡架構的理論保證之一來自30年前。1989年,計算機科學家證明:如果神經網絡只有一個計算層,且允許此層擁有無限的神經元,允許神經元之間有無限的連接,那么,這個神經網絡就能完成你所要求的任何任務。
這是過分籠統(tǒng)的觀點,結果非常直觀卻沒啥用。這好像是說:如果你能識別圖像中無限的線段,你就可以用一層網絡來區(qū)別所有物體。這可能在原理上是對的,但是,在實踐中就需要好運。
今天的研究者把這種很寬很平的網絡稱為“表達性”(expressive)的,是說它們理論上能捕捉在可能輸入(比如圖像)和可能輸出(比如對于圖像的描述)之間的豐富聯(lián)系。然而這種網絡卻是非常難以訓練,幾乎不可能教會它們如何真正產生相關輸出,其所需的計算也超過了任何計算機的能力。
最近,研究者開始嘗試把神經網絡推向另一個方向,把它變得更窄(每層更少的神經元)、更深(擁有更多層次)。所以,很可能你只要挑出100條不同的線段,然后用連接把這100條線段變成50條曲線,再合并成10個不同的形狀,這樣,你就獲得了需要的所有基礎組件,可以用來識別大多數(shù)物體。
在2018年完成的一篇文章中,羅爾尼克和麻省理工學院的邁克斯·泰格馬克(Max Tegmark)證明:通過增加深度、減少寬度,你可以使用很少的神經元來完成相同的功能。他們表明,如果你的模型有100個輸入變量,可以用一層2100的神經元或兩層210的神經元來達成相同的可靠度。羅爾尼克說:“神經網絡的深度概念和如下的觀念有關,即把復雜的事情分解為很多簡單事情,就像流水線?!?/p>
羅爾尼克和泰格馬克證明了深度網絡的效用,即通過要求網絡執(zhí)行簡單任務:把多項式函數(shù)相乘。他們通過方程式和解的例子來訓練神經網絡。然后要求網絡計算之前從未見過的方程式的解。深的網絡比淺的網絡做這件事情用更少的神經元。
盡管乘法不是讓世人震驚的任務,羅爾尼克說這篇文章提出了重要觀點:“如果淺的網絡連乘法都不能做,我們不能信任它們可以做別的事?!?/p>
其他研究者一直在探索可用的單層最小寬度。2018年9月底,杰西·約翰遜(Jesse Johnson)證明:在特定的點,再深的深度也無法彌補寬度不足。約翰遜是賽諾菲制藥公司的研究人員,以前是俄克拉荷馬州立大學的數(shù)學家。
要理解他的研究成果,我們可以想象田里的羊,羊毛染上幾種不同的顏色。你的神經網絡的任務就是要把所有相同顏色的羊圈在一起。就實質來說,這個任務和圖像分類相似,網絡有一組圖像,然后要把相似的圖像分組。
神經網絡把輸入(如一幅圖像)通過很多層的數(shù)字神經元進行傳輸處理,每一層網絡都揭示關于該輸入的更多特征。數(shù)學家正在揭示神經網絡的架構(關于該網絡有多少節(jié)點和多少層級,節(jié)點和層級間如何連接在一起)如何決定該神經網絡所擅長的任務。
當數(shù)據被喂入網絡時,每個響應的人工神經元(用“1”作為標記)把信號傳遞到下一層的特定神經元,而下層的神經元如果收到多個信號,就更容易響應。這個過程揭示了關于輸入的抽象信息。
淺網絡只有較少的層次,但是每層擁有很多神經元。這些“表達性”網絡在計算量上是很繁重的。
深網絡有很多的層次,每層擁有相對少的神經元。它可以用相對較少的神經元到達很高的抽象能力。
鮑里斯·哈寧,德克薩斯A & M大學數(shù)學家,研究神經網絡的深度和寬度之間的權衡關系
約翰遜證明:如果網絡的單層寬度少于或等于輸入的數(shù)量,就無法完成這樣的任務。以羊為例,每只羊可以用兩個輸入x和y坐標來確定它在田地的位置。神經網絡把每只羊標記一個顏色,然后在具備相同顏色的羊周圍畫邊界。在這種情況下,你需要每層3個或更多神經元的網絡來解決畫界問題。
更具體地說,約翰遜表示:如果網絡單層寬度與輸入變量數(shù)的比不合適,那么神經網絡就沒法畫封閉的圈(畫圈就表明,把在草場中間的紅色羊聚在一起)。“如果神經元的寬度不能超過輸入維度的數(shù)目,那么,無論使用多少層次,有些形狀網絡就永遠不能生成?!?約翰遜說。
像約翰遜這樣的文章正在構建神經網絡理論的基礎部分。在當下,研究者只能對網絡架構和功能之間的關系得出很基本的推論;比起神經網絡正在執(zhí)行的大量任務而言,這些推論占很小的比例。
所以,盡管神經網絡的理論不能很快改變人們建造系統(tǒng)的方法;但是,正在繪制關于計算機如何學習的新理論的藍圖。這一理論將使人類達成比登月更偉大的成就。