Yoshua Bengio 專欄文章:深度學習崛起帶來人工智能的春天

鎂客 9年前 (2016-05-20)

人工智能曾經讓人們失望了幾十年,最終,它追趕上了自己的早期承諾,這要感謝強大的深度學習技術。

【編者按】本文作者:Yoshua Bengio,由機器之心編譯,參與:陳剛、劉宗堯、吳攀、李超平、孫睿、微胖

Yoshua Bengio 專欄文章:深度學習崛起帶來人工智能的春天

人工智能曾經讓人們失望了幾十年,最終,它追趕上了自己的早期承諾,這要感謝強大的深度學習技術。

20 世紀 50 年代,計算機開始在象棋領域戰勝人類,證明數學定理,讓人類狂喜不已。60年代,人們越來越希望,不久以后,科學家就能用硬件和軟件復制人類大腦,「人工智能」可以完成任何任務,其表現不遜于人類。1967年,今年年初逝世的麻省理工學院教授 Marvin Minsky(MIT 人工智能實驗室的聯合創始人,人工智能先驅)宣稱,十年之內,人們可以解決人工智能這個難題。

當然,結果表明,當時就持有那份樂觀主義,有些過早。被設計用來協助外科醫生更好診斷病人的軟件,以及模擬人類大腦、用來識別圖片內容的網絡,都辜負了人工智能發展初期的那份狂熱。早些年,人工智能算法并不成熟,所需數據也比當時可以提供的數據還要多。計算機處理過程也很慢,以至于無法驅動計算機完成接近人類思維復雜性的大規模運算。

到了21世紀中期,打造媲美人類智能水平的機器之夢,幾乎從科學界消失了。當時,甚至「人工智能(AI)」這一表達,都不再是嚴肅科學領域的用語。20世紀70年代到21世紀中期,這段希望破滅時期,被科學家和作家們形容為一連串的「人工智能之冬」。

十年能發生多大的變化啊。2005年初,人工智能的前景發生了引人注目的改變。當時,深度學習,這種靈感源自腦科學、打造智能機器的方法,開始取得成功。近些年來,深度學習已經成為推動人工智能研究向前的奇特(singular)力量?,F在,一些主要的信息技術公司也正投入數十億美元,發展深度學習技術。

深度學習,是指模擬神經網絡,自己逐漸「學會」識別圖像,理解語音甚至做出決策。這一技術依賴的是所謂的人工神經網絡——目前人工智能研究的核心部分。人工神經網絡,并不是精確模擬真實的神經元運作方式。而是以一般數學原理為基礎,這些數學原理能夠幫助網絡從實例中學習,識別出圖片中的物體或人,翻譯世界主要語言。

深度學習技術,已經變革了人工智能研究,重拾對計算機視覺、語音識別、自然語言處理以及機器人學的雄心。2012年,首次展示了第一款用于理解語音的人工智能產品——你可能對 Google Now 比較熟悉。緊接著,又出現了可以識別圖片內容的應用,這一功能已經被吸收到谷歌相冊的搜索引擎中。

任何一個對繁冗的自動手機菜單感到沮喪的人都能體會,一款更好的智能手機私人助理會讓操作變得多么便利。有些人記得幾年前,在識別圖片中的物體方面,人工智能的表現有多糟糕——當時的軟件可能會把無生命的物品識別成動物——在這些人看來,計算機視覺上的進步,難以置信:在一定條件下,現在的計算機可以識別出貓、勢頭或者臉部以及人?,F在,人工智能軟件實際上已經成為數百萬智能手機用戶的生活的一部分。就我個人而言,已經很少手動鍵入信息,而是直接對手機說出命令,有時候它甚至能給我反饋。

這些進步已經突然為技術的進一步商業化打開了大門,而且興奮度也有增無減。公司的人才爭奪戰也十分激烈,深度學習領域的博士極度供不應求。許多該領域的大學教授——據某些統計,是大部分教授——都從學術界跳槽到了產業中,公司為他們配備了齊全的研究設備,還有豐厚的薪資。

解決深度學習的難題,已經帶來讓人吃驚的成功。神經網絡擊敗頂尖圍棋選手李世石的消息,登上了新聞頭條。相關應用已經延伸到其他人類專長的領域——而且這還是不是游戲的全部。一項新研發的深度學習算法,旨在根據磁共振成像診斷心臟衰竭,就像心臟病專家那樣。

智能、知識和學習

