“深度學習”這壹概念從2007年前後開始受到關註。當時,傑弗裏·辛頓(Geoffrey Hinton)和魯斯蘭·薩拉赫丁諾夫(Ruslan Salakhutdinov)提出了壹種在前饋神經網絡中進行有效訓練的算法。這壹算法將網絡中的每壹層視為無監督的受限玻爾茲曼機,再使用有監督的反向傳播算法進行調優[7]。在此之前的1992年,在更為普遍的情形下,施密德胡伯也曾在遞歸神經網絡上提出壹種類似的訓練方法,並在實驗中證明這壹訓練方法能夠有效提高有監督學習的執行速度[8][9].
自深度學習出現以來,它已成為很多領域,尤其是在計算機視覺和語音識別中,成為各種領先系統的壹部分。在通用的用於檢驗的數據集,例如語音識別中的TIMIT和圖像識別中的ImageNet, Cifar10上的實驗證明,深度學習能夠提高識別的精度。
硬件的進步也是深度學習重新獲得關註的重要因素。高性能圖形處理器的出現極大地提高了數值和矩陣運算的速度,使得機器學習算法的運行時間得到了顯著的縮短[10][11]。
基本概念[編輯]
深度學習的基礎是機器學習中的分散表示(distributed representation)。分散表示假定觀測值是由不同因子相互作用生成。在此基礎上,深度學習進壹步假定這壹相互作用的過程可分為多個層次,代表對觀測值的多層抽象。不同的層數和層的規模可用於不同程度的抽象[1]。
深度學習運用了這分層次抽象的思想,更高層次的概念從低層次的概念學習得到。這壹分層結構常常使用貪婪算法逐層構建而成,並從中選取有助於機器學習的更有效的特征[1].
不少深度學習算法都以無監督學習的形式出現,因而這些算法能被應用於其他算法無法企及的無標簽數據,這壹類數據比有標簽數據更豐富,也更容易獲得。這壹點也為深度學習贏得了重要的優勢[1]。
人工神經網絡下的深度學習[編輯]
壹部分最成功的深度學習方法涉及到對人工神經網絡的運用。人工神經網絡受到了1959年由諾貝爾獎得主大衛·休伯爾(David H. Hubel)和托斯坦·威澤爾(Torsten Wiesel)提出的理論啟發。休伯爾和威澤爾發現,在大腦的初級視覺皮層中存在兩種細胞:簡單細胞和復雜細胞,這兩種細胞承擔不同層次的視覺感知功能。受此啟發,許多神經網絡模型也被設計為不同節點之間的分層模型[12]。
福島邦彥提出的新認知機引入了使用無監督學習訓練的卷積神經網絡。燕樂存將有監督的反向傳播算法應用於這壹架構[13]。事實上,從反向傳播算法自20世紀70年代提出以來,不少研究者都曾試圖將其應用於訓練有監督的深度神經網絡,但最初的嘗試大都失敗。賽普·霍克賴特(Sepp Hochreiter)在其博士論文中將失敗的原因歸結為梯度消失,這壹現象同時在深度前饋神經網絡和遞歸神經網絡中出現,後者的訓練過程類似深度網絡。在分層訓練的過程中,本應用於修正模型參數的誤差隨著層數的增加指數遞減,這導致了模型訓練的效率低下[14][15]。
為了解決這壹問題,研究者們提出了壹些不同的方法。於爾根·施密德胡伯(Jürgen Schmidhuber)於1992年提出多層級網絡,利用無監督學習訓練深度神經網絡的每壹層,再使用反向傳播算法進行調優。在這壹模型中,神經網絡中的每壹層都代表觀測變量的壹種壓縮表示,這壹表示也被傳遞到下壹層網絡[8]。
另壹種方法是賽普·霍克賴特和於爾根·施密德胡伯提出的長短期記憶神經網絡(long short term memory,LSTM)[16]。2009年,在ICDAR 2009舉辦的連筆手寫識別競賽中,在沒有任何先驗知識的情況下,深度多維長短期記憶神經網絡取得了其中三場比賽的勝利[17][18]。
斯文·貝克提出了在訓練時只依賴梯度符號的神經抽象金字塔模型,用以解決圖像重建和人臉定位的問題[19]。
其他方法同樣采用了無監督預訓練來構建神經網絡,用以發現有效的特征,此後再采用有監督的反向傳播以區分有標簽數據。辛頓等人於2006年提出的深度模型提出了使用多層隱變量學習高層表示的方法。這壹方法使用斯摩棱斯基於1986年提出的受限玻爾茲曼機[20]對每壹個包含高層特征的層進行建模。模型保證了數據的對數似然下界隨著層數的提升而遞增。當足夠多的層數被學習完畢,這壹深層結構成為壹個生成模型,可以通過自上而下的采樣重構整個數據集[21]。辛頓聲稱這壹模型在高維結構化數據上能夠有效低提取特征[22]。
吳恩達和傑夫·迪恩(Jeff Dean)領導的谷歌大腦(英語:Google Brain)團隊創建了壹個僅通過YouTube視頻學習高層概念(例如貓)的神經網絡[23] [24]。
其他方法依賴了現代電子計算機的強大計算能力,尤其是GPU。2010年,在於爾根·施密德胡伯位於瑞士人工智能實驗室IDSIA的研究組中,丹·奇雷尚(Dan Ciresan)和他的同事展示了利用GPU直接執行反向傳播算法而忽視梯度消失問題的存在。這壹方法在燕樂存等人給出的手寫識別MNIST數據集上戰勝了已有的其他方法[10]。
截止2011年,前饋神經網絡深度學習中最新的方法是交替使用卷積層(convolutional layers)和最大值池化層(max-pooling layers)並加入單純的分類層作為頂端。訓練過程也無需引入無監督的預訓練[25][26]。從2011年起,這壹方法的GPU實現[25]多次贏得了各類模式識別競賽的勝利,包括IJCNN 2011交通標誌識別競賽[27]和其他比賽。
這些深度學習算法也是最先在某些識別任務上達到和人類表現具備同等競爭力的算法[28]。
深度學習結構[編輯]
深度神經網絡是壹種具備至少壹個隱層的神經網絡。與淺層神經網絡類似,深度神經網絡也能夠為復雜非線性系統提供建模,但多出的層次為模型提供了更高的抽象層次,因而提高了模型的能力。深度神經網絡通常都是前饋神經網絡,但也有語言建模等方面的研究將其拓展到遞歸神經網絡[29]。卷積深度神經網絡(Covolutional Neuron Networks, CNN)在計算機視覺領域得到了成功的應用[30]。此後,卷積神經網絡也作為聽覺模型被使用在自動語音識別領域,較以往的方法獲得了更優的結果[31]。
深度神經網絡[編輯]
深度神經網絡(deep neuron networks, DNN)是壹種判別模型,可以使用反向傳播算法進行訓練。權重更新可以使用下式進行隨機梯度下降求解:
其中,為學習率,為代價函數。這壹函數的選擇與學習的類型(例如監督學習、無監督學習、增強學習)以及激活函數相關。例如,為了在壹個多分類問題上進行監督學習,通常的選擇是使用Softmax函數作為激活函數,而使用交叉熵作為代價函數。Softmax函數定義為,其中代表類別的概率,而和分別代表對單元和的輸入。交叉熵定義為,其中代表輸出單元的目標概率,代表應用了激活函數後對單元的概率輸出[32]。
深度神經網絡的問題[編輯]
與其他神經網絡模型類似,如果僅僅是簡單地訓練,深度神經網絡可能會存在很多問題。常見的兩類問題是過擬合和過長的運算時間。
深度神經網絡很容易產生過擬合現象,因為增加的抽象層使得模型能夠對訓練數據中較為罕見的依賴關系進行建模。對此,權重遞減(正規化)或者稀疏(-正規化)等方法可以利用在訓練過程中以減小過擬合現象[33]。另壹種較晚用於深度神經網絡訓練的正規化方法是丟棄法("dropout" regularization),即在訓練中隨機丟棄壹部分隱層單元來避免對較為罕見的依賴進行建模[34]。
反向傳播算法和梯度下降法由於其實現簡單,與其他方法相比能夠收斂到更好的局部最優值而成為神經網絡訓練的通行方法。但是,這些方法的計算代價很高,尤其是在訓練深度神經網絡時,因為深度神經網絡的規模(即層數和每層的節點數)、學習率、初始權重等眾多參數都需要考慮。掃描所有參數由於時間代價的原因並不可行,因而小批量訓練(mini-batching),即將多個訓練樣本組合進行訓練而不是每次只使用壹個樣本進行訓練,被用於加速模型訓練[35]。而最顯著地速度提升來自GPU,因為矩陣和向量計算非常適合使用GPU實現。但使用大規模集群進行深度神經網絡訓練仍然存在困難,因而深度神經網絡在訓練並行化方面仍有提升的空間。
深度信念網絡[編輯]
壹個包含完全連接可見層和隱層的受限玻爾茲曼機(RBM)。註意到可見層單元和隱層單元內部彼此不相連。
深度信念網絡(deep belief networks,DBN)是壹種包含多層隱單元的概率生成模型,可被視為多層簡單學習模型組合而成的復合模型[36]。
深度信念網絡可以作為深度神經網絡的預訓練部分,並為網絡提供初始權重,再使用反向傳播或者其他判定算法作為調優的手段。這在訓練數據較為缺乏時很有價值,因為不恰當的初始化權重會顯著影響最終模型的性能,而預訓練獲得的權重在權值空間中比隨機權重更接近最優的權重。這不僅提升了模型的性能,也加快了調優階段的收斂速度[37]。
深度信念網絡中的每壹層都是典型的受限玻爾茲曼機(restricted Boltzmann machine,RBM),可以使用高效的無監督逐層訓練方法進行訓練。受限玻爾茲曼機是壹種無向的基於能量的生成模型,包含壹個輸入層和壹個隱層。圖中對的邊僅在輸入層和隱層之間存在,而輸入層節點內部和隱層節點內部則不存在邊。單層RBM的訓練方法最初由傑弗裏·辛頓在訓練“專家乘積”中提出,被稱為對比分歧(contrast divergence, CD)。對比分歧提供了壹種對最大似然的近似,被理想地用於學習受限玻爾茲曼機的權重[35]。當單層RBM被訓練完畢後,另壹層RBM可被堆疊在已經訓練完成的RBM上,形成壹個多層模型。每次堆疊時,原有的多層網絡輸入層被初始化為訓練樣本,權重為先前訓練得到的權重,該網絡的輸出作為新增RBM的輸入,新的RBM重復先前的單層訓練過程,整個過程可以持續進行,直到達到某個期望中的終止條件[38]。
盡管對比分歧對最大似然的近似十分粗略(對比分歧並不在任何函數的梯度方向上),但經驗結果證實該方法是訓練深度結構的壹種有效的方法[35]。
卷積神經網絡[編輯]
主條目:卷積神經網絡
卷積神經網絡(convolutional neuron networks,CNN)由壹個或多個卷積層和頂端的全連通層(對應經典的神經網絡)組成,同時也包括關聯權重和池化層(pooling layer)。這壹結構使得卷積神經網絡能夠利用輸入數據的二維結構。與其他深度學習結構相比,卷積神經網絡在圖像和語音識別方面能夠給出更優的結果。這壹模型也可以使用反向傳播算法進行訓練。相比較其他深度、前饋神經網絡,卷積神經網絡需要估計的參數更少,使之成為壹種頗具吸引力的深度學習結構[39]。
卷積深度信念網絡[編輯]
卷積深度信念網絡(convolutional deep belief networks,CDBN)是深度學習領域較新的分支。在結構上,卷積深度信念網絡與卷積神經網絡在結構上相似。因此,與卷積神經網絡類似,卷積深度信念網絡也具備利用圖像二維結構的能力,與此同時,卷積深度信念網絡也擁有深度信念網絡的預訓練優勢。卷積深度信念網絡提供了壹種能被用於信號和圖像處理任務的通用結構,也能夠使用類似深度信念網絡的訓練方法進行訓練[40]。
結果[編輯]
語音識別[編輯]
下表中的結果展示了深度學習在通行的TIMIT數據集上的結果。TIMIT包含630人的語音數據,這些人持八種常見的美式英語口音,每人閱讀10句話。這壹數據在深度學習發展之初常被用於驗證深度學習結構[41]。TIMIT數據集較小,使得研究者可以在其上實驗不同的模型配置。
方法
聲音誤差率 (PER, %)
隨機初始化RNN 26.1
貝葉斯三音子GMM-HMM 25.6
單音子重復初始化DNN 23.4
單音子DBN-DNN 22.4
帶BMMI訓練的三音子GMM-HMM 21.7
***享池上的單音子DBN-DNN 20.7
卷積DNN 20.0
圖像分類[編輯]
圖像分類領域中壹個公認的評判數據集是MNIST數據集。MNIST由手寫阿拉伯數字組成,包含60,000個訓練樣本和10,000個測試樣本。與TIMIT類似,它的數據規模較小,因而能夠很容易地在不同的模型配置下測試。Yann LeCun的網站給出了多種方法得到的實驗結果[42]。截至2012年,最好的判別結果由Ciresan等人在當年給出,這壹結果的錯誤率達到了0.23%[43]。
深度學習與神經科學[編輯]
計算機領域中的深度學習與20世紀90年代由認知神經科學研究者提出的大腦發育理論(尤其是皮層發育理論)密切相關[44]。對這壹理論最容易理解的是傑弗裏·艾爾曼(Jeffrey Elman)於1996年出版的專著《對天賦的再思考》(Rethinking Innateness)[45](參見斯拉格和約翰遜[46]以及奎茲和賽傑諾維斯基[47]的表述)。由於這些理論給出了實際的神經計算模型,因而它們是純計算驅動的深度學習模型的技術先驅。這些理論指出,大腦中的神經元組成了不同的層次,這些層次相互連接,形成壹個過濾體系。在這些層次中,每層神經元在其所處的環境中獲取壹部分信息,經過處理後向更深的層級傳遞。這與後來的單純與計算相關的深度神經網絡模型相似。這壹過程的結果是壹個與環境相協調的自組織的堆棧式的轉換器。正如1995年在《紐約時報》上刊登的那樣,“……嬰兒的大腦似乎受到所謂‘營養因素’的影響而進行著自我組織……大腦的不同區域依次相連,不同層次的腦組織依照壹定的先後順序發育成熟,直至整個大腦發育成熟。”[48]
深度結構在人類認知演化和發展中的重要性也在認知神經學家的關註之中。發育時間的改變被認為是人類和其他靈長類動物之間智力發展差異的壹個方面[49]。在靈長類中,人類的大腦在出生後的很長時間都具備可塑性,但其他靈長類動物的大腦則在出生時就幾乎完全定型。因而,人類在大腦發育最具可塑性的階段能夠接觸到更加復雜的外部場景,這可能幫助人類的大腦進行調節以適應快速變化的環境,而不是像其他動物的大腦那樣更多地受到遺傳結構的限制。這樣的發育時間差異也在大腦皮層的發育時間和大腦早期自組織中從刺激環境中獲取信息的改變得到體現。當然,伴隨著這壹可塑性的是更長的兒童期,在此期間人需要依靠撫養者和社會群體的支持和訓練。因而這壹理論也揭示了人類演化中文化和意識***同進化的現象[50]。
公眾視野中的深度學習[編輯]
深度學習常常被看作是通向真正人工智能的重要壹步[51],因而許多機構對深度學習的實際應用抱有濃厚的興趣。2013年12月,Facebook宣布雇用燕樂存為其新建的人工智能實驗室的主管,這壹實驗室將在加州、倫敦和紐約設立分支機構,幫助Facebook研究利用深度學習算法進行類似自動標記照片中用戶姓名這樣的任務[52]。
2013年3月,傑弗裏·辛頓和他的兩位研究生亞歷克斯·克裏澤夫斯基和伊利婭·蘇特斯科娃被谷歌公司雇用,以提升現有的機器學習產品並協助處理谷歌日益增長的數據。谷歌同時並購了辛頓創辦的公司DNNresearch[53]。
批評[編輯]
對深度學習的主要批評是許多方法缺乏理論支撐。大多數深度結構僅僅是梯度下降的某些變式。盡管梯度下降已經被充分地研究,但理論涉及的其他算法,例如對比分歧算法,並沒有獲得充分的研究,其收斂性等問題仍不明確。深度學習方法常常被視為黑盒,大多數的結論確認都由經驗而非理論來確定。
也有學者認為,深度學習應當被視為通向真正人工智能的壹條途徑,而不是壹種包羅萬象的解決方案。盡管深度學習的能力很強,但和真正的人工智能相比,仍然缺乏諸多重要的能力。理論心理學家加裏·馬庫斯(Gary Marcus)指出:
就現實而言,深度學習只是建造智能機器這壹更大挑戰中的壹部分。這些技術缺乏表達因果關系的手段……缺乏進行邏輯推理的方法,而且遠沒有具備集成抽象知識,例如物品屬性、代表和典型用途的信息。最為強大的人工智能系統,例如IBM的人工智能系統沃森,僅僅把深度學習作為壹個包含從貝葉斯推理和演繹推理等技術的復雜技術集合中的組成部分[54]。