深度學習與自然語言處理的工作概述及未來發展

2020-11-25 電子發燒友

深度學習是機器學習的一個領域,研究複雜的人工神經網絡的算法、理論、及應用。自從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),可以存儲一系列中間語義表示,給定輸入的一句話,系統將其轉換為中間表示,更新長期記憶的狀態(如加入新的中間表示),產生一個新的表示,最後產生輸出的一個回答。

相關焦點

  • 從語言學到深度學習NLP,一文概述自然語言處理
    本文從兩篇論文出發先簡要介紹了自然語言處理的基本分類和基本概念,再向讀者展示了深度學習中的 NLP。這兩篇論文都是很好的綜述性入門論文,希望詳細了解自然語言處理的讀者可以進一步閱讀這兩篇論文。第二部分描述的是基於深度學習的 NLP,該論文首先描述了深度學習中的詞表徵,即從 one-hot 編碼、詞袋模型到詞嵌入和 word2vec 等,我們首先需要數字表徵詞彙才能進一步做自然語言處理。
  • 實踐入門NLP:基於深度學習的自然語言處理
    特別是最近兩年,基於深度學習的自然語言處理逐漸取得了一定進展,在人機對話、問答系統、語言翻譯等方向的應用也一直是自然語言處理中的熱門話題,而這些應用的實現,基本依賴於底層技術和模型的進步,再加上自然語言處理領域也算是一個多學科交叉的行業,自然語言處理的未來發展對於很多相關學科和方向都具有深遠的影響力。
  • 自然語言處理深度學習的7個應用
    原文:7 Applications of Deep Learning for Natural Language Processing作者:Jason Brownlee翻譯:無阻我飛揚摘要:在這篇文章中,作者詳細介紹了自然語言處理深度學習的7種應用,以下是譯文。自然語言處理領域正在從統計方法轉變為神經網絡方法。
  • 人工智慧與自然語言處理概述:AI三大階段、NLP關鍵應用領域
    並著重介紹了大數據和自然語言處理的發展,對自然語言處理在大數據中扮演的角色作了探討。「人工智慧」包含兩個關鍵點:自動化智能人工智慧的目標推理自動學習&調度機器學習自然語言處理計算機視覺機器人通用智能人工智慧三大階段階段 1——機器學習:智能系統使用一系列算法從經驗中進行學習。階段 2——機器智能:機器使用的一系列從經驗中進行學習的高級算法,例如深度神經網絡。
  • 閒談深度學習在自然語言處理領域的5大關鍵優勢
    在自然語言處理領域,深度學習將給予最大的幫助,深度學習方法主要依靠一下這五個關鍵優勢,閱讀本文將進一步了解自然語言處理的重要深度學習方法和應用。 在自然語言處理領域,深度學習的承諾是:給新模型帶來更好的性能,這些新模型可能需要更多數據,但不再需要那麼多的語言學專業知識。
  • CNCC 2019 | 劉群:基於深度學習的自然語言處理,邊界在哪裡?
    >當前,深度學習之於自然語言處理,有其局限性。近日,在北京語言大學舉辦的第四屆語言與智能高峰論壇上,華為諾亞方舟實驗室語音語義首席科學家劉群教授高屋建瓴,細緻分析了深度學習時代NLP的已知與未知。他從自然語言處理基於規則、統計到深度學習的範式遷移出發,探討了深度學習方法解決了自然語言處理的哪些問題以及尚未解決哪些問題。
  • 自然語言處理的最佳實踐
    雷鋒網 AI 開發者按,近年來,自然語言處理(NLP)在質量和可用性方面快速增長,這有助於推動人工智慧解決方案的實際落地。在過去的幾年裡,研究人員一直在將新的深度學習方法應用於 NLP。數據科學家開始從傳統的方法轉向最先進的(SOTA)深度神經網絡(DNN)算法,這種算法使用的語言模型經過了大文本語料庫的預訓練。
  • 自然語言處理(NLP)中的深度學習發展史和待解難題
    王小新 編譯自 sigmoidal量子位 出品 | 公眾號 QbitAI自然語言處理(NLP)是指機器理解並解釋人類寫作與說話方式的能力。近年來,深度學習技術在自然語言處理方面的研究和應用也取得了顯著的成果。技術博客Sigmoidal最近發布了一篇文章,作者是機器學習工程師Rafal。
  • 復旦大學黃萱菁:自然語言處理中的表示學習
    2020年6月20日,第16期「AI未來說·青年學術論壇」NLP前沿技術及產業化線上專場論壇以「線上平臺直播+微信社群圖文直播」形式舉行。復旦大學黃萱菁帶來報告《自然語言處理中的表示學習》。黃萱菁,復旦大學計算機科學技術學院教授、博士生導師。1998年於復旦大學獲計算機理學博士學位,研究領域為人工智慧、自然語言處理、信息檢索和社會媒體分析。
  • 深度| 深度學習概覽之自然語言處理:從基本概念到前沿研究
    選自Adit Deshpande blog作者:Adit Deshpande機器之心編譯參與:趙華龍、王宇欣、吳攀本文是 Adit Deshpande 的 Deep Learning Research Review 系列文章的第三篇,總結和解讀了深度學習在自然語言處理領域的應用。
  • 科普自然語言處理
    ,總體的發展趨勢是從規則到統計,從統計到深度學習的過程。-1956年):這個階段人類的語言、數學、物理學等各個領域都得到了充分發展,為計算機誕生做了充足的條件,也為自然語言處理理論提供了很多基礎。阿蘭·圖靈在1936年首次提出了圖靈機的概念,使得電子計算機在1946年誕生,也為自然語言處理的提供了必要的條件。
  • 【超全資源】自然語言處理(NLP)入門學習資源清單(部分資料下載)
    •  Dan Jurafsky 和 Chris Manning:自然語言處理[非常棒的視頻介紹系列]https://www.youtube.com/watch?v=nfoudtpBV68&list=PL6397E4B26D00A269 •  斯坦福CS224d:自然語言處理的深度學習[更高級的機器學習算法、深度學習和NLP的神經網絡架構]http://cs224d.stanford.edu/syllabus.html •  Coursera:自然語言處理簡介[由密西根大學提供的NLP
  • 如何用深度學習做自然語言處理?這裡有份最佳實踐清單
    對於如何使用深度學習進行自然語言處理,本文作者 Sebastian Ruder 給出了一份詳細的最佳實踐清單,不僅包括與大多數 NLP 任務相關的最佳實踐,還有最常見任務的最佳實踐,尤其是分類、序列標註、自然語言生成和神經機器翻譯。作者對最佳實踐的選擇很嚴格,只有被證明在至少兩個獨立的群體中有益的實踐才會入選,並且每個最佳實踐作者至少給出兩個參引。
  • 自然語言處理必讀:5本平衡理論與實踐的書籍
    1.應用Python進行自然語言處理(Natural Language Processing with Python)本書由Steven Bird, Ewan Klein 和 Edward Loper編寫,你可以從Python系統的角度學習自然語言處理的實用基礎知識,更適合初學者。
  • 復旦大學陳俊坤:自然語言處理中的多任務學習 | AI 研習社職播間第...
    分享主題:自然語言處理中的多任務學習 & 復旦大學 NLP 實驗室介紹分享提綱:1、復旦大學 NLP 實驗室介紹2、基於深度學習的自然語言處理3、深度學習在自然語言處理中的困境4、自然語言中的多任務學習5、多任務基準平臺
  • 中國的自然語言處理領域的人工智慧公司
    自然語言處理是工業界與學術界都關注的人工智慧領域,這一領域的突破性發展與深度學習算法的成熟有直接的關係。加拿大多倫多大學的辛頓是深度學習的先驅,他和學生於2006年發表在《科學》上的文章提出了降維與逐層預訓練的方法,這使得深度學習成為可能。
  • 對話UT Austin大學教授:未來5年自然語言處理最大的挑戰在哪裡?
    香儂科技: 近年來,深度學習模型的可解釋性受到了很多關注,領域中有很多方法被提出以解釋深度神經網絡的行為(解釋性熱圖 explanatory heat-map,自然語言等)。
  • 深度解讀谷歌SyntaxNet:全新TensorFlow自然語言處理模型
    他在本科時學習語言學,從未想到未來自己會成為程式設計師。Honnibal獲得雪梨大學計算機科學PHD學位並進行研究員工作後,在2014年離開學術界開始編寫spaCy。本文中,Hobbibal深度解讀了谷歌的自然語言處理模型。上周,谷歌開源了其基於人工智慧系統Tensorflow的自然語言解析模型分析庫SyntaxNet。
  • 科普丨什麼是NLP(自然語言處理)
    自然語言處理(NLP)是一種專業分析人類語言的人工智慧。(下文皆簡稱為「NLP」),它的工作原理是這樣的:接收自然語言,這種語言是通過人類的自然使用演變而來的,我們每天都用它來交流轉譯自然語言,通常是通過基於概率的算法分析自然語言並輸出結果
  • 一文讀懂Smartbi的自然語言處理(NLP)技術
    02自然語言處理的發展趨勢 目前,人們主要通過兩種思路來進行自然語言處理,一種是基於規則的理性主義,另外一種是基於統計的經驗主義。二十世紀八十年代以來的趨勢就是,基於語言規則的理性主義方法不斷受到質疑,大規模語言數據處理成為目前和未來一段時期內NLP的主要研究目標。統計學習方法越來越受到重視,自然語言處理中越來越多地使用機器自動學習的方法來獲取語言知識。