為什麼會有深度學習?如何看待?

fzr發表於2016-02-22

最近,深度學習成為一個流行語。有分析人士稱,它會吞噬掉目前已知的其他機器學習(ML)方法。其他人則將深度學習的市場形容為一個金礦,稱該技術有望取代整個行業和應用的大量人力干預。在本文,我試著簡化深度學習的概念,並對其未來在 ML 生態系統的發展做了一些觀察。

有趣的是,深度學習的概念並不是新出現的。它只不過是一個擴充套件的人工神經網路(ANN)演算法,在90年代初曾經風靡一時,但後來被邊緣化。為什麼?因為 ANN 要求非常大的資料集來訓練,但這不太符合實際。有了深度學習,ANN 又重獲新生。怎麼做呢?深度學習演算法訓練多層神經網路,管理比以往規模更小的資料。

deep-learning

為什麼我們需要深度學習?

好吧,答案很簡單。可以用更多的資料或是更好的演算法來提高學習演算法的結果。對某些應用而言,深度學習在大資料集上的表現比其他機器學習(ML)方法都要好(稍後將討論例外情況)。這些又如何轉化為現實生活中的情形呢?深度學習更適合無標記資料,因而它並不侷限於以實體識別為主的自然語言處理(NLP)領域。

深度學習與機器學習相比表現如何?

最通俗地說,深度學習探索了神經網路的概率空間,這是傳統的機器學習工具所做不到的。熟悉ML的人會知道,與其他工具相比,深度學習演算法更適合未標記資料,更適合強特徵提取(深度框架),也更適合於模式識別(影象、文字、音訊)。這多半可以歸因於它能減少模型中自由引數的數目。

那是否可以說深度學習會取代所有其他的演算法工具呢?

不一定。對於許多應用,比較簡單的演算法反而更有效,比如邏輯迴歸和支援向量機。儘管對於某些監督學習演算法來說,深度學習可能會促使傳統方法走向滅亡。但也有變通的解決方案,比如,可以增加訓練資料集規模使它適合深度學習演算法。

為什麼支持者們對深度學習如此興奮?

一個主要原因是,它是一個元演算法,完全不同於線性模型或核模型,比如邏輯迴歸的支援向量機。這意味著深度學習不以任何損失函式為特徵,也不會被特定公式限制。這使得該演算法對科學家們更為開放,它能以比其他ML工具更好的方式進行使用和擴充套件。不可否認深度學習是一種特徵轉換的學習。

深度學習是我們目前擁有的最具人腦特徵的演算法嗎?

如果一些分析師說,深度學習更像人腦而其他的ML工具卻不是——那他們沒有說清全部的事實。如果你聽說過 Numenta,你就會知道我為什麼說這個。Numenta皮層演算法是基於層次時間記憶 (HTM)的,它繼承了稀疏分散式記憶的最初概念,一個學習人類長期記憶的數學模型。Numenta是如何做到更好的呢?它的特徵提取既可以實現時間上的模式提取(但深度學習不能)也可以實現計算空間維度上模式提取——給它一個類似人腦的模仿。也可以有稍微不同的理解方式。Numenta稀疏分散式儲存器採用二進位制資料表示(通常為10000位),激發它們學習資料並用稀疏的方式表示(它因此得名)。該演算法比較資料位,並試圖找到位的模式並搜尋匹配值。相比之下,深度學習使用浮點向量(通常為每個資料100個元素),並結合梯度下降之類的演算法在多層網路上學習資料表示。

鑑於此,我經常發現深度學習和Numenta之間存在不合理的爭辯。首先,讓我們看看支持者的觀點。起初,一些人認為Numernta中並沒有很多學習過程。其他人發現了用於無監督學習的Numenta HTM APT演算法,據稱與深度學習演算法相比有明顯的優勢。Numenta也被認為是精簡記憶體要求的線上機器學習演算法。事實上Numenta也正日益受到重視。今年四月,IBM建立了一個研究組測試Numenta。但更大而且經常被忽略的事實是,深度學習是多層模型。即使不是所有情況,那大多數情況下也是,神經網路模型通常一次只能解決一個問題型別。對於多型別問題,神經網路就需要使用整合或混合模型。而且在這方面深入學習的多層模型有顯著優勢,這是其他工具做不到的,包括Numenta。然而,也有Numenta的多層模型的關於時序統籌的思辨語義和HTM的感知擴充套件。

無論結果是什麼,這都是能讓所有人很感興趣的時代。毫無疑問,各種技術和工具都將繼續發展,而且這場辯論可能會在未來幾年裡發生非常大的轉折。旨在尋找資料意義的科技公司和資料收集者推動了各種工具的發展,無論是移動應用程式開發人員或感測器的主人。使用者永遠更喜歡速度更快的,更簡便的工具。深度學習因這些特性而更有優勢,這也是它絕對需要保持的地方。

相關文章