人工智能,為什么會在之前的幾十年中遇到了很多阻礙?原因是,我們對世界的絕大部分認知,都并不會通過書面語言清清楚楚地、像一系列任務一樣描述出來——而這恰恰是編寫計算機程序所必需的步驟。這就是為什么我們還無法直接讓計算機完成很多人類可以輕而易舉完成的事情——不論是理解演講、圖像、語言還是駕駛汽車。而類似的嘗試——在詳盡數據庫中組織事實集,為計算機注入智能(organizing sets of facts in elaborate databases to imbue computers with a facsimile of intelligence)——也都不太成功。

那正好是深度學習的用武之地。它是更廣泛的人工智能領域(亦即機器學習)的一部分。它的基礎是用來訓練智能計算系統的基本原則,目標是讓機器實現自學。這些基本原則之一與人類或機器所認為的「好」相關。對動物而言,進化論原則決定了它們應該做出優化生存、繁衍機會的決定。對人類社會來說,一個好的決定可能包括一些能夠帶來某種幸福表現的社會活動。而對于機器來說,比如無人駕駛汽車,決策的質量取決于自助車輛模仿人類司機行為的程度。

在特定語境中,是否能將作一個好決定所需要的知識翻譯成計算機代碼,并不一定顯而易見。例如,一只老鼠了解它所在的環境,也本能知道往哪里嗅,如何移動它的腿,尋找食物或者配偶,躲避捕食者。沒有程序員能詳細描述這套行動指令的每一步,進而生成這些行為。但是,這些知識的確被編碼進了這些嚙齒類動物的大腦中。

在創建出可以訓練自己的計算機之前,計算機科學家需要回答人類如何獲取知識等基本問題。有些知識是天生的,但大多數是從經驗中習得的。我們的知識本來就無法轉化為計算機執行的一系列清晰步驟,但是,可以時常從樣本和實踐中習得。上世紀五十年代依賴,研究人員已經在尋找并試著重新定義一些基本原則,這些基本原則允許動物或人——甚至機器——通過經驗獲取知識。機器學習旨在建立起學習步驟,也就是所謂的學習算法,它能讓一臺機器從給定的樣本中學習。

Yoshua Bengio 專欄文章:深度學習崛起帶來人工智能的春天

機器學習科學,在很大程度上是實驗性的,因為不存在通用學習算法——沒有能夠讓計算機學好每項給定任務的算法。任何知識獲取的算法,都需要根據針對手頭情況的數據和學習任務加以測試,是否能夠識別日落,或者將英語翻譯成烏爾都語。我們無法證明,在任何給定情況下,這個算法都始終、全面優于任何其他算法。

對于這個原則,人工智能研究人員已經有了正式的數學描述——「沒有免費午餐」定理——定理證實,不存在能夠解決每一個真實世界學習情境(learning situation)的算法。然而,人類行為顯然與這一定理相悖。我們的大腦看起來具有相當的學習能力,能夠讓我們精通大量祖先無法掌握的技能(因為演化):下棋、架橋或者做人工智能研究。

這些能力表明,人類智能充分利用了關于世界的一般假設,這種假設可以被用作打造一種通用智能機器的靈感之源。正是出于這一原因,人工神經網絡的開發者們已經將大腦作為設計智能系統的粗略模型。

