當前位置:
首頁 > 知識 > 深度學習(Deep Learning)發展史

深度學習(Deep Learning)發展史

深度學習(Deep Learning)發展史


本文節選自人民郵電出版社最新出版的 AI 聖經《深度學習》。《深度學習》英文版由美國麻省理工學院 MIT 出版社於 2016 年 12 月推出,一經出版就風靡全球。它的一大特點是介紹深度學習演算法的本質,脫離具體代碼實現給出演算法背後的邏輯,不寫代碼的人也完全可以看。 -- 伊恩等人

欲以最優惠價格購買此書的讀者,可以訪問我們的「Linux 中國」專業書店購買(請訪問文末「了解更多」)。

本文導航

  • -引言 …… 03%

  • -深度學習的歷史趨勢 …… 36%

  • -神經網路的眾多名稱和命運變遷 …… 37%

  • -與日俱增的數據量 …… 66%

  • -與日俱增的模型規模 …… 75%

  • -與日俱增的精度、複雜度和對現實世界的衝擊 …… 83%

  • -關於《深度學習》一書 …… 94%

作者: 伊恩等人

譯者: 趙申劍等人

本文節選自人民郵電出版社最新出版的 AI 聖經《深度學習DEEP LEARNING[1]》。《深度學習DEEP LEARNING[2]》英文版由美國麻省理工學院 MIT 出版社於 2016 年 12 月推出,一經出版就風靡全球。《深度學習DEEP LEARNING[3]》的一大特點是介紹深度學習演算法的本質,脫離具體代碼實現給出演算法背後的邏輯,不寫代碼的人也完全可以看。

由深度學習領域三位前沿、權威的專家 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 合著的人工智慧領域的聖經、長期位居美國亞馬遜人工智慧類圖書榜首的《深度學習DEEP LEARNING[4]》中文版上市,為國內火熱的人工智慧大潮再添一把火。

引言

遠在古希臘時期,發明家就夢想著創造能自主思考的機器。神話人物皮格馬利翁Pygmalion、代達羅斯Daedalus 和赫淮斯托斯Hephaestus 可以被看作傳說中的發明家,而加拉蒂亞Galatea、塔洛斯Talos和潘多拉Pandora則可以被視為人造生命 (Ovid and Martin, 2004; Sparkes, 1996; Tandy, 1997)。

當人類第一次構思可編程計算機時,就已經在思考計算機能否變得智能 (儘管這距造出第一台計算機還有一百多年)(Lovelace, 1842)。如今,人工智慧artificial intelligence(AI)已經成為一個具有眾多實際應用和活躍研究課題的領域,並且正在蓬勃發展。我們期望通過智能軟體自動地處理常規勞動、理解語音或圖像、幫助醫學診斷和支持基礎科學研究。

在人工智慧的早期,那些對人類智力來說非常困難、但對計算機來說相對簡單的問題得到迅速解決,比如,那些可以通過一系列形式化的數學規則來描述的問題。人工智慧的真正挑戰在於解決那些對人來說很容易執行、但很難形式化描述的任務,如識別人們所說的話或圖像中的臉。對於這些問題,我們人類往往可以憑藉直覺輕易地解決。

針對這些比較直觀的問題,本書討論一種解決方案。該方案可以讓計算機從經驗中學習,並根據層次化的概念體系來理解世界,而每個概念則通過與某些相對簡單的概念之間的關係來定義。讓計算機從經驗獲取知識,可以避免由人類來給計算機形式化地指定它需要的所有知識。層次化的概念讓計算機構建較簡單的概念來學習複雜概念。如果繪製出表示這些概念如何建立在彼此之上的圖,我們將得到一張「深」(層次很多) 的圖。基於這個原因,我們稱這種方法為 AI 深度學習Deep Learning。

AI 許多早期的成功發生在相對樸素且形式化的環境中,而且不要求計算機具備很多關於世界的知識。例如,IBM 的深藍Deep Blue 國際象棋系統在 1997 年擊敗了世界冠軍 Garry Kasparov(Hsu, 2002)。顯然國際象棋是一個非常簡單的領域,因為它僅含有 64 個位置並只能以嚴格限制的方式移動 32 個棋子。設計一種成功的國際象棋策略是巨大的成就,但向計算機描述棋子及其允許的走法並不是這一挑戰的困難所在。國際象棋完全可以由一個非常簡短的、完全形式化的規則列表來描述,並可以容易地由程序員事先準備好。

具有諷刺意義的是,抽象和形式化的任務對人類而言是最困難的腦力任務之一,但對計算機而言卻屬於最容易的。計算機早就能夠打敗人類最好的國際象棋選手,但直到最近計算機才在識別對象或語音任務中達到人類平均水平。一個人的日常生活需要關於世界的巨量知識。很多這方面的知識是主觀的、直觀的,因此很難通過形式化的方式表達清楚。計算機需要獲取同樣的知識才能表現出智能。人工智慧的一個關鍵挑戰就是如何將這些非形式化的知識傳達給計算機。

一些人工智慧項目力求將關於世界的知識用形式化的語言進行硬編碼hard-code。計算機可以使用邏輯推理規則來自動地理解這些形式化語言中的聲明。這就是眾所周知的人工智慧的知識庫knowledge base 方法。然而,這些項目最終都沒有取得重大的成功。其中最著名的項目是 Cyc (Lenat and Guha, 1989)。Cyc 包括一個推斷引擎和一個使用 CycL 語言描述的聲明資料庫。這些聲明是由人類監督者輸入的。這是一個笨拙的過程。人們設法設計出足夠複雜的形式化規則來精確地描述世界。例如,Cyc 不能理解一個關於名為 Fred 的人在早上剃鬚的故事 (Linde, 1992)。它的推理引擎檢測到故事中的不一致性:它知道人體的構成不包含電氣零件,但由於 Fred 正拿著一個電動剃鬚刀,它認為實體——「正在剃鬚的 Fred」「FredWhileShaving」 含有電氣部件。因此,它產生了這樣的疑問——Fred 在刮鬍子的時候是否仍然是一個人。

依靠硬編碼的知識體系面臨的困難表明,AI 系統需要具備自己獲取知識的能力,即從原始數據中提取模式的能力。這種能力稱為機器學習Machine Learning。引入機器學習使計算機能夠解決涉及現實世界知識的問題,並能做出看似主觀的決策。比如,一個稱為邏輯回歸logistic regression 的簡單機器學習演算法可以決定是否建議剖腹產 (Mor-Yosef et al., 1990)。而同樣是簡單機器學習演算法的樸素貝葉斯naive Bayes 則可以區分垃圾電子郵件和合法電子郵件。

