人工智慧學家推薦
來源:CSDN
本文首先回答關於深度學習的幾個常見問題,介紹深度學習研究的最新進展,特別是一些代表性工作,同時概述華為諾亞方舟實驗室的深度學習與自然語言處理的工作,最後總結深度學習的未來發展趨勢。
深度學習是機器學習的一個領域,研究複雜的人工神經網絡的算法、理論、及應用。自從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),可以存儲一系列中間語義表示,給定輸入的一句話,系統將其轉換為中間表示,更新長期記憶的狀態(如加入新的中間表示),產生一個新的表示,最後產生輸出的一個回答。
圖5 記憶網絡能做的簡單問答例
諾亞方舟實驗室的深度學習研究諾亞方舟實驗室在進行自然語言處理與深度學習的研究,目標是構建更好的機器翻譯、自然語言對話系統。最近在相關研究中取得了一定的成果,也得到了業界同行的肯定。下面介紹幾個代表性的工作,並總結其主要結論。
自然語言對話是人工智慧最具挑戰的問題之一,現在有許多實用的對話系統,如蘋果Siri,能夠與人做簡單的對話,完成一些簡單的任務,比如問天氣、查股票,但是現在的對話系統距離與人進行自由對話的理想還差得很遠,今後需要不斷開發更先進的對話技術。當前的技術主要是能進行單輪對話,如果能做多輪對話也是在單輪對話的基礎上加一些簡單處理。單輪對話技術又分為基於規則的、和基於數據的,據我們所知,現在的系統都是基於這兩種方式。諾亞方舟實驗室的主要貢獻是,系統地研究了基於數據的單輪對話系統,用深度學習開發出了業界最先進的技術。提出了多個深度學習模型[8,9,10],其中的神經應答機(Neural Responding Machine),是業界第一個基於深度學習的單輪對話生成模型[10]。人給出一句話,這個系統能自動產生一句回復,整個系統完全是由大規模對話數據自動構建,核心是循環神經網絡模型。這個系統能生成讓人驚嘆的回覆,對話的成功率也比已有的基於翻譯模型的系統有大幅度的提升。我們的對話研究,現在重點轉移到了多輪對話、知識使用、簡單推理等幾個方面。
機器翻譯可以幫助人類克服語言障礙,是自然語言處理的主要應用。機器翻譯的主流現在依然是統計機器翻譯(Statistical Machine Translation, SMT),特別是採用詞語級的翻譯方式(phrase-based)。近年來,有不少學者嘗試將深度學習技術與SMT結合,比如,BBN的學者發現,用深度模型實現源語言與目標語言的聯合模型,並將這個模型作為SMT 模型的一個特徵使用,可以提升SMT的準確度。沿著這個思路,我們也提出了兩個卷積神經網絡模型[11,12,13],作為源語言與目標語言的聯合模型以及目標語言的語言模型,並將它們用為SMT模型的特徵,整體將BLEU分數提高了兩個點。另一個更加大膽也是被寄予厚望的方向,是完全用深度學習實現機器翻譯系統,稱為神經機器翻譯(neural machine translation, NMT),已取得了初步的成果,達到與SMT持平的好結果。比如,蒙特婁大學的學者提出了基於循環神經網絡的系統RNNSearch。其基本想法是用RNN將源語言的句子轉換成中間表示,再用另一個RNN將中間表示轉換為目標語言的句子,另外,他們還導入注意力(attention)的機制,能進一步提高翻譯的準確率。我們也在進行NMT的研究,提出了深度記憶(DeepMemory,DM)模型[14]。DM將源語言的句子通過一系列非線性變換,轉換成中間表示,再轉換成目標語言的句子。受神經圖靈機的啟發,DM將中間表示分別存放在不同記憶中,通過神經網絡控制對記憶的讀寫操作,從而實現各種複雜的中間變換,如順序的調換,適合於相遠語言之間的翻譯。DM在中英翻譯上達到了單模型與SMT的標杆系統Moses同等的水平。
以上是應用,用於自然語言處理的深度學習基本技術方面,我們也做了一定的深入研究,取得了領先的成果。諾亞方舟實驗室的主要貢獻包括,提出了用卷積神經網絡(CNN)模型表示語句語義,應用在自動問答、單輪對話、圖片搜索、機器翻譯、情感分析上,大幅度提升了所有這些任務的準確率[8,11,12,13,15,16];在幾個任務上系統地比較了CNN與RNN(循環神經網絡)的關係,得出了CNN更適合於語言的匹配(matching),RNN更適合於語言的轉換(translation)的結論。事實上,CNN是自然語言處理的強有力工具。它對句子進行掃描,抽取特徵,選擇特徵,最後組合成句子的語義表示。它的特點是不需要進行句法分析,特徵抽取與選擇更具有魯棒性;從語句的整體出發進行特徵抽取與選擇,更適合於整個語句的匹配(不需生成語句),如問答中的問句與回答的匹配。
深度學習的未來發展趨勢深度學習的領軍人物LeCun, Bengio & Hinton在《自然》雜誌上是 這樣預見深度學習的未來發展趨勢的[17] :首先,雖然最近非監督學習被監督學習搶去了風頭,但是長期來看,仍然是更為重要的問題;在計算機視覺領域,結合多種模型,如深度學習與強化學習,構建端到端的系統,可能會實現更加接近人的識別機制;自然語言處理將是深度學習今後大顯身手,取得重大突破的領域,能夠更好地「理解」語句與篇章語義的系統將會出現;最後,深度學習與符號人工智慧的結合,將給人工智慧領域帶來革命性的變化。
深度學習確實為人工智慧、計算機科學開啟了一片新天地,展望未來,的確讓人感到無比興奮,基於深度學習及其他相關技術,我們確實有可能讓計算機更接近人,讓一些在科幻電影、科幻小說中的虛構成為現實。
參考文獻Hinton, G. E., & Salakhutdinov, R. R. (2006). Reducing the dimensionality of data with neural networks. Science, 313(5786), 504-507.
Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems (pp. 1097-1105).
Dahl, G. E., Yu, D., Deng, L., & Acero, A. (2012). Context-dependent pre-trained deep neural networks for large-vocabulary speech recognition. Audio, Speech, and Language Processing, IEEE Transactions on, 20(1), 30-42.
Le, Q. V. (2013, May). Building high-level features using large scale unsupervised learning. InAcoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on(pp. 8595-8598). IEEE.
Mnih, V., Kavukcuoglu, K., Silver, D., Graves, A., Antonoglou, I., Wierstra, D., & Riedmiller, M. (2013). Playing atari with deep reinforcement learning. arXiv preprint arXiv:1312.5602.
Graves, A., Wayne, G., & Danihelka, I. (2014). Neural Turing Machines. arXiv preprint arXiv:1410.5401.
Weston, J., Chopra, S., & Bordes, A. (2014). Memory networks. arXiv preprint arXiv:1410.3916.
Baotian Hu, Zhengdong Lu, Hang Li, Qingcai Chen. Convolutional Neural Network Architectures for Matching Natural Language Sentences. NIPS'14, 2042-2050, 2014.
Mingxuan Wang, Zhengdong Lu, Hang Li, Qun Liu. Syntax-based Deep Matching of Short Texts. IJCAI』15, 2015.
Lifeng Shang, Zhengdong Lu, Hang Li. Neural Responding Machine for Short Text Conversation. ACL-IJCNLP'15, 2015.
Fandong Meng, Zhengdong Lu, Mingxuan Wang, Hang Li, Wenbin Jiang, Qun Liu. Encoding Source Language with Convolutional Neural Network for Machine Translation. ACL-IJCNLP'15, 20-30, 2015.
Baotian Hu, Zhaopeng Tu, Zhengdong Lu, Hang Li, Qingcai Chen. Context-Dependent Translation Selection Using Convolutional Neural Network. ACL-IJCNLP'15, 536-541, 2015.
Mingxuan Wang, Zhengdong Lu, Hang Li, Wenbin Jiang, Qun Liu. GenCNN: A Convolutional Architecture for Word Sequence Prediction. ACL-IJCNLP'15, 1567-1576, 2015.
Fandong Meng, Zhengdong Lu, Zhaopeng Tu, Hang Li, Qun Liu. A Deep Memory based Architecture for Sequence-to-Sequence Learning, arXiv:1506.06442, 2015.
Lin Ma, Zhengodng Lu, Lifeng Shang, Hang Li . Multimodal Convolutional Neural Networks for Matching Image and Sentence, ICCV』15, 2015.
Han Zhao, Zhengdong Lu, Pascal Poupart, Self-Adaptive Hierarchical Sentence Model. IJCAI 2015: 4069-4076, 2015.
LeCun, Yann, Yoshua Bengio, & Geoffrey Hinton (2015). Deep Learning. Nature 521.7553: 436-444.
作者簡介
呂正東,華為技術有限公司諾亞方舟實驗室資深研究員。西安郵電學院畢業,俄勒岡健康與科學大學博士。曾任微軟亞洲研究院副研究員。研究方向包括機器學習、數據挖掘及自然語言處理。
李航,華為技術有限公司諾亞方舟實驗室主任。日本京都大學電氣工程系畢業,日本東京大學計算機科學博士。曾就職於日本NEC公司中央研究所,任研究員,以及微軟亞洲研究院,任高級研究員與主任研究員。研究方向包括信息檢索、自然語言處理、統計機器學習及數據挖掘。(來源:csdn 責編/周建丁)