大腦的主要計算單位是神經元細胞。每個神經元通過微小的細胞間隙((軸突之間的突觸間隙)向其他神經元發出信號。一個神經元傾向發出一個可以跨越間隙的信號的特性——以及那個信號的幅度——被稱為一個突觸強度(synaptic strength)。神經元一邊「學習」,它的突觸強度也在一邊變大,因此,當受到電子脈沖刺激時,更容易向沿路相鄰神經元發出信息。

腦科學對使用軟件或硬件打造虛擬神經元的人工神經網絡的興起,產生了影響。人工智能子領域中的早期研究人員,以聯結主義(connectionism)著稱,認為這是理所當然的:通過逐漸改變神經元之間的鏈接以便神經活動模式可以捕捉到輸入內容(比如一張圖像或者一段對話),神經網絡就能學會完成復雜任務。當這些網絡接收到更加復雜的實例時,通過改變連接神經元之間的突觸強度,學習過程就能繼續下去,并最終更加準確地表征出內容,比如,日落的圖像。

日落的教訓

當前一代神經網絡是聯結主義開創性工作的延伸。這種神經網絡能逐漸改變每一個突觸連接的數值,這些數值代表了連接的強度,即一個神經元有多大可能性能將一個信號傳遞給另一個神經元。深度學習網絡所使用的算法,在每次觀察到新圖像時都會輕微改變這些值。每個這些值都會逐漸接近能讓該神經網絡更好預測圖像內容的值。

為了達到最好效果,當前的學習算法需要人類的密切參與。這些算法中大部分都使用監督式學習,其中每一個樣本都有人類制作的關于其學習內容的標簽——比如,一張日落的照片會和「日落」的標題相關聯。在這個例子中,監督式學習算法的目標是拍攝一張照片作為輸入,然后得出圖像中關鍵對象名稱的輸出。這個輸入到輸出的數學轉換過程被稱為函數(function)。得出這一函數的那些數值——比如突觸強度——對應著一個解決該學習任務的方案。

通過死記硬背的學習方式得到正確答案會很容易,但卻沒什么用。我們希望教會該算法理解「日落」是什么,然后,讓其可以識別任何日落圖像,甚至是那些其從未在訓練中遇到過的圖像。這種辨別任何日落景象的能力——換句話說,超越特定樣本的概括性學習的能力——是所有機器學習算法的主要目標。事實上,任何網絡訓練質量的評估方式,都是使用其之前從未見過的樣本對其進行測試。對新樣本進行正確歸納有很大的難度,因為對應于任何分類(如日落)的可能變化的集合都幾乎是無限的。

為了從眾多被觀察樣本中進行成功歸納,用在深度學習網絡中的學習算法所需的不僅僅是樣本本身,還依賴于關于數據的假設以及對于一個特定問題可能的解決方案的假設。一個構建于軟件中的典型假設可能會假定:如果特定函數的數據輸入是相似的,那么,輸出也不應該出現徹底的改變——改變一張貓圖像上的幾個像素不應該將被識別的動物變成狗。

一種整合了對圖像的假設的神經網絡被稱為卷積神經網絡(convolutional neural network),它已經變成了助力人工智能復興的關鍵技術。深度學習所采用的卷積神經網絡,有許多層按某種方式組織起來的神經元,這樣可以降低輸出對變化圖像中的主要對象的敏感度,比如,當其位置輕微移動時——一個訓練良好的網絡可能能從不同照片中的不同角度識別一張臉。卷積網絡的設計靈感來自多層結構的視覺皮層——我們大腦中接收眼睛輸入的部分。卷積神經網絡中許多層的虛擬神經元是讓網絡「(具有)深度」的原因,也因此能讓其更好地理解周圍的世界。

走向深度

在實際應用層面上,十年前出現的一些特定創新讓深度學習成為可能,那時,人們對人工智能和神經網絡的興趣已經降到了數十年來的最低點。一個由政府和私人捐助者資助的加拿大組織加拿大高等研究院(CIFAR)通過贊助一個由多倫多大學的 Georey Hinton 領導的項目重新點燃了人們的興趣。該項目成員還包括紐約大學的 Yann LeCun、斯坦福大學的吳恩達、加州大學伯克利分校的 Bruno Olshausen、我和其他一些人。那時候,人們對這一領域的消極態度使發表論文、甚至說服研究生從事這方面的研究都很困難,但我們幾個人強烈地認為向前邁進是很重要的。

那時候,人們對神經網絡持懷疑態度的部分原因是人們相信訓練它們是毫無希望的,因為,在優化它們的行為方式上存在著許多挑戰。優化(optimization)是數學的一個分支,其作用是嘗試尋找實現某個數學目標的參數配置。在神經網絡中,這些參數被稱為突觸權重(synaptic weight),代表了一個信號被從一個神經元發送至另一個神經元的強度。

其目的是得出錯誤量最小的預測。當參數和目標之間的關系足夠簡單時——當目標是參數的一個的凸函數時,更為精確——參數可以逐步得到調整。然后,持續調整直到得到能產出盡可能好的選擇的參數值;這個最好的選擇被稱為全局極小值(global minimum)——其對應于網絡做出的最低可能的平均預測誤差。

然而,在一般情況下,訓練神經網絡并非那么簡單——并且需要所謂的非凸優化(nonconvex optimization)。這種類型的優化帶來了更大的挑戰——而且許多研究者相信這個障礙是不可逾越的。學習算法會受限于所謂的局部極小值(local minimum),在這種情況中,它不能通過稍微調整參數來減少預測誤差。

直到去年,神經網絡因為局部極小值而難以訓練的迷思才被解決。在我們的研究中,我們發現當一個神經網絡足夠大時,局部極小值問題會大大減少。大部分局部極小值實際上都對應于在某個水平上學到的知識——該水平與全局極小值的最優值基本上是匹配的。

盡管理論上,優化的理論難題可以得到解決,但是,構建超過兩層或三層的大型網絡通常以失敗告終。2005 年年初,CIFAR 支持下的努力取得突破,成功克服了這些障礙。2006 年,我們使用一種層上疊層的技術成功訓練了更深度的神經網絡。

后來,在 2011 年,我們發現了一種更好的方法以用于訓練更深度的網絡——有更多虛擬神經元層的方法——通過修改每個這些處理單元所進行的計算,讓它們更像是生物神經元實際上所進行的計算。我們也發現,在訓練中將隨機噪聲注入神經元之間傳遞的信號(類似于大腦中的情況)能讓它們更好地學習正確地識別圖像或聲音。

有兩個關鍵技術幫助實現了深度學習技術的成功。一是最初為視頻游戲設計的圖形處理單元讓計算速度直接提升了 10 倍,這樣,我們就可以在一個合理時間內訓練更大網絡。另一個助力深度學習增長的因素是可以接觸到大型有標簽數據集,讓學習算法可以識別正確的答案——比如,當識別貓只是其中一個元素的圖片時,就可以識別正確答案 ——「貓」。

深度學習近來成功的另一個原因在于其學習執行計算序列的能力——這些計算序列一步一步對圖像、聲音或其它數據進行構建或分析。網絡的深度即是這些步驟的數量。人工智能擅長的許多視覺或聽覺識別任務都需要很多層的深度網絡。事實上,在最近的理論和實驗研究中,我們實際上已經證明,在沒有足夠深度網絡的情況下,這些數學運算中的一部分無法得以有效執行。

深度神經網絡中的每一層都會轉換其輸入并生成一個被發送到下一層的輸出。該網絡的更深度層代表了更為抽象的概念[見上述框圖],這也更遠離最初的原始感官輸入。實驗表明,網絡中更深度層中的人工神經元往往對應于更抽象的語義概念:比如一個視覺物體,如一張桌子。對桌子圖像的識別可能會從更深層上神經元的處理中涌現,即使「桌子」的概念并不位于網絡接受過訓練的分類標簽中。而且桌子概念本身可能只是創建更抽象概念的一個中間步驟,這個更抽象的概念位于可能被網絡分類為「辦公室場景」的這類更為深度的層級上。

超越模式識別

直至最近,人工神經網絡的突出表現大部分在于完成這些任務上,比如識別靜態圖像的模式。但是,另一類神經網絡也正在變得有名——特別是在處理隨著時間展開的事件方面。遞歸神經網絡(Recurrent neural networks)已經向人們證實了其有能力正確完成一序列計算( a sequence of computations),典型地如語音、視頻以及其他數據。序列數據(Sequential data)由單元組成——無論是一個音素或一個完整單詞——一個單元按順序跟在另一個單元后。遞歸神經網絡處理輸入的方式類似大腦運作方式。當處理感官輸入時,在神經元之間傳遞的信號也會經常發生變化。在發出一系列指令讓身體動起來以完成某個特定任務之前,這種內部神經狀態的改變方式取決于當前的腦部輸入(這些輸入來自周圍環境)。

遞歸網絡可以預測句子中的下一個單詞,還可將其用于一次性生成新的單詞序列。他們也可以完成更復雜的任務:在「讀」完一句話中所有單詞后,網絡可以猜測整個句子意思。然后,一個獨立的遞歸網絡會使用第一個神經網絡的語義分析成果,將這個句子翻譯成另一種語言。

上世紀九十年代末和21世紀初,遞歸神經網絡研究趨于平靜。我的理論工作表明,在學會檢索久遠信息時,它們遇到了困難——處理這一序列中的最早元素。試想當你讀到一本書最后一頁時,試著逐字逐句背誦這本書的第一句。但是,一些進展已經減少了一些難題,方法是讓這類網絡學會儲存信息以便讓信息持續更長的時間。神經網絡可以使用計算機的臨時內存來處理多個、分散的信息碎片,比如包含在一個文檔中不同句子里的思想。

經歷漫長寒冬后,深度神經網絡的強勢復出并不僅僅是技術上的勝利。它也給科學社會學上了一課。它尤其強調了這樣一種必要性:挑戰技術現狀,鼓勵多樣化研究組合(a diverse research portfolio ),它會支持那些暫受冷遇的研究領域。

最后,記得關注微信公眾號:鎂客網(im2maker),更多干貨在等你!

鎂客網


科技 | 人文 | 行業

微信ID:im2maker
長按識別二維碼關注

硬科技產業媒體

關注技術驅動創新

分享到