這些簡單的機器學習演算法的性能在很大程度上依賴於給定數據的表示representation。例如,當邏輯回歸用於判斷產婦是否適合剖腹產時,AI 系統不會直接檢查患者。相反,醫生需要告訴系統幾條相關的信息,諸如是否存在子宮疤痕。表示患者的每條信息稱為一個特徵。邏輯回歸學習病人的這些特徵如何與各種結果相關聯。然而,它絲毫不能影響該特徵定義的方式。如果將病人的 MRI(核磁共振) 掃描而不是醫生正式的報告作為邏輯回歸的輸入,它將無法做出有用的預測。MRI 掃描的單一像素與分娩過程中併發症之間的相關性微乎其微。

在整個計算機科學乃至日常生活中,對表示的依賴都是一個普遍現象。在計算機科學中,如果數據集合被精巧地結構化並被智能地索引,那麼諸如搜索之類的操作的處理速度就可以成指數級地加快。人們可以很容易地在阿拉伯數字的表示下進行算術運算,但在羅馬數字的表示下,運算會比較耗時。因此,毫不奇怪,表示的選擇會對機器學習演算法的性能產生巨大的影響。圖 1.1 展示了一個簡單的可視化例子。

深度學習(Deep Learning)發展史


圖 1.1 不同表示的例子:假設我們想在散點圖中畫一條線來分隔兩類數據。在左圖中,我們使用笛卡兒坐標表示數據,這個任務是不可能的。在右圖中,我們用極坐標表示數據,可以用垂直線簡單地解決這個任務 (與 David Warde-Farley 合作繪製此圖)

許多人工智慧任務都可以通過以下方式解決:先提取一個合適的特徵集,然後將這些特徵提供給簡單的機器學習演算法。例如,對於通過聲音鑒別說話者的任務來說,一個有用的特徵是對其聲道大小的估計。這個特徵為判斷說話者是男性、女性還是兒童提供了有力線索。

然而,對於許多任務來說,我們很難知道應該提取哪些特徵。例如,假設我們想編寫一個程序來檢測照片中的車。我們知道,汽車有輪子,所以我們可能會想用車輪的存在與否作為特徵。遺憾的是,我們難以準確地根據像素值來描述車輪看上去像什麼。雖然車輪具有簡單的幾何形狀,但它的圖像可能會因場景而異,如落在車輪上的陰影、太陽照亮的車輪的金屬零件、汽車的擋泥板或者遮擋的車輪一部分的前景物體等。

解決這個問題的途徑之一是使用機器學習來發掘表示本身,而不僅僅把表示映射到輸出。

這種方法我們稱之為表示學習representation learning。學習到的表示往往比手動設計的表示表現得更好。並且它們只需最少的人工干預,就能讓AI系統迅速適應新的任務。表示學習演算法只需幾分鐘就可以為簡單的任務發現一個很好的特徵集,對於複雜任務則需要幾小時到幾個月。手動為一個複雜的任務設計特徵需要耗費大量的人工、時間和精力,甚至需要花費整個社群研究人員幾十年的時間。

表示學習演算法的典型例子是自編碼器autoencoder。自編碼器由一個編碼器encoder 函數和一個解碼器decoder 函數組合而成。編碼器函數將輸入數據轉換為一種不同的表示,而解碼器函數則將這個新的表示轉換回原來的形式。我們期望當輸入數據經過編碼器和解碼器之後儘可能多地保留信息,同時希望新的表示有各種好的特性,這也是自編碼器的訓練目標。為了實現不同的特性,我們可以設計不同形式的自編碼器。

當設計特徵或設計用於學習特徵的演算法時,我們的目標通常是分離出能解釋觀察數據的變差因素factors of variation。在此背景下,「因素」這個詞僅指代影響的不同來源;因素通常不是乘性組合。這些因素通常是不能被直接觀察到的量。相反,它們可能是現實世界中觀察不到的物體或者不可觀測的力,但會影響可觀測的量。為了對觀察到的數據提供有用的簡化解釋或推斷其原因,它們還可能以概念的形式存在於人類的思維中。它們可以被看作數據的概念或者抽象,幫助我們了解這些數據的豐富多樣性。當分析語音記錄時,變差因素包括說話者的年齡、性別、他們的口音和他們正在說的詞語。當分析汽車的圖像時,變差因素包括汽車的位置、它的顏色、太陽的角度和亮度。

在許多現實的人工智慧應用中,困難主要源於多個變差因素同時影響著我們能夠觀察到的每一個數據。比如,在一張包含紅色汽車的圖片中,其單個像素在夜間可能會非常接近黑色。汽車輪廓的形狀取決於視角。大多數應用需要我們理清變差因素並忽略我們不關心的因素。

顯然,從原始數據中提取如此高層次、抽象的特徵是非常困難的。許多諸如說話口音這樣的變差因素,只能通過對數據進行複雜的、接近人類水平的理解來辨識。這幾乎與獲得原問題的表示一樣困難,因此,乍一看,表示學習似乎並不能幫助我們。

深度學習deep learning通過其他較簡單的表示來表達複雜表示,解決了表示學習中的核心問題。

深度學習讓計算機通過較簡單的概念構建複雜的概念。圖 1.2 展示了深度學習系統如何通過組合較簡單的概念 (例如角和輪廓,它們反過來由邊線定義) 來表示圖像中人的概念。深度學習模型的典型例子是前饋深度網路或或多層感知機multilayer perceptron(MLP)。多層感知機僅僅是一個將一組輸入值映射到輸出值的數學函數。該函數由許多較簡單的函數複合而成。我們可以認為不同數學函數的每一次應用都為輸入提供了新的表示。

學習數據的正確表示的想法是解釋深度學習的一個視角。另一個視角是深度促使計算機學習一個多步驟的計算機程序。每一層表示都可以被認為是並行執行另一組指令之後計算機的存儲器狀態。更深的網路可以按順序執行更多的指令。順序指令提供了極大的能力,因為後面的指令可以參考早期指令的結果。從這個角度上看,在某層激活函數里,並非所有信息都蘊涵著解釋輸入的變差因素。表示還存儲著狀態信息,用於幫助程序理解輸入。這裡的狀態信息類似於傳統計算機程序中的計數器或指針。它與具體的輸入內容無關,但有助於模型組織其處理過程。

