深度學習與自然語言處理的工作概述及未來發展
大小:0.4 MB 人氣: 2017-10-13 需要積分:1
標簽:深度學習(119547)
深度學習是機器學習的一個領域,研究復雜的人工神經網絡的算法、理論、及應用。自從2006年被Hinton等提出以來[1],深度學習得到了巨大發展,已被成功地應用到圖像處理、語音處理、自然語言處理等多個領域,取得了巨大成功,受到了廣泛的關注,成為當今具有代表性的IT先進技術。圖1 從歷史角度看深度學習與其他機器學習技術的關系
深度學習本質是復雜的非線性模型的學習,從機器學習的發展史來看,深度學習的興起代表著機器學習技術的自然演進。1957年,Rosenblatt提出了感知機模型(Perceptron),是線性模型,可以看作是兩層的神經網絡;1986年,Rumelhart等開發了后向傳播算法(Back Propagation),用于三層的神經網絡,代表著簡單的非線性模型;1995年,Vapnik等發明了支持向量機(Support Vector Machines),RBF核支持向量機等價于三層的神經網絡,也是一種簡單的非線性模型。2006年以后的深度學習實際使用多于三層的神經網絡,又被稱為深度神經網絡,是復雜的非線性模型(見圖1)。深度神經網絡還有若干個變種,如卷積神經網絡(Convolutional Neural Network)、循環神經網絡(Recurrent Neural Network)。
本文首先回答關于深度學習的幾個常見問題,介紹深度學習研究的最新進展,特別是一些代表性工作,同時概述我們的深度學習與自然語言處理的工作,最后總結深度學習的未來發展趨勢。
關于深度學習的幾個常見問題
這里嘗試回答三個關于深度學習的常見問題。深度學習為什么很強大?深度學習是否是萬能的?深度學習與人的大腦有什么關系?
深度學習為什么很強大?深度神經網絡實際是復雜的非線性模型,擁有復雜的結構和大量的參數,有非常強的表示能力,特別適合于復雜的模式識別問題。
圖2所示是一個簡單的神經網絡的例子,可以表示布爾函數XNOR,這個模型可以做簡單的非線性分類。這是說明三層神經網絡擁有非線性分類能力的著名例子。一般地,隨著神經網絡的層數增大,神經元數增大,其處理復雜的非線性問題的能力也隨之增大。
圖2 XNOR神經網絡
圖3 被稱為Alex Net的神經網絡
圖3所示的是被稱為Alex Net的神經網絡[2],是一個卷積神經網絡,有11層,65萬個神經元,6千萬個參數。這個模型在2012年的ImageNet比賽中取得了第一名的好成績,前五準確率是85%,遠遠高出第二名。這也是證明深度學習非常有效的著名實例。該任務是將120萬張圖片分到1千個類別中,對人也有一定的挑戰,可以看出深度神經網絡能實現很強的圖片檢測能力。
圖4 和-積神經網絡
深度學習的特點是深層的神經網絡學習,網絡層數多,有著本質重要的意義,體現在有更好的統計效率(statistical efficiency)上。
圖4所示的是一個4層的和-積神經網絡,神經元表示邏輯和、或者邏輯積,整個網絡對應著一個邏輯表示式。可以把這個神經網絡“壓扁”,成為3層的神經網絡,相當于把邏輯表達式展開。兩個神經網絡的表達能力是等價的,但淺層神經網絡有更多的神經元,更多的參數。我們知道參數多的模型通常需要更多的數據訓練。所以,深層神經網絡只需要更少的數據就可以訓練好,也就是說,有更好的統計效率。注意,當把深層神經網絡壓扁的時候,得到的淺層神經網絡的參數個數是指數性增加的,雖然表示能力相同,但現實中是不可能學到的。這個結論對一般的神經網絡也適用。
非常有趣的是,人的大腦也擁有多層的串聯結構(cascaded structure),也就是深層神經網絡結構。從Hubel和Wiesel的、以及之后的神經科學研究結果可以看出,人之所以能夠做復雜的信息處理,與這種結構有很大關系。
深度學習是否是萬能的?深度學習不是萬能的。首先,深度學習不適合所有問題。如果問題簡單,比如線性問題和簡單的非線性問題,深度學習至多是與支持向量機等有同等的準確率。如果學習陷入局部最優,可能還不如其他方法。本質上這相當于殺雞用牛刀。
另外,如果訓練數據量不夠大,深度神經網絡不能得到充分學習,效果也不會很好。這時深度學習這匹“千里馬”,也只能是“雖有千里之能,食不飽,力不足,才美不外見”。
再有,理論上深度學習也不是萬能的。著名的“沒有免費的午餐”定理說明了這一點。該定理指出,針對任意兩個機器學習方法:方法一和方法二,如果存在一個問題,方法一比方法二學到的模型預測精度高,那么一定存在另一個問題,方法二比方法一學到的模型預測精度高。這個定理實際在說,沒有任何一個方法可以包打天下。注意這里只保證后種情況是存在的,并沒有涉及其可能性有更大。所以,在平均意義下學習方法的優劣還是有的,至少經驗性上是這樣。
這個定理的一個推論就是,深度學習不是萬能的,至少理論上存在一些問題,其他方法比深度學習能做得更好,盡管有時可能碰到這種情況的概率不高。
深度學習與人的大腦有什么關系?歷史上,人工神經網絡的發明,在一定程度上受到了人腦信息處理機制的啟發。但是,人工神經網絡,包括深度神經網絡,本質上還是機器學習模型。
首先,我們對人腦的了解還非常有限。撇開物質層面上的不同(人腦是生物系統,計算機是電子系統),把兩者都當作信息處理系統(比如,諾依曼就把計算機和人腦都看作是不同的automata——自動機),我們仍能看到它們之間的許多相同點和不同點。
相同點如下。人工神經網絡中的節點和鏈接,對應著人腦的神經元(neuron)和突觸(synapse),有時我們直接把它們叫作神經元和突觸。人工神經網絡的架構,比如,卷積神經網絡的架構借鑒了人腦的信息處理機制,包括串聯結構(cascaded structure),局部感受野(local receptive field)。人工神經網絡中,模擬信號和數字信號交互出現(如XNOR網絡),這與人腦的神經網絡有相似之處。
不同點也很明顯。人工神經網絡的學習算法通常是后向轉播算法,是一個減少訓練誤差驅動的,需要多次迭代的,網絡參數學習的優化算法,這與人腦的學習機制可能有本質的不同。深度神經網絡本質是數學模型,比如,卷積神經網絡采用卷積(convolution)與最大池化(max pooling)操作,以達到進行圖像識別時不受圖片的平移與旋轉的影響的效果,這些操作本質是數學函數,與人腦的處理有什么關系并不清楚。最重要的是,深度學習的目的是在具體任務上提升預測準確率,不是模擬人腦的功能。
深度學習的最新進展
深度學習是2006年誕生的,但是其真正的興起,或者說重大影響工作的出現,是在2012年之后,比如,Krizhevsky等用深度學習大幅度提高了圖片分類的準確率,也就是Alex Net的工作[2];Dahl等大幅度提升了語音識別的準確率[3]。
以上的深度學習工作代表著強大的分類和回歸模型的學習和使用,可以認為是傳統的支持向量機的發展和提升。下面介紹四個深度學習的工作,從概念上有了重要的創新。
通常的深度學習方法都是監督學習,Le等提出了一個非監督的深度學習方法[4],可以從大量未標注圖片數據中,學習到識別圖片中概念的神經元,比如,能檢測到貓的概念的神經元。整個神經網絡有9層,重復三次同樣的處理,每次處理包含過濾、池化、規一化操作,由3層神經網絡實現。學習是通過自動編碼與解碼實現,通過這個過程,自動學習到數據中存在的模型(概念)。這個工作的另一個特點是大規模并行化。神經網絡模型有100億個參數,用1000萬張圖片在1000臺機器上訓練三天得到。監督學習需要使用標注數據,往往成本很高,有時很難得到大量訓練數據;另一方面人的學習有很多是非監督的。所以,這個工作讓人們看到了深度學習未來發展的一個新方向。
Mnih等將深度學習技術用到了強化學習[5]。強化學習適合于主體在與環境進行交互的過程中自動學習選擇最佳策略、采取最佳行動的問題。Mnih等利用強化學習構建了一個系統,可以自動學習打電腦游戲,而強化學習的核心由深度學習實現。在Atari游戲機上,這個系統可以比人類的玩家學得更快,打得更好。具體地、強化學習是Q-learning,其中Q函數由一個卷積神經網絡表示,狀態表示電腦游戲的畫面等環境,動作是游戲的操作,獎勵是游戲的分數。這里的核心思想是用參數化的神經網絡來表示Q函數,比起傳統的用線性模型的方法,準確率由大幅度提高。這個工作將深度學習的應用擴展出一個新的領域。
另一個工作是Graves等提出的神經圖靈機(Neural Turing Machine,NTM)[6],一種新的基于深度學習的計算機架構。深度學習通常用在預測、分析問題上,這里作者提出將它用到計算機的控制上。計算機的一個重要功能是在外部記憶(external memory)上進行讀寫操作,從而擁有極大的信息處理能力。NTM這種計算機,也使用外部記憶,其特點是假設外部記憶的控制器是基于多層神經網絡的,這樣在外部記憶上的讀寫,就不是確定性的,而是依賴輸入輸出,非確定性的。Graves等證明NTM可以從數據中學習到外部記憶控制,執行“復制”、“排序”等操作。將深度學習用于計算機的存儲控制,確有讓人耳目一新的感覺。
Weston等人提出了記憶網絡(Memory Network,MemNN)模型,可以做簡單的問答,如圖5所示[7]。雖然在回答需要相對復雜推理的問題時MemNN的精度還不理想,但是這個工作讓深度學習技術延伸到問答、推理等傳統人工智能的問題上,受到廣泛關注。MemNN模型的特點如下,有一個長期記憶(Long Term Memory),可以存儲一系列中間語義表示,給定輸入的一句話,系統將其轉換為中間表示,更新長期記憶的狀態(如加入新的中間表示),產生一個新的表示,最后產生輸出的一個回答。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%