二十一世紀計算 | 深度學習革命: 進展、前景和困境
編者按:《權力的遊戲》常說“Winter is coming”,深度學習近幾年來雖然取得了許多令人矚目的進展,但在機器翻譯、語音識別、視訊識別等眾多領域也面臨著巨大挑戰。機器學習研究發軔於上世紀50年代,至上世紀80年代興起了連線主義,2010年後又進入了一個嶄新的時代。本文中,德克薩斯大學奧斯汀分校電腦科學系教授、美國計算機協會(ACM)及美國人工智慧學會(AAAI)院士Raymond Mooney為大家講述深度學習學習的昨天、今天和明天。
德克薩斯大學奧斯汀分校電腦科學系教授Raymond Mooney
(以下為Raymond Mooney教授分享的精簡版文字整理)
今天我想和大家談談深度學習革命,包括它的進展、前景和困境。近年來,深度神經網路解決了許多極具挑戰的問題,比如語音識別、影象識別、機器翻譯和棋牌遊戲等等。儘管我們在深度學習領域取得了很多進展,但它也並非無所不能。深度學習還帶有非常明顯的侷限性,不能真正解決AI。
在這之前,我先帶領大家回顧一下機器學習的歷史。機器學習自上世紀50年代起就有人研究,第一個神經網路也出現在50-60年代。神經網路經歷了幾起幾落的發展階段,從單層神經網路到符號AI和知識工程,到多層神經網路和符號學習,到統計學習和核方法,再到近年來的深度學習。需要特別指出的是,現在基於神經網路的深度學習吸引了人們絕大部分的注意力,相對而言,符號學習這一也很重要的分支沒有得到應有的重視。我們組現在正在從事符號學習方面的研究,希望把深度學習和符號學習結合起來,真正實現人工智慧。
機器學習大多數面臨的是分類問題,根據某些事物的特點或結構性描述對其進行分類。因此,在訓練機器學習分類時,我們通常會舉一個訓練的例子。最早的機器學習訓練模型是單體的神經元數學模型,主要是對某種型別的假設進行描述。當某些輸入達到閾值單元時即輸出1,反之則輸出0。1957年,弗蘭克·羅森布拉特(Frank Rosenblatt)提出感知器演算法,它主要用於解決單層的神經網路,只有輸入層和輸出層,沒有隱藏層。感知器利用爬山法從訓練樣本中進行學習來更新模型的引數。
然而,感知器演算法只能學習線性分割的內容,其應用非常有限。1969年,馬文·明斯基(Marvin Minsky)和西摩爾·帕普特(Seymour Papert)發表了《Perceptrons: An Introduction to Computational Geometry》,書中描述了簡單神經網路也就是感知器的侷限性。此後七十年代到八十年代初期,神經網路方面的研究陷入了低谷。
上世紀80年代中期,連線主義興起,但是還是有很多符號學習方面的工作。這一時期反向傳播演算法被用來訓練三層神經網路。多層神經網路模型理論上無法確保實現收斂,但在實踐中仍然有非常驚人的應用能力。當人們對更深度的神經網路進行研究時,反向傳播的效果進一步降低。1995-2010這15年間,神經網路的研究陷入了第二次低谷,這一時期機器學習研究的興起轉移到概率圖模型和以支援向量機為代表的核方法。
2010年後,我們進入了深度學習的新時代。人們開始訓練多於三層的深度神經網路。深度學習的研究聚焦在卷積神經網路、遞迴神經網路以及深度強化學習,並在包括計算機視覺、機器翻譯和語音識別以及視訊和棋牌遊戲等幾大方面取得了成功。真正賦予深度神經網路革命的是資料,而網際網路以及電子檔案庫賦予我們收集大規模標註資料的能力,也包括使用“眾包”技術。同時我們也擁有了高效處理這些大資料的能力,其中使用到一些特殊的硬體,如GPU和TPU。
卷積的概念早在1998年就被提出,當時用於模擬人類的視覺,從影象的小區域提取一些區域性特徵,層次越深提取的特徵層次越高。通過集合區域性特徵,我們可以得到一個總體特徵。卷積神經網路的引入大大降低了影象識別的誤差率。深度學習另外一個很大的創新是迴圈神經網路,一簇用於處理序列資料的神經網路。遞迴神經網路(RNN)通過新增跨越時間點的自連線隱藏層從而獲得對時間進行顯式建模的能力。最簡單的RNN在訓練中會遇到梯度消失或爆炸的問題,梯度消失會導致序列很前面的資訊不能傳播到序列的後面,梯度爆炸是指反向傳播的過程中梯度可能變得非常大,導致整個訓練過程不穩定,因此簡單的RNN很難訓練。長短記憶模型(LSTM)的提出就是為了解決簡單RNN的梯度消失/爆炸問題,同時更好的描述序列中長距離資訊傳遞。LSTM通過引入一系列的門(gates),包括輸入門、輸出門和遺忘門,來克服簡單RNN的這些侷限性。
LSTM最早提出於1997年,但一直沒有很好的效果,直到最近才被應用,因為它在做機器翻譯方面發揮了比較大的作用。我們使用LSTM的迴圈神經網路可以實現Seq2Seq模型,來做法語和英語之間的互相翻譯。首先拿一個法語單詞序列並把它們都壓縮成單個向量,每一個向量都能夠代表一個法語單詞的意思。先將這個向量的序列編碼成一個深度神經網路向量序列,然後再設計另外一個解碼器,把這個序列又解碼成英語單詞的序列。在這個過程中,我們可以使用反向傳播演算法,用給定的“法語-英語”序列對資料來訓練神經網路模型。最終,我們可以得到這樣一個自動機器翻譯系統,這個方法令人驚喜地奏效。LSTM Seq2Seq實現了一種新的人類語言翻譯方法。當下大家把這類使用神經網路的方法叫做神經機器翻譯(NMT),這種方法比已有的統計機器翻譯(SMT)效果更好。遞迴神經網路也在語音識別上取得了大的進展,例如中文語音識別。在我最近從事的一項研究中,我們試圖用LSTM的Seq2Seq模型實現視訊描述,將輸入的視訊畫面幀序列對映成描述該視訊英語單詞序列。我們研究得到了一個視訊到文字的方法S2VT,具體做法是,先用卷積神經層和LSTM層將圖片幀編碼,然後訓練另一個LSTM層來實現序列解碼,最終得到單詞的序列。我們用這個方法得到了很好的結果。這裡有一些效果非常好的例子。
深度學習不僅能夠實現分類,近期非常火熱的深度強化學習能夠做不同層級的系列決策,比如在棋牌類遊戲裡取得的巨大的成功。在這類任務中,agent需要根據環境的不同採取不同的動作,而這些動作也會改變環境。在這個過程中,動作的獎勵可能會在其後很長一段時間後得到。DeepMind利用卷積神經網路來處理圍棋的盤面,然後運用深度神經網路互相博弈去學習下圍棋。值得一提的是,在初始化AlphaGo的時候,他們使用人類的棋譜資料。這一方面體現的是人類的智慧,另一方面則是系統的自我對弈。
深度學習近年來取得的進展非常矚目,但在機器翻譯、語音識別、視訊識別等眾多領域我們也面臨著巨大挑戰。未來十年中,我們將會看到這些領域仍然會取得更大的進展,實現更多的應用。例如,我們可以預見自動駕駛汽車、對話agent、家用/工業機器人等等都可以用深度學習的技術來獲取更好的未來。
《權力的遊戲》經常說一句話:“冬天就要來臨。”人工智慧確實已經處在一個前所未有的高潮,但我們也必須知道還有很多問題並沒有完全解決,寒冬是否會再度來襲不得而知。我們要意識到當下對深度學習的過度宣傳,因為神經網路模型受到方法本身的限制。當前深度神經網路模型很容易被人為構造的樣例愚弄,比如在圖片中改變少量畫素就能導致模型得到迥然不同的結果,而這個改變對人類的圖片識別沒有影響。所以我們有理由相信,人的大腦並不是像深度神經網路一樣工作的。同樣的反面樣例也出現在文字類任務中。比如在一個問答的例子中,增加一句不會對人類產生影響的句子到題目文字中,能夠讓深度神經網路問答系統得出完全不同的回答。
深度神經網路強制將語義編碼到實數值的向量中,而用樹狀、圖狀和邏輯表示的結構化語義不能完美地編碼成向量。例如,對於複合問題“伍迪·艾倫和誰合作的電影更多,戴安·基頓還是米亞·法羅?”,我們可以輕鬆將它翻譯為結構化的查詢,然後輸入到IMDb之類的知識庫中得到最後結果。但是深度神經網路無法完成這項任務,它試圖把這些邏輯語句表示成實數向量,這根本不可行。
當前深度神經網路確實已經取得了非常大的進步,但是它因為有本質的限制,並沒有解決核心的人工智慧問題。人工智慧還有很長的一段路要走,變革還會繼續。最終我們可能需要將這種統計學方法與結構化的、邏輯的方法結合起來,比如發展“老式的人工智慧”(Good Old-Fashioned Artificial Intelligence,符號人工智慧)。
想要了解Raymond Mooney教授的演講全文,請戳下方視訊觀看:
相關文章
- 二十一世紀計算 | John Hopcroft:AI革命AI
- 二十一世紀計算 | 大圖資料科學: 圖資料中的推理資料科學
- 二十一世紀的計算|康奈爾大學教授FredB.Schneider開講電腦保安IDE
- 學習雲端計算怎麼樣?未來10年雲端計算發展前景如何?
- 學習雲端計算好嗎?未來10年雲端計算發展前景如何?
- 史丹佛—深度學習和計算機視覺深度學習計算機視覺
- 學習雲端計算哪裡好?雲端計算新的前景出路
- 學習雲端計算簡單嗎?專科生學習雲端計算就業前景如何?就業
- 學習Python發展前景如何?Python
- 流體力學深度學習建模技術研究進展深度學習
- 雲端計算前景如何?大專學歷學習雲端計算怎麼樣?
- 深度學習(二十九)Batch Normalization 學習筆記深度學習BATORM筆記
- 專科生學習雲端計算就業前景如何?就業
- 雲端計算和Linux的學習發展路線Linux
- 深度學習發展史深度學習
- 深度學習的困境,我們該何去何從?深度學習
- 計算機視覺與深度學習公司計算機視覺深度學習
- 計算機視覺中的深度學習計算機視覺深度學習
- 深度學習中需要的矩陣計算深度學習矩陣
- 大型計算如何為深度學習火箭助力深度學習
- 雲端計算時代的深度學習訓練深度學習
- 學雲端計算前景如何?零基礎學習雲端計算需要準備什麼?
- 學習與就業:深度分析IT行業前景就業行業
- 雲端計算都有哪些特點?展望雲端計算的發展前景
- 雲端計算運維工程師怎麼樣?學習雲端計算前景如何?運維工程師
- 從特徵描述符到深度學習:計算機視覺發展20年特徵深度學習計算機視覺
- 深度學習高效計算與處理器設計深度學習
- 讀懂深度學習,走進“深度學習+”階段深度學習
- 計算機視覺應用:深度學習的力量和侷限性計算機視覺深度學習
- 深度學習發展歷程深度學習
- 深度:如何從系統層面優化深度學習計算?優化深度學習
- 楊強:深度學習、強化學習、遷移學習的結合及應用進展深度學習強化學習遷移學習
- Linux系統的發展歷史和學習前景介紹Linux
- 2017年深度學習重大研究進展全解讀深度學習
- 雲端計算髮展前景,linux系統課程Linux
- 學習大資料和雲端計算是不是都是會有不錯的發展前景大資料
- 深度學習革命的開端:卷積神經網路深度學習卷積神經網路
- 5分鐘告訴你雲端計算的前景,為什麼要學習雲端計算