深度學習

轉載:

編者按:本文作者王川,投資人,中科大少年班校友,現居加州硅谷,個人微信號9935070,36 氪經授權轉載自其個人微信公衆號 investguru。

  一

  2016 年一月底,人工智能的研究領域,發生了兩件大事。

  先是一月二十四號,MIT 的教授,人工智能研究的先驅者,Marvin Minsky 去世,享年89 歲。

  三天之後,谷歌在自然雜誌上正式公開發表論文,宣佈其以深度學習技術爲基礎的電腦程序 AlphaGo, 在 2015年 十月,連續五局擊敗歐洲冠軍、職業二段樊輝。

  這是第一次機器擊敗職業圍棋選手。距離 97年IBM 電腦擊敗國際象棋世界冠軍,一晃近二十年了。

  極具諷刺意義的是,Minsky 教授,一直不看好深度學習的概念。他曾在 1969年 出版了 Perceptron (感知器) 一書,指出了神經網絡技術 (就是深度學習的前身) 的侷限性。這本書直接導致了神經網絡研究的將近二十年的長期低潮。

  神經網絡研究的歷史,是怎樣的?

  深度學習有多深?學了究竟有幾分?

  二

  人工智能研究的方向之一,是以所謂 “專家系統” 爲代表的,用大量 “如果-就” (If - Then) 規則定義的,自上而下的思路。

  人工神經網絡 ( Artifical Neural Network),標誌着另外一種自下而上的思路。

  神經網絡沒有一個嚴格的正式定義。它的基本特點,是試圖模仿大腦的神經元之間傳遞,處理信息的模式。

  

  一個計算模型,要劃分爲神經網絡,通常需要大量彼此連接的節點 (也稱 ‘神經元’),並且具備兩個特性:

  每個神經元,通過某種特定的輸出函數 (也叫激勵函數 activation function),計算處理來自其它相鄰神經元的加權輸入值

  神經元之間的信息傳遞的強度,用所謂加權值來定義,算法會不斷自我學習,調整這個加權值

  在此基礎上,神經網絡的計算模型,依靠大量的數據來訓練,還需要:

  成本函數 (cost function):用來定量評估根據特定輸入值, 計算出來的輸出結果,離正確值有多遠,結果有多靠譜

  學習的算法 ( learning algorithm ):這是根據成本函數的結果, 自學, 糾錯, 最快地找到神經元之間最優化的加權值

  用小明、小紅和隔壁老王們都可以聽懂的語言來解釋,神經網絡算法的核心就是:計算、連接、評估、糾錯、瘋狂培訓。

  隨着神經網絡研究的不斷變遷,其計算特點和傳統的生物神經元的連接模型漸漸脫鉤。

  但是它保留的精髓是:非線性、分佈式、並行計算、自適應、自組織。

  三

  神經網絡作爲一個計算模型的理論,1943年 最初由科學家 Warren McCulloch 和 Walter Pitts 提出。

  康內爾大學教授 Frank Rosenblatt 1957年 提出的“感知器” (Perceptron),是第一個用算法來精確定義神經網絡,第一個具有自組織自學習能力的數學模型,是日後許多新的神經網絡模型的始祖。

  

  Rosenblatt 樂觀地預測,感知器最終可以 “學習、做決定、翻譯語言”。感知器的技術,六十年代一度走紅,美國海軍曾出資支持這個技術的研究,期望它 “以後可以自己走、說話、看、讀、自我複製、甚至擁有自我意識”。

  Rosenblatt 和 Minsky 實際上是間隔一級的高中校友。但是六十年代,兩個人在感知器的問題上展開了長時間的激辯。Rosenblatt 認爲感應器將無所不能,Minsky 則認爲它應用有限。

  1969 年,Marvin Minsky 和 Seymour Papert 出版了新書:“感知器:計算幾何簡介”。書中論證了感知器模型的兩個關鍵問題:

  第一,單層的神經網絡無法解決不可線性分割的問題,典型例子如異或門,XOR Circuit ( 通俗地說,異或門就是:兩個輸入如果是異性戀,輸出爲一。兩個輸入如果是同性戀,輸出爲零 )

  第二,更致命的問題是,當時的電腦完全沒有能力完成神經網絡模型所需要的超大的計算量。

  此後的十幾年,以神經網絡爲基礎的人工智能研究進入低潮,相關項目長期無法得到政府經費支持,這段時間被稱爲業界的核冬天。

  Rosenblatt 自己則沒有見證日後神經網絡研究的復興。1971年 他 43 歲生日時,不幸在海上開船時因爲事故而喪生。

  1970年,當神經網絡研究的第一個寒冬降臨時。在英國的愛丁堡大學,一位二十三歲的年輕人,Geoffrey Hinton,剛剛獲得心理學的學士學位。

  Hinton 六十年代還是中學生時,就對腦科學着迷。當時一個同學給他介紹關於大腦記憶的理論是:

  大腦對於事物和概念的記憶,不是存儲在某個單一的地點,而是像全息照片一樣,分佈式地,存在於一個巨大的神經元的網絡裏。

  分佈式表徵 (Distributed Representation),是神經網絡研究的一個核心思想。

  它的意思是,當你表達一個概念的時候,不是用單個神經元一對一地存儲定義;概念和神經元是多對多的關係:一個概念可以用多個神經元共同定義表達,同時一個神經元也可以參與多個不同概念的表達。

  舉個最簡單的例子。一輛 “大白卡車”,如果分佈式地表達,一個神經元代表大小,一個神經元代表顏色,第三個神經元代表車的類別。三個神經元同時激活時,就可以準確描述我們要表達的物體。

  分佈式表徵和傳統的局部表徵 (localized representation) 相比,存儲效率高很多。線性增加的神經元數目,可以表達指數級增加的大量不同概念。

  分佈式表徵的另一個優點是,即使局部出現硬件故障,信息的表達不會受到根本性的破壞。

  這個理念讓 Hinton 頓悟,使他四十多年來,一直在神經網絡研究的領域裏堅持下來沒有退縮。

  本科畢業後,Hinton 選擇繼續在愛丁堡大學讀研,把人工智能作爲自己的博士研究方向。

  周圍的一些朋友對此頗爲不解。“你瘋了嗎? 爲什麼浪費時間在這些東西上? 這 (神經網絡) 早就被證明是扯淡的東西了。”

  Hinton 1978 年在愛丁堡獲得博士學位後,來到美國繼續他的研究工作。

  二

  神經網絡當年被 Minsky 詬病的問題之一是巨大的計算量。

  簡單說,傳統的感知器用所謂 “梯度下降”的算法糾錯時,耗費的計算量和神經元數目的平方成正比。當神經元數目增多,龐大的計算量是當時的硬件無法勝任的。

  1986年 七月,Hinton 和 David Rumelhart 合作在自然雜誌上發表論文, “Learning Representations by Back-propagating errors”,第一次系統簡潔地闡述反向傳播算法在神經網絡模型上的應用。

  反向傳播算法,把糾錯的運算量下降到只和神經元數目本身成正比。

  反向傳播算法,通過在神經網絡裏增加一個所謂隱層 (hidden layer),同時也解決了感知器無法解決異或門 (XOR gate) 的難題。

  使用了反向傳播算法的神經網絡,在做諸如形狀識別之類的簡單工作時,效率比感知器大大提高。

  八十年代末計算機的運行速度,也比二十年前高了幾個數量級。

  神經網絡的研究開始復甦。

  三

  Yann Lecun (我給他取箇中文名叫 “嚴樂春”吧) 1960年 出生於巴黎。1987年 在法國獲得博士學位後,他曾追隨 Hinton 教授到多倫多大學做了一年博士後的工作,隨後搬到新澤西州的貝爾實驗室繼續研究工作。

  在貝爾實驗室,嚴樂春 1989年 發表了論文, “反向傳播算法在手寫郵政編碼上的應用”。他用美國郵政系統提供的近萬個手寫數字的樣本來培訓神經網絡系統,培訓好的系統在獨立的測試樣本中, 錯誤率只有 5%。

  嚴樂春進一步運用一種叫做“卷積神經網絡” (Convoluted Neural Networks) 的技術,開發出商業軟件用於讀取銀行支票上的手寫數字,,這個支票識別系統在九十年代末佔據了美國接近 20%的市場。

  此時就在貝爾實驗室,嚴樂春臨近辦公室的一個同事的工作,又把神經網絡的研究帶入第二個寒冬。

  四

  Vladmir Vapnik,1936年 出生於前蘇聯,90年 移民到美國,在貝爾實驗室做研究。

  早在 1963年,Vapnik 就提出了 支持向量機 (Support Vector Machine) 的算法。支持向量機,是一種精巧的分類算法。

  除了基本的線性分類外,在數據樣本線性不可分的時候,SVM 使用所謂 “核機制” (kernel trick) 的非線性映射算法,將線性不可分的樣本轉化到高維特徵空間 (high-dimensional feature space),使其線性可分。

  SVM,作爲一種分類算法,九十年代初開始,在圖像和語音識別上找到了廣泛的用途。

  在貝爾實驗室的走廊上,嚴樂春和 Vapnik 常常就 (深度) 神經網絡和 SVM 兩種技術的優缺點,展開熱烈的討論。

  Vapnik 的觀點是:SVM,非常精巧地在 “容量調節” (Capacity Control) 上 選擇一個合適的平衡點,而這是神經網絡不擅長的。

  什麼是 “容量調節”? 舉個簡單的例子:如果算法容量太大,就像一個記憶力極爲精準的植物學家,當她看到一顆新的樹的時候,由於這棵樹的葉子和她以前看到的樹的葉子數目不一樣,所以她判斷這不是樹;如果算法容量太小,就像一個懶惰的植物學家,只要看到綠色的東西都把它叫做樹。

  嚴樂春的觀點是:用有限的計算能力,解決高度複雜的問題,比“容量調節”更重要。支持向量機,雖然算法精巧,但本質就是一個雙層神經網絡系統。它的最大的侷限性,在於其“核機制”的選擇。當圖像識別技術需要忽略一些噪音信號時,卷積神經網絡的技術,計算效率就比 SVM 高的多。

  在手寫郵政編碼的識別問題上,SVM 的技術不斷進步,1998年 就把錯誤率降到低於 0.8%,2002年 最低達到了 0.56%,這遠遠超越同期傳統神經網絡算法的表現。

  神經網絡的計算,在實踐中還有另外兩個主要問題:

  第一,算法經常停止於局部最優解,而不是全球最優解。這好比“只見樹木,不見森林”。

  第二,算法的培訓,時間過長時,會出現過度擬合 (overfit),把噪音當做有效信號。

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