深度學習(Deep Learning)發展史


圖 1.2 深度學習模型的示意圖。計算機難以理解原始感觀輸入數據的含義,如表示為像素值集合的圖像。將一組像素映射到對象標識的函數非常複雜。如果直接處理,學習或評估此映射似乎是不可能的。深度學習將所需的複雜映射分解為一系列嵌套的簡單映射 (每個由模型的不同層描述) 來解決這一難題。輸入展示在可見層visible layer,這樣命名的原因是因為它包含我們能觀察到的變數。然後是一系列從圖像中提取越來越多抽象特徵的隱藏層hidden layer。因為它們的值不在數據中給出,所以將這些層稱為「隱藏層」; 模型必須確定哪些概念有利於解釋觀察數據中的關係。這裡的圖像是每個隱藏單元表示的特徵的可視化。給定像素,第 1 層可以輕易地通過比較相鄰像素的亮度來識別邊緣。有了第 1 隱藏層描述的邊緣,第 2 隱藏層可以容易地搜索可識別為角和擴展輪廓的邊集合。給定第 2 隱藏層中關於角和輪廓的圖像描述,第 3 隱藏層可以找到輪廓和角的特定集合來檢測特定對象的整個部分。最後,根據圖像描述中包含的對象部分,可以識別圖像中存在的對象 (經 Zeiler and Fergus (2014) 許可引用此圖)

目前主要有兩種度量模型深度的方式。一種方式是基於評估架構所需執行的順序指令的數目。假設我們將模型表示為給定輸入後,計算對應輸出的流程圖,則可以將這張流程圖中的最長路徑視為模型的深度。正如兩個使用不同語言編寫的等價程序將具有不同的長度,相同的函數可以被繪製為具有不同深度的流程圖,其深度取決於我們可以用來作為一個步驟的函數。圖 1.3 說明了語言的選擇如何給相同的架構兩個不同的衡量。

深度學習(Deep Learning)發展史


圖 1.3 將輸入映射到輸出的計算圖表的示意圖,其中每個節點執行一個操作。深度是從輸入到輸出的最長路徑的長度,但這取決於可能的計算步驟的定義。這些圖中所示的計算是邏輯回歸模型的輸出,σ(wTx),其中 σ 是 logistic sigmoid 函數。如果使用加法、乘法和 logistic sigmoid 作為計算機語言的元素,那麼這個模型深度為 3;如果將邏輯回歸視為元素本身,那麼這個模型深度為 1

另一種是在深度概率模型中使用的方法,它不是將計算圖的深度視為模型深度,而是將描述概念彼此如何關聯的圖的深度視為模型深度。在這種情況下,計算每個概念表示的計算流程圖的深度可能比概念本身的圖更深。這是因為系統對較簡單概念的理解在給出更複雜概念的信息後可以進一步精細化。例如,一個 AI 系統觀察其中一隻眼睛在陰影中的臉部圖像時,它最初可能只看到一隻眼睛。但當檢測到臉部的存在後,系統可以推斷第二隻眼睛也可能是存在的。在這種情況下,概念的圖僅包括兩層 (關於眼睛的層和關於臉的層),但如果我們細化每個概念的估計將需要額外的 n 次計算,那麼計算的圖將包含 2n 層。

由於並不總是清楚計算圖的深度和概率模型圖的深度哪一個是最有意義的,並且由於不同的人選擇不同的最小元素集來構建相應的圖,所以就像計算機程序的長度不存在單一的正確值一樣,架構的深度也不存在單一的正確值。另外,也不存在模型多麼深才能被修飾為「深」 的共識。但相比傳統機器學習,深度學習研究的模型涉及更多學到功能或學到概念的組合,這點毋庸置疑。

總之,這本書的主題 —— 深度學習是通向人工智慧的途徑之一。具體來說,它是機器學習的一種,一種能夠使計算機系統從經驗和數據中得到提高的技術。我們堅信機器學習可以構建出在複雜實際環境下運行的 AI 系統,並且是唯一切實可行的方法。深度學習是一種特定類型的機器學習,具有強大的能力和靈活性,它將大千世界表示為嵌套的層次概念體系 (由較簡單概念間的聯繫定義複雜概念、從一般抽象概括到高級抽象表示)。圖 1.4 說明了這些不同的 AI 學科之間的關係。圖 1.5 展示了每個學科如何工作的高層次原理。

深度學習(Deep Learning)發展史


圖 1.4 維恩圖展示了深度學習既是一種表示學習,也是一種機器學習,可以用於許多 (但不是全部)AI 方法。維恩圖的每個部分包括一個 AI 技術的實例

深度學習(Deep Learning)發展史


圖 1.5 流程圖展示了 AI 系統的不同部分如何在不同的 AI 學科中彼此相關。陰影框表示能從數據中學習的組件

深度學習的歷史趨勢

通過歷史背景了解深度學習是最簡單的方式。這裡我們僅指出深度學習的幾個關鍵趨勢,而不是提供其詳細的歷史:

  • 深度學習有著悠久而豐富的歷史,但隨著許多不同哲學觀點的漸漸消逝,與之對應的名稱也漸漸塵封。

  • 隨著可用的訓練數據量不斷增加,深度學習變得更加有用。

  • 隨著時間的推移,針對深度學習的計算機軟硬體基礎設施都有所改善,深度學習模型的規模也隨之增長。

  • 隨著時間的推移,深度學習已經解決日益複雜的應用,並且精度不斷提高。

神經網路的眾多名稱和命運變遷

我們期待這本書的許多讀者都聽說過深度學習這一激動人心的新技術,並對一本書提及一個新興領域的「歷史」而感到驚訝。事實上,深度學習的歷史可以追溯到 20 世紀 40 年代。深度學習看似是一個全新的領域,只不過因為在目前流行的前幾年它還是相對冷門的,同時也因為它被賦予了許多不同的名稱 (其中大部分已經不再使用),最近才成為眾所周知的「深度學習」。這個領域已經更換了很多名稱,它反映了不同的研究人員和不同觀點的影響。

全面地講述深度學習的歷史超出了本書的範圍。然而,一些基本的背景對理解深度學習是有用的。一般認為,迄今為止深度學習已經經歷了 3 次發展浪潮:20 世紀 40 年代到 60 年代,深度學習的雛形出現在控制論cybernetics 中;20 世紀 80 年代到 90 年代,深度學習表現為聯結主義connectionism;直到 2006 年,才真正以深度學習之名復興。圖 1.7 給出了定量的展示。

