本節書摘來自華章出版社《深度學習導論及案例分析》-書中的第1章,第1.1節,作者李玉鑑 張婷,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視
<b>第1章</b>
<b>概述</b>
如何讓機器從經驗中學習長期以來都是哲學界和科學界的研究目标之一。學習能力對人類智能的形成和發展無疑起着至關重要的作用,而機器學習的研究顯然有助于提高人工智能的水準。從原始的輸入資料到産生意義的了解過程往往需要經過許多不同層次的資訊處理、轉換、表達和抽象,如果涉及的層次較深,深度學習的模型和方法就可能發揮重要作用。本章主要勾畫深度學習的起源和發展、特點和優勢、模型和算法。
<b>1.1深度學習的起源和發展</b>
作為一種實作人工智能的強大技術,深度學習(deep learning)已經在手寫數字識别、維數約簡、語音識别、圖像了解、機器翻譯、蛋白結構預測和情感識别等各個方面獲得了廣泛應用[17],因屢屢取得打破記錄的評測結果并超越其他方法,而很快受到了非常高度的關注。
深度學習的概念起源于人工神經網絡(artificial neural network),在本質上是指一類對具有深層結構(deep architecture)的神經網絡進行有效訓練的方法。神經網絡是一種由許多非線性計算單元(或稱神經元、節點)組成的分層系統,通常網絡的深度就是其中的不包括輸入層的層數。理論上,一個具有淺層結構(shallow architecture)或層數不夠深的神經網絡雖然在節點數足夠大時,也可能充分逼近地表達任意的多元非線性函數,但這種淺層表達在具體實作時往往由于需要太多的節點而無法實際應用。一般說來,對于給定數目的訓練樣本,如果缺乏其他先驗知識,人們更期望使用少量的計算單元來建立目标函數的“緊表達”(compact representation),以獲得更好的泛化能力[8]。而在網絡深度不夠時,這種緊表達可能是根本無法建立起來的,因為理論研究表明,深度為k的網絡能夠緊表達的函數在用深度為k-1的網絡來表達時,有時需要的計算單元會指數增長[9]。
最早的神經網絡是心理學家mcculloch和數理邏輯學家pitts在1943建立的mp模型[10],而相關的線性回歸方法甚至可以追溯到1800年前後[11]。mp模型實際隻是單個神經元的形式化數學描述,具有執行邏輯運算的功能,雖然不能進行學習,但開創了人工神經網絡研究的時代。1949年,hebb首先對生物神經網絡提出了有關學習的思想[12]。1958年,rosenblatt提出了感覺器(perceptron)模型及其學習算法[13]。在随後的幾十年間,盡管神經網絡的研究出現過一段與minsky對感覺器的批評有關的低潮期[14],但grossberg[15]、kohonen[16]、narendra&thathatchar[17]、von der malsburg[18]、widrow&hoff[19]、palm[20]、willshaw&von der malsburg[21]、hopfield[22]、ackley[23]、rumelhart[24]等人仍然逐漸提出了許多神經網絡的新模型。到20世紀八九十年代,這些新模型終于引發了神經網絡的重生,并掀起了對神經網絡研究的世界性高潮[25]。其中最受歡迎的模型至少包括:hopfield神經網絡[22]、玻耳茲曼機[23]和多層感覺器(mulitlayer perception,mlp)[24]。最早的深度學習系統也許就是那些通過資料分組處理方法訓練的多層感覺器[26]。多層感覺器(在隐含層數大于1時又稱為深層感覺器)實際上是一種由多層節點有向圖構成的前饋神經網絡(feedforward neural network,fnn)[27],其中每一個非輸入節點是具有非線性激活函數的神經元,每一層與其下一層是全連接配接的。此外,fukushima提出的神經認知機可能是第一個具有“深度”屬性的神經網絡[2831],并且也是第一個內建簡單細胞和複雜細胞的神經生理學洞見的神經網絡,以便有效地對視覺輸入的某些特性起反應[31,32]。更重要的是,神經認知機促成了卷積神經網絡結構的誕生和發展[33]。而卷積神經網絡作為一種判别模型,在近幾年的大規模資料評測比賽中成績卓著[34],盛譽非凡。
在訓練神經網絡方面,反向傳播(backpropagation)無疑是最常用、最著名的算法,最先由werbos描述[35],由lecun[36]和parker[37]的有關論文發表,由rumelhart等人[38]的論文享譽全球,并由battiti[39]、fahlman[40]、igel&hüsken[41]、jacobs[42]、neuneier和zimmermann[43]、orr&müller[44]、riedmiller&braun[45]、schraudolph&sejnowski[46]、west&saad[47]等人的工作得到了更好的發展。然而,直到20世紀80年代晚期,反向傳播似乎還隻是對淺層網絡有效,盡管原理上也應對深層網絡有效。事實上,大多數多層感覺器的應用都隻用到很少的隐含層,增加隐含層幾乎沒有什麼經驗上的收益。這似乎可以從神經網絡的逼近定理中找到某種解釋[48,49],該定理為:隻要單隐層感覺器包含的隐含神經元足夠多,就能夠在閉區間上以任意精度逼近任何一個多變量連續函數。直到1991年時,這個關于多層感覺器在增加層數時為什麼難學的問題,才開始作為一個深度學習的基本問題,得到了完全的了解,之前的其他可能想法變得不再重要。
1991年,hochreiter正式指出,典型的深層網絡存在梯度消失或爆炸問題(the problem of vanishing or exploding gradient),進而明确确立了深度學習的一個裡程碑[50]。該問題為:累積反向傳播誤差信号在神經網絡的層數增加時會出現指數衰減或增長的現象,進而導緻數值計算快速收縮或越界。這就是為什麼深層網絡很難用反向傳播算法訓練的主要原因。需要指出的是,梯度消失或爆炸問題又稱為長時滞後問題(the long time lag problem),在循環神經網絡中也會出現[51]。
為了在一定程度上克服梯度消失或爆炸問題,從1990到2000年前後,hochreiter的深邃思想推動了若幹新方法的探索,包括:1991年的一個非常深的網絡[52]、長短時記憶網絡(long shortterm memory network)[53]、基于gpu的計算機[54]、海森無關優化(hessianfree optimization)[55]、權值矩陣空間的替代搜尋(如随機權值猜測[56]、通用搜尋[57]、evolino[58]和直接搜尋[59])。但除了卷積神經網絡以外[60],訓練深層網絡的問題直到2006年才開始受到嚴肅認真的對待。一個重要的原因是1995年之後支援向量機的快速發展[61],讓神經網絡的有關工作黯然失色。
普遍認為,深度學習正式發端于2006年,以hinton及其合作者發表的兩篇重要論文為标志,一篇發表在《neural computation》上,題目為“a fast learning algorithm for deep belief nets”[62],另一篇發表在《science》上,題目為“reducing the dimensionality of data with neural networks”[1]。從那時起,深度學習的概念就開始明朗,因為清楚地說明了淺層網絡的無監督學習(如受限玻耳茲曼機[63]的對比散度算法[64])有助于深層網絡(如深層自編碼器和深層感覺器[1])的有監督學習算法(如反向傳播)。特别是,經驗證明了由無監督預訓練和有監督調優構成的兩階段政策不僅對于克服深層網絡的訓練困難是有效的,而且賦予了深層網絡優越的特征學習能力。緊接着,許多新的深層結構又被建立起來(如深層玻耳茲曼機[65]、和積網絡[66]、深層堆疊網絡[67]),許多新的可行技術被發展起來(如最大池化[68]、丢失連接配接(dropconnect)[69]、dropout[70]),而且還取得了許多新的曆史性成就(如手寫體數字識别[1]、imagenet分類[3]和語音識别[71])。所有這些結構、技術和成就,使深度學習大受歡迎,并很快在學術界發展成為一次神經網絡的新浪潮。這其中最主要的原因當然是深度學習在大量重要應用中的性能超越了機器學習的其他替代方法(如支援向量機[72])。
深度學習的巨大成功也迅速點燃了一大批傑出學者的熱情。随着研究的不斷發展,各國政府部門逐漸給深度學習投入了大量的科研經費,在icml、nips、iclr、ieee trans. pami等著名會議和期刊上發表的相關論文越來越多,而且深度學習頻頻打破評測記錄的戰果還極大地激發了工業界的鬥志,google、facebook、微軟、百度、apple、ibm、yahoo!、twitter、騰訊、京東和阿裡巴巴,以及許多其他搜尋和社交公司,都加入了其中的比拼,有的甚至為之瘋狂。從目前的情況看,這場聲勢浩大的深度學習浪潮至少還要持續一段相當長的時間。