深度學習
深度學習是機器學習研究中的一個新的領域,其動機在于建立、模擬人腦進行分析學習的神經網絡,它模仿人腦的機制來解釋數據,例如圖像,聲音和文本。深度學習是無監督學習的一種。 深度學習的概念源于人工神經網絡的研究。含多隱層的多層感知器就是一種深度學習結構。深度學習通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發現數據的分布式特征表示。
深度
從一個輸入中產生一個輸出所涉及的計算可以通過一個流向圖(flow graph)來表示:流向圖是一種能夠表示計算的圖,在這種圖中每一個節點表示一個基本的計算并且一個計算的值(計算的結果被應用到這個節點的孩子節點的值)。考慮這樣一個計算集合,它可以被允許在每一個節點和可能的圖結構中,并定義了一個函數族。輸入節點沒有父親,輸出節點沒有孩子。
這種流向圖的一個特別屬性是深度(depth):從一個輸入到一個輸出的最長路徑的長度。
傳統的前饋神經網絡能夠被看做擁有等于層數的深度(比如對于輸出層為隱層數加1)。SVMs有深度2(一個對應于核輸出或者特征空間,另一個對應于所產生輸出的線性混合)。
解決問題
需要使用深度學習解決的問題有以下的特征:
1.深度不足會出現問題。
2.人腦具有一個深度結構。
3.認知過程逐層進行,逐步抽象。
在許多情形中深度2就足夠表示任何一個帶有給定目標精度的函數。但是其代價是:圖中所需要的節點數(比如計算和參數數量)可能變的非常大。理論結果證實那些事實上所需要的節點數隨著輸入的大小指數增長的函數族是存在的。
我們可以將深度架構看做一種因子分解。大部分隨機選擇的函數不能被有效地表示,無論是用深的或者淺的架構。但是許多能夠有效地被深度架構表示的卻不能被用淺的架構高效表示。一個緊的和深度的表示的存在意味著在潛在的可被表示的函數中存在某種結構。如果不存在任何結構,那將不可能很好地泛化。
優勢
用更多的數據或是更好的算法來提高學習算法的結果。對某些應用而言,深度學習在大數據集上的表現比其他機器學習(ML)方法都要好(稍后將討論例外情況)。這些又如何轉化為現實生活中的情形呢?深度學習更適合無標記數據,因而它并不局限于以實體識別為主的自然語言處理(NLP)領域。