我們今天知道的一些最早的學習演算法,旨在模擬生物學習的計算模型,即大腦怎樣學習或為什麼能學習的模型。其結果是深度學習以人工神經網路artificial neural network (ANN)之名而淡去。彼時,深度學習模型被認為是受生物大腦 (無論人類大腦或其他動物的大腦) 所啟發而設計出來的系統。儘管有些機器學習的神經網路有時被用來理解大腦功能 (Hinton and Shallice, 1991),但它們一般都沒有設計成生物功能的真實模型。深度學習的神經觀點受兩個主要思想啟發:一個想法是,大腦作為例子證明智能行為是可能的,因此,概念上,建立智能的直接途徑是逆向大腦背後的計算原理,並複製其功能;另一種看法是,理解大腦和人類智能背後的原理也非常有趣,因此機器學習模型除了解決工程應用的能力,如果能讓人類對這些基本的科學問題有進一步的認識,也將會很有用。

深度學習(Deep Learning)發展史


圖 1.7 根據 Google 圖書中短語「控制論」「聯結主義」或「神經網路」頻率衡量的人工神經網路研究的歷史浪潮 ( 圖中展示了 3 次浪潮的前兩次,第 3 次最近才出現)。第 1 次浪潮開始於 20 世紀 40 年代到 20 世紀 60 年代的控制論,隨著生物學習理論的發展 (McCulloch and Pitts, 1943; Hebb, 1949) 和第一個模型的實現 (如感知機 (Rosenblatt, 1958)),能實現單個神經元的訓練。第 2 次浪潮開始於 1980—1995 年間的聯結主義方法,可以使用反向傳播 (Rumelhart et al., 1986a) 訓練具有一兩個隱藏層的神經網路。當前第 3 次浪潮,也就是深度學習,大約始於 2006 年 (Hinton et al., 2006a; Bengio et al., 2007a; Ranzato et al., 2007a),並且於 2016 年以圖書的形式出現。另外,前兩次浪潮類似地出現在書中的時間比相應的科學活動晚得多。

現代術語「深度學習」超越了目前機器學習模型的神經科學觀點。它訴諸於學習多層次組合這一更普遍的原理,這一原理也可以應用於那些並非受神經科學啟發的機器學習框架。

現代深度學習最早的前身是從神經科學的角度出發的簡單線性模型。這些模型設計為使用一組 n 個輸入 x1,··· ,xn,並將它們與一個輸出 y 相關聯。這些模型希望學習一組權重 w1,··· ,wn,並計算它們的輸出 f(x,w) = x1w1 + ··· + xnwn。如圖 1.7 所示,第一次神經網路研究浪潮稱為控制論。

McCulloch-Pitts 神經元 (McCulloch and Pitts, 1943) 是腦功能的早期模型。該線性模型通過檢驗函數 f(x,w) 的正負來識別兩種不同類別的輸入。顯然,模型的權重需要正確設置後才能使模型的輸出對應於期望的類別。這些權重可以由操作人員設定。20 世紀 50 年代,感知機 (Rosenblatt, 1956, 1958) 成為第一個能根據每個類別的輸入樣本來學習權重的模型。大約在同一時期,自適應線性單元adaptive linear element(ADALINE) 簡單地返回函數 f(x) 本身的值來預測一個實數 (Widrow and Hoff, 1960),並且它還可以學習從數據預測這些數。

這些簡單的學習演算法大大影響了機器學習的現代景象。用於調節 ADALINE 權重的訓練演算法是被稱為隨機梯度下降stochastic gradient descent的一種特例。稍加改進後的隨機梯度下降演算法仍然是當今深度學習的主要訓練演算法。

基於感知機和 ADALINE 中使用的函數 f(x,w) 的模型稱為線性模型linear model。儘管在許多情況下,這些模型以不同於原始模型的方式進行訓練,但仍是目前最廣泛使用的機器學習模型。

線性模型有很多局限性。最著名的是,它們無法學習異或 (XOR) 函數,即 f([0,1],w) = 1 和 f([1,0],w) = 1,但 f([1,1],w) = 0 和 f([0,0],w) = 0。觀察到線性模型這個缺陷的批評者對受生物學啟發的學習普遍地產生了抵觸 (Minsky and Papert, 1969)。這導致了神經網路熱潮的第一次大衰退。

現在,神經科學被視為深度學習研究的一個重要靈感來源,但它已不再是該領域的主要指導。

如今神經科學在深度學習研究中的作用被削弱,主要原因是我們根本沒有足夠的關於大腦的信息來作為指導去使用它。要獲得對被大腦實際使用演算法的深刻理解,我們需要有能力同時監測 (至少是) 數千相連神經元的活動。我們不能夠做到這一點,所以我們甚至連大腦最簡單、最深入研究的部分都還遠遠沒有理解 (Olshausen and Field, 2005)。

神經科學已經給了我們依靠單一深度學習演算法解決許多不同任務的理由。神經學家們發現,如果將雪貂的大腦重新連接,使視覺信號傳送到聽覺區域,它們可以學會用大腦的聽覺處理區域去「看」(Von Melchner et al., 2000)。這暗示著大多數哺乳動物的大腦使用單一的演算法就可以解決其大腦可以解決的大部分不同任務。在這個假設之前,機器學習研究是比較分散的,研究人員在不同的社群研究自然語言處理、計算機視覺、運動規劃和語音識別。如今,這些應用社群仍然是獨立的,但是對於深度學習研究團體來說,同時研究許多甚至所有這些應用領域是很常見的。

我們能夠從神經科學得到一些粗略的指南。僅通過計算單元之間的相互作用而變得智能的基本思想是受大腦啟發的。新認知機 (Fukushima, 1980) 受哺乳動物視覺系統的結構啟發,引入了一個處理圖片的強大模型架構,它後來成為了現代卷積網路的基礎 (LeCun et al., 1998c)(參見第 9.10 節)。目前大多數神經網路是基於一個稱為整流線性單元rectified linear unit的神經單元模型。原始認知機 (Fukushima, 1975) 受我們關於大腦功能知識的啟發,引入了一個更複雜的版本。簡化的現代版通過吸收來自不同觀點的思想而形成,Nair and Hinton (2010b) 和 Glorot et al. (2011a) 援引神經科學作為影響,Jarrett et al. (2009a) 援引更多面向工程的影響。雖然神經科學是靈感的重要來源,但它不需要被視為剛性指導。我們知道,真實的神經元計算著與現代整流線性單元非常不同的函數,但更接近真實神經網路的系統並沒有導致機器學習性能的提升。此外,雖然神經科學已經成功地啟發了一些神經網路架構,但我們對用於神經科學的生物學習還沒有足夠多的了解,因此也就不能為訓練這些架構用的學習演算法提供太多的借鑒。

媒體報道經常強調深度學習與大腦的相似性。的確,深度學習研究者比其他機器學習領域 (如核方法或貝葉斯統計) 的研究者更可能地引用大腦作為影響,但是大家不應該認為深度學習在嘗試模擬大腦。現代深度學習從許多領域獲取靈感,特別是應用數學的基本內容,如線性代數、概率論、資訊理論和數值優化。儘管一些深度學習的研究人員引用神經科學作為靈感的重要來源,然而其他學者完全不關心神經科學。

值得注意的是,了解大腦是如何在演算法層面上工作的嘗試確實存在且發展良好。這項嘗試主要被稱為「計算神經科學」,並且是獨立於深度學習的領域。研究人員在兩個領域之間來回研究是很常見的。深度學習領域主要關注如何構建計算機系統,從而成功解決需要智能才能解決的任務,而計算神經科學領域主要關注構建大腦如何真實工作的、比較精確的模型。

20 世紀 80 年代,神經網路研究的第二次浪潮在很大程度上是伴隨一個被稱為聯結主義connectionism 或並行分布處理parallel distributed processing 潮流而出現的 (Rumelhart et al.,1986d; McClelland et al., 1995)。聯結主義是在認知科學的背景下出現的。認知科學是理解思維的跨學科途徑,即它融合多個不同的分析層次。20 世紀 80 年代初期,大多數認知科學家研究符號推理模型。儘管這很流行,但符號模型很難解釋大腦如何真正使用神經元實現推理功能。

聯結主義者開始研究真正基於神經系統實現的認知模型 (Touretzky and Minton, 1985),其中很多復甦的想法可以追溯到心理學家 Donald Hebb 在 20 世紀 40 年代的工作 (Hebb, 1949)。

聯結主義的中心思想是,當網路將大量簡單的計算單元連接在一起時可以實現智能行為。這種見解同樣適用於生物神經系統中的神經元,因為它和計算模型中隱藏單元起著類似的作用。

在 20 世紀 80 年代的聯結主義期間形成的幾個關鍵概念在今天的深度學習中仍然是非常重要的。

其中一個概念是分散式表示distributed representation(Hinton et al., 1986)。其思想是:系統的每一個輸入都應該由多個特徵表示,並且每一個特徵都應該參與到多個可能輸入的表示。例如,假設我們有一個能夠識別紅色、綠色或藍色的汽車、卡車和鳥類的視覺系統,表示這些輸入的其中一個方法是將 9 個可能的組合:紅卡車、紅汽車、紅鳥、綠卡車等使用單獨的神經元或隱藏單元激活。這需要 9 個不同的神經元,並且每個神經必須獨立地學習顏色和對象身份的概念。改善這種情況的方法之一是使用分散式表示,即用 3 個神經元描述顏色,3 個神經元描述對象身份。這僅僅需要 6 個神經元而不是 9 個,並且描述紅色的神經元能夠從汽車、卡車和鳥類的圖像中學習紅色,而不僅僅是從一個特定類別的圖像中學習。分散式表示的概念是本書的核心,我們將在第 15 章中更加詳細地描述。

聯結主義潮流的另一個重要成就是反向傳播在訓練具有內部表示的深度神經網路中的成功使用以及反向傳播演算法的普及 (Rumelhart et al., 1986c; LeCun, 1987)。這個演算法雖然曾黯然失色且不再流行,但截至寫書之時,它仍是訓練深度模型的主導方法。

20 世紀 90 年代,研究人員在使用神經網路進行序列建模的方面取得了重要進展。Hochreiter (1991b) 和 Bengio et al. (1994b) 指出了對長序列進行建模的一些根本性數學難題,這將在第 10.7 節中描述。Hochreiter 和 Schmidhuber(1997) 引入長短期記憶long shortterm memory( LSTM) 網路來解決這些難題。如今,LSTM 在許多序列建模任務中廣泛應用,包括 Google 的許多自然語言處理任務。

神經網路研究的第二次浪潮一直持續到 20 世紀 90 年代中期。基於神經網路和其他AI技術的創業公司開始尋求投資,其做法野心勃勃但不切實際。當AI研究不能實現這些不合理的期望時,投資者感到失望。同時,機器學習的其他領域取得了進步。比如,核方法 (Boser et al., 1992; Cortes and Vapnik, 1995; Sch¨olkopf et al., 1999) 和圖模型 (Jordan, 1998) 都在很多重要任務上實現了很好的效果。這兩個因素導致了神經網路熱潮的第二次衰退,並一直持續到 2007 年。

在此期間,神經網路繼續在某些任務上獲得令人印象深刻的表現 (LeCun et al., 1998c; Bengio et al., 2001a)。加拿大高級研究所 (CIFAR) 通過其神經計算和自適應感知 (NCAP) 研究計劃幫助維持神經網路研究。該計劃聯合了分別由 Geoffrey Hinton、Yoshua Bengio和 Yann LeCun 領導的多倫多大學、蒙特利爾大學和紐約大學的機器學習研究小組。這個多學科的 CIFAR NCAP 研究計劃還包括了神經科學家、人類和計算機視覺專家。

在那個時候,人們普遍認為深度網路是難以訓練的。現在我們知道,20 世紀 80 年代就存在的演算法能工作得非常好,但是直到 2006 年前後都沒有體現出來。這可能僅僅由於其計算代價太高,而以當時可用的硬體難以進行足夠的實驗。

神經網路研究的第三次浪潮始於 2006 年的突破。Geoffrey Hinton 表明名為「深度信念網路」的神經網路可以使用一種稱為「貪婪逐層預訓練」的策略來有效地訓練 (Hinton et al., 2006a),我們將在第 15.1 節中更詳細地描述。其他 CIFAR 附屬研究小組很快表明,同樣的策略可以被用來訓練許多其他類型的深度網路 (Bengio and LeCun, 2007a; Ranzato et al., 2007b),並能系統地幫助提高在測試樣例上的泛化能力。神經網路研究的這一次浪潮普及了「深度學習」這一術語,強調研究者現在有能力訓練以前不可能訓練的比較深的神經網路,並著力於深度的理論重要性上 (Bengio and LeCun, 2007b; Delalleau and Bengio, 2011; Pascanu et al., 2014a; Montufar et al., 2014)。此時,深度神經網路已經優於與之競爭的基於其他機器學習技術以及手工設計功能的 AI 系統。在寫這本書的時候,神經網路的第三次發展浪潮仍在繼續,儘管深度學習的研究重點在這一段時間內發生了巨大變化。第三次浪潮已開始著眼於新的無監督學習技術和深度模型在小數據集的泛化能力,但目前更多的興趣點仍是比較傳統的監督學習演算法和深度模型充分利用大型標註數據集的能力。

與日俱增的數據量

人們可能想問,既然人工神經網路的第一個實驗在 20 世紀 50 年代就完成了,但為什麼深度學習直到最近才被認為是關鍵技術?自 20 世紀 90 年代以來,深度學習就已經成功用於商業應用,但通常被視為一種只有專家才可以使用的藝術而不是一種技術,這種觀點一直持續到最近。確實,要從一個深度學習演算法獲得良好的性能需要一些技巧。幸運的是,隨著訓練數據的增加,所需的技巧正在減少。目前在複雜的任務中達到人類水平的學習演算法,與 20 世紀 80 年代努力解決玩具問題toy problem 的學習演算法幾乎是一樣的,儘管我們使用這些演算法訓練的模型經歷了變革,即簡化了極深架構的訓練。最重要的新進展是,現在我們有了這些演算法得以成功訓練所需的資源。圖 1.8 展示了基準數據集的大小如何隨著時間的推移而顯著增加。

深度學習(Deep Learning)發展史


圖 1.8 與日俱增的數據量。20 世紀初,統計學家使用數百或數千的手動製作的度量來研究數據集 (Garson, 1900; Gosset, 1908; Anderson, 1935; Fisher, 1936)。20 世紀 50 年代到 80 年代,受生物啟發的機器學習開拓者通常使用小的合成數據集,如低解析度的字母點陣圖,設計為在低計算成本下表明神經網路能夠學習特定功能 (Widrow and Hoff, 1960; Rumelhart et al., 1986b)。20 世紀 80 年代和 90 年代,機器學習變得更偏統計,並開始利用包含成千上萬個樣本的更大數據集,如手寫掃描數字的 MNIST 數據集 (如圖 1.9 所示)(LeCun et al., 1998c)。在 21 世紀的第一個 10 年裡,相同大小更複雜的數據集持續出現,如 CIFAR-10 數據集 (Krizhevsky and Hinton, 2009)。在這 10 年結束和接下來的 5 年,明顯更大的數據集 (包含數萬到數千萬的樣例) 完全改變了深度學習可能實現的事。這些數據集包括公共 Street View House Numbers 數據集 (Netzer et al., 2011)、各種版本的 ImageNet 數據集 (Deng et al., 2009, 2010a; Russakovsky et al., 2014a) 以及 Sports-1M 數據集 (Karpathy et al., 2014)。在圖頂部,我們看到翻譯句子的數據集通常遠大於其他數據集,如根據 Canadian Hansard 製作的 IBM 數據集 (Brown et al., 1990) 和 WMT 2014 英法數據集 (Schwenk, 2014)

這種趨勢是由社會日益數字化驅動的。由於我們的活動越來越多地發生在計算機上,我們做什麼也越來越多地被記錄。由於計算機越來越多地聯網在一起,這些記錄變得更容易集中管理,並更容易將它們整理成適於機器學習應用的數據集。因為統計估計的主要負擔 (觀察少量數據以在新數據上泛化) 已經減輕,「大數據」時代使機器學習更加容易。截至 2016 年,一個粗略的經驗法則是,監督深度學習演算法在每類給定約 5000 個標註樣本情況下一般將達到可以接受的性能,當至少有 1000 萬個標註樣本的數據集用於訓練時,它將達到或超過人類表現。此外,在更小的數據集上獲得成功是一個重要的研究領域,為此我們應特別側重於如何通過無監督或半監督學習充分利用大量的未標註樣本。

深度學習(Deep Learning)發展史


圖 1.9 MNIST 數據集的輸入樣例。「NIST」代表國家標準和技術研究所National Institute of Standards and Technology,是最初收集這些數據的機構。「M」代表「修改的Modified」,為更容易地與機器學習演算法一起使用,數據已經過預處理。MNIST 數據集包括手寫數字的掃描和相關標籤 (描述每個圖像中包含 0~9 中哪個數字)。這個簡單的分類問題是深度學習研究中最簡單和最廣泛使用的測試之一。儘管現代技術很容易解決這個問題,它仍然很受歡迎。Geoffrey Hinton 將其描述為「機器學習的果蠅」,這意味著機器學習研究人員可以在受控的實驗室條件下研究他們的演算法,就像生物學家經常研究果蠅一樣

與日俱增的模型規模

20 世紀 80 年代,神經網路只能取得相對較小的成功,而現在神經網路非常成功的另一個重要原因是我們現在擁有的計算資源可以運行更大的模型。聯結主義的主要見解之一是,當動物的許多神經元一起工作時會變得聰明。單獨神經元或小集合的神經元不是特別有用。

生物神經元不是特別稠密地連接在一起。如圖 1.10 所示,幾十年來,我們的機器學習模型中每個神經元的連接數量已經與哺乳動物的大腦在同一數量級上。

深度學習(Deep Learning)發展史


圖 1.10 與日俱增的每個神經元的連接數。最初,人工神經網路中神經元之間的連接數受限於硬體能力。而現在,神經元之間的連接數大多是出於設計考慮。一些人工神經網路中每個神經元的連接數與貓一樣多,並且對於其他神經網路來說,每個神經元的連接數與較小哺乳動物 (如小鼠) 一樣多,這種情況是非常普遍的。甚至人類大腦每個神經元的連接數也沒有過高的數量。生物神經網路規模來自 Wikipedia (2015)

1. 自適應線性單元 (Widrow and Hoff, 1960);2. 神經認知機 (Fukushima, 1980);3. GPU- 加速卷積網路 (Chellapilla et al., 2006);4. 深度玻爾茲曼機 (Salakhutdinov and Hinton, 2009a);5. 無監督卷積網路 (Jarrett et al., 2009b);6. GPU- 加速多層感知機 (Ciresan et al., 2010);7. 分散式自編碼器 (Le et al., 2012);8. Multi-GPU 卷積網路(Krizhevsky et al., 2012a);9. COTS HPC 無監督卷積網路 (Coates et al., 2013);10. GoogLeNet (Szegedy et al., 2014a)

如圖 1.11 所示,就神經元的總數目而言,直到最近神經網路都是驚人的小。自從隱藏單元引入以來,人工神經網路的規模大約每 2.4 年擴大一倍。這種增長是由更大內存、更快的計算機和更大的可用數據集驅動的。更大的網路能夠在更複雜的任務中實現更高的精度。這種趨勢看起來將持續數十年。除非有能力迅速擴展新技術,否則至少要到 21 世紀 50 年代,人工神經網路才能具備與人腦相同數量級的神經元。生物神經元表示的功能可能比目前的人工神經元所表示的更複雜,因此生物神經網路可能比圖中描繪的甚至要更大。

深度學習(Deep Learning)發展史


圖 1.11 與日俱增的神經網路規模。自從引入隱藏單元,人工神經網路的規模大約每 2.4 年翻一倍。生物神經網路規模來自 Wikipedia (2015)

1. 感知機 (Rosenblatt, 1958, 1962);2. 自適應線性單元 (Widrow and Hoff, 1960);3. 神經認知機 (Fukushima, 1980);4. 早期後向傳播網路 (Rumelhart et al., 1986b);5. 用於語音識別的循環神經網路 (Robinson and Fallside, 1991);6. 用於語音識別的多層感知機 (Bengio et al., 1991);7. 均勻場 sigmoid 信念網路 (Saul et al., 1996);8. LeNet5 (LeCun et al., 1998c);9. 回聲狀態網路 (Jaeger and Haas, 2004);10. 深度信念網路 (Hinton et al., 2006a);11. GPU- 加速卷積網路 (Chellapilla et al., 2006);12. 深度玻爾茲曼機 (Salakhutdinov and Hinton, 2009a);13. GPU加速深度信念網路 (Raina et al., 2009a);14. 無監督卷積網路 (Jarrett et al., 2009b);15. GPU- 加速多層感知機 (Ciresan et al., 2010);16. OMP-1 網路 (Coates and Ng, 2011);17. 分散式自編碼器 (Le et al., 2012);18. MultiGPU 卷積網路 (Krizhevsky et al., 2012a);19. COTS HPC 無監督卷積網路 (Coates et al., 2013);20. GoogLeNet (Szegedy et al., 2014a)

現在看來,神經元數量比一個水蛭還少的神經網路不能解決複雜的人工智慧問題,這是不足為奇的。即使現在的網路,從計算系統角度來看它可能相當大,但實際上它比相對原始的脊椎動物 (如青蛙) 的神經系統還要小。

由於更快的 CPU、通用 GPU 的出現、更快的網路連接和更好的分散式計算的軟體基礎設施,模型規模隨著時間的推移不斷增加是深度學習歷史中最重要的趨勢之一。人們普遍預計這種趨勢將很好地持續到未來。


與日俱增的精度、複雜度和對現實世界的衝擊

20 世紀 80 年代以來,深度學習提供精確識別和預測的能力一直在提高。而且,深度學習持續成功地應用于越來越廣泛的實際問題中。

最早的深度模型被用來識別裁剪緊湊且非常小的圖像中的單個對象 (Rumelhart et al., 1986d)。此後,神經網路可以處理的圖像尺寸逐漸增加。現代對象識別網路能處理豐富的高解析度照片,並且不需要在被識別的對象附近進行裁剪 (Krizhevsky et al., 2012b)。類似地,最早的網路只能識別兩種對象 (或在某些情況下,單類對象的存在與否),而這些現代網路通常能夠識別至少1000個不同類別的對象。對象識別中最大的比賽是每年舉行的 ImageNet 大型視覺識別挑戰 (ILSVRC)。深度學習迅速崛起的激動人心的一幕是卷積網路第一次大幅贏得這一挑戰,它將最高水準的前 5 錯誤率從 26.1% 降到 15.3% (Krizhevsky et al., 2012b),這意味著該卷積網路針對每個圖像的可能類別生成一個順序列表,除了 15.3% 的測試樣本,其他測試樣本的正確類標都出現在此列表中的前 5 項里。此後,深度卷積網路連續地贏得這些比賽,截至寫作本書時,深度學習的最新結果將這個比賽中的前 5 錯誤率降到了 3.6%,如圖 1.12 所示。

深度學習(Deep Learning)發展史


圖 1.12 日益降低的錯誤率。由於深度網路達到了在 ImageNet 大規模視覺識別挑戰中競爭所必需的規模,它們每年都能贏得勝利,並且產生越來越低的錯誤率。數據來源於 Russakovsky et al. (2014b) 和 He et al. (2015)

深度學習也對語音識別產生了巨大影響。語音識別在 20 世紀 90 年代得到提高後,直到約 2000 年都停滯不前。深度學習的引入 (Dahl et al., 2010; Deng et al., 2010b; Seide et al., 2011; Hinton et al., 2012a) 使得語音識別錯誤率陡然下降,有些錯誤率甚至降低了一半。我們將在第 12.3 節更詳細地探討這個歷史。

深度網路在行人檢測和圖像分割中也取得了引人注目的成功 (Sermanet et al., 2013; Farabet et al., 2013; Couprie et al., 2013),並且在交通標誌分類上取得了超越人類的表現 (Ciresan et al., 2012)。

在深度網路的規模和精度有所提高的同時,它們可以解決的任務也日益複雜。Goodfellow et al. (2014d) 表明,神經網路可以學習輸出描述圖像的整個字元序列,而不是僅僅識別單個對象。此前,人們普遍認為,這種學習需要對序列中的單個元素進行標註 (Gulcehre and Bengio, 2013)。循環神經網路,如之前提到的 LSTM 序列模型,現在用於對序列和其他序列之間的關係進行建模,而不是僅僅固定輸入之間的關係。這種序列到序列的學習似乎引領著另一個應用的顛覆性發展,即機器翻譯 (Sutskever et al., 2014; Bahdanau et al., 2015)。

這種複雜性日益增加的趨勢已將其推向邏輯結論,即神經圖靈機 (Graves et al., 2014) 的引入,它能學習讀取存儲單元和向存儲單元寫入任意內容。這樣的神經網路可以從期望行為的樣本中學習簡單的程序。例如,從雜亂和排好序的樣本中學習對一系列數進行排序。這種自我編程技術正處於起步階段,但原則上未來可以適用於幾乎所有的任務。

深度學習的另一個最大的成就是其在強化學習reinforcement learning 領域的擴展。在強化學習中,一個自主的智能體必須在沒有人類操作者指導的情況下,通過試錯來學習執行任務。DeepMind 表明,基於深度學習的強化學習系統能夠學會玩 Atari 視頻遊戲,並在多種任務中可與人類匹敵 (Mnih et al., 2015)。深度學習也顯著改善了機器人強化學習的性能 (Finn et al., 2015)。

許多深度學習應用都是高利潤的。現在深度學習被許多頂級的技術公司使用,包括 Google、Microsoft、Facebook、IBM、Baidu、Apple、Adobe、Netflix、NVIDIA 和 NEC 等。

深度學習的進步也嚴重依賴於軟體基礎架構的進展。軟體庫如 Theano (Bergstra et al., 2010a; Bastien et al., 2012a)、PyLearn2 (Goodfellow et al., 2013e)、Torch (Collobert et al., 2011b)、DistBelief (Dean et al., 2012)、Caffe (Jia, 2013)、MXNet (Chen et al., 2015) 和 TensorFlow (Abadi et al., 2015) 都能支持重要的研究項目或商業產品。

深度學習也為其他科學做出了貢獻。用於對象識別的現代卷積網路為神經科學家們提供了可以研究的視覺處理模型 (DiCarlo, 2013)。深度學習也為處理海量數據以及在科學領域做出有效的預測提供了非常有用的工具。它已成功地用於預測分子如何相互作用、從而幫助製藥公司設計新的藥物 (Dahl et al., 2014),搜索亞原子粒子 (Baldi et al., 2014),以及自動解析用於構建人腦三維圖的顯微鏡圖像 (Knowles-Barley et al., 2014) 等多個場合。我們期待深度學習未來能夠出現在越來越多的科學領域中。

總之,深度學習是機器學習的一種方法。在過去幾十年的發展中,它大量借鑒了我們關於人腦、統計學和應用數學的知識。近年來,得益於更強大的計算機、更大的數據集和能夠訓練更深網路的技術,深度學習的普及性和實用性都有了極大的發展。未來幾年,深度學習更是充滿了進一步提高並應用到新領域的挑戰和機遇。


關於《深度學習》一書

《深度學習》中文版從引進版權到正式出版歷經三年,中文版的推出填補了目前國內缺乏深度學習綜合性教科書的空白。該書從淺入深介紹了基礎數學知識、機器學習經驗以及現階段深度學習的理論和發展,它能幫助人工智慧技術愛好者和從業人員在三位專家學者的思維帶領下全方位了解深度學習。

本書對各類讀者都有一定的用處,但主要是為兩類受眾而寫的。其中,一類受眾是學習機器學習的大學生 (本科或研究生),包括那些已經開始職業生涯的深度學習和人工智慧研究者。另一類受眾是沒有機器學習或統計背景,但希望能快速地掌握這方面知識,並在他們的產品或平台中使用深度學習的軟體工程師。現已證明,深度學習在許多軟體領域都是有用的,包括計算機視覺、語音和音頻處理、自然語言處理、機器人技術、生物信息學和化學、電子遊戲、搜索引擎、網路廣告和金融。

為了更好地服務各類讀者,我們將本書組織為 3 個部分。第 1 部分介紹基本的數學工具和機器學習的概念。第 2 部分介紹最成熟的深度學習演算法,這些技術基本上已經得到解決。第 3 部分討論某些具有展望性的想法,它們被廣泛地認為是深度學習未來的研究重點。

讀者可以隨意跳過不感興趣或與自己背景不相關的部分。熟悉線性代數、概率和基本機器學習概念的讀者可以跳過第 1 部分。若讀者只是想實現一個能工作的系統,則不需要閱讀超出第 2 部分的內容。為了幫助讀者選擇章節,下圖給出了本書高層組織結構的流程圖。

深度學習(Deep Learning)發展史


本書的高層組織結構的流程圖。從一章到另一章的箭頭表示前一章是理解後一章的必備內容

我們假設所有讀者都具備計算機科學背景。也假設讀者熟悉編程,並且對計算的性能問題、複雜性理論、入門級微積分和一些圖論術語有基本的了解。

《深度學習》英文版配套網站是 www.deeplearningbook.org[5]。網站上提供了各種補充材料,包括練習、講義幻燈片、錯誤更正以及其他應該對讀者和講師有用的資源。

《深度學習》中文版的讀者,可訪問人民郵電出版社非同步社區網站 www.epubit.com.cn[6],獲取更多圖書信息。

欲以最優惠價格購買此書的讀者,可以訪問我們的「Linux 中國」專業書店購買(請訪問「了解更多」)。

  • [5]: www.deeplearningbook.org - http://www.deeplearningbook.org/

  • [6]: www.epubit.com.cn - http://www.epubit.com.cn/

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux技術 的精彩文章:

使用統一阻止列表和白名單來更新主機文件
使用開源代碼構建機器人時需要考慮的事項
漏洞修復八個月後,仍有超過七萬台 memcached 伺服器面臨危險
一年之後,React.js 許可協議再起爭端

TAG:Linux技術 |

您可能感興趣

深度學習綜述:Hinton、Yann LeCun和Bengio經典重讀
LeCun、Bengio、Hinton三巨頭曾合體,Nature發文綜述深度學習
Jeff Dean等發文《Nature Medicine》,綜述深度學習在醫療領域的應用
深度學習之DenseNet
Matlab對深度學習工具包DeepLearnToolbox的例子實現
《Tensorflow:實戰Google深度學習框架》
深度學習之CapsuleNets理論與Python實踐!
第55期:Python機器學習實踐指南、Tensorflow 實戰Google深度學習框架
阿里首次開源深度學習框架X-Deep Learning
深度學習戰爭:Facebook 支持的 PyTorch與Google的TensorFlow
類Keras的PyTorch 深度學習框架——PyToune
Rethink Deepfakes,淺談深度學習落地
基於 Jetson在Aerial 系統內進行深度學習
深度學習訓練決策,Waymo披露ChauffeurNet進展
深度解讀Chaumet Bee my Love愛·巢 & Liens 緣系?一生
最硬核體驗與技術分析,深度對比Magic Leap One和HoloLens
《Tensorflow:實戰Google深度學習框架》圖書推薦
Nvidia發布GPU上的Kubernetes以加速深度學習負載
Fran?ois Chollet 談深度學習的局限性和未來-下篇
Fran?ois Chollet 談深度學習的局限性和未來 - 下篇