獨家連載 | 覃秉豐深度學習重磅新書首發搶讀!!!(2)
前言:大家好,我是覃秉豐,又和大家見面了。之前我釋出了關於我的《深度學習從0到1》的新書首讀。鑑於大家的反響都比較熱烈,所以我決定繼續連載,希望給每個深度學習的踐行者帶來一點小小的幫助和啟發。
1.3深度學習應用
深度學習最早興起於影象識別,在最近幾年可以說是已經深入各行各業。深度學習在計算機視覺,語音識別,自然語言處理,機器人控制,生物資訊,醫療,法律,金融,推薦系統,搜尋引擎,電腦遊戲,娛樂等領域均有應用。
影象識別——影象識別可以說是深度學習最早實現突破性成就的領域。如今計算機對圖片的識別能力已經跟人類不相上下。我們把一張圖片輸入神經網路,經過網路的運算,最後可以得到圖片的分類。如圖1.15所示,我們可以看到每一張圖片神經網路都給出了5個最有可能的分類,排在最上面的可能性最大。
目標檢測 —— 利用深度學習我們還可以識別圖片中的特定物體,然後對該物體進行標註,如圖1.16。
人臉識別 —— 深度學習還可以識別影象中的人臉,判斷是男人還是女人,判斷人的年齡,判斷影象中的人是誰等,如圖1.17。
描述圖片 —— 把一張圖片輸入神經網路中,就可以輸出對這張圖片的文字描述,如圖1.18。
圖片風格轉換 —— 利用深度學習實現一張圖片加上另一張圖片的風格,然後生成一張新的圖片,如圖1.19。
語音識別 —— 深度學習還可以用來識別人說的話,如圖1.20。
文字分類 —— 使用深度學習對多個文字進行分類,如圖1.21。
機器翻譯 —— 使用深度學習進行機器翻譯,如圖1.22。
詩詞生成 —— 把一個詩詞的題目傳入神經網路,就可以生成一篇詩詞,如圖1.23。
影象生成 —— 深度學習還可以用來生成圖片。如下圖所示,只要設定好動漫人物的頭髮顏色,頭髮長度,眼睛顏色,是否戴帽子等資訊就可以生成符合條件的動漫人物。並且可以生成無數張不重複的照片,如圖1.24。
這裡只是列舉了非常少量的例子,深度學習的已經逐漸深入各行各業,深入我們的生活中。
1.4 神經網路發展史
神經網路的發展歷史中有過三次熱潮,分別發展在20世紀40年代到60年代,20世紀80年代到90年代,以及2006年至今。每一次神經網路的熱潮都伴隨著人工智慧的興起,人工智慧和神經網路一直以來都有著非常密切的關係。
1.4.1 神經網路誕生—20世紀40-60年代
1943年,神經病學家和神經元解剖學家W.S.McCulloch和數學家W.A.Pitts在生物物理學期刊發表文章提出神經元的數學描述和結構。並且證明了只要有足夠的簡單神經元,在這些神經元互相連線並同步執行的情況下,可以模擬任何計算函式,這種神經元的數學模型稱為M-P模型。
該模型把神經元的動作描述為:
- 1.神經元的活動表現為興奮或抑制的二值變化;
- 2.任何興奮性突觸輸入激勵後,使神經元興奮;
- 3.任何抑制性突觸有輸入激勵後,使神經元抑制;
- 4.突觸的值不隨時間改變;
- 5.突觸從感知輸入到傳送出一個輸出脈衝的延時時間是0.5ms。
儘管現在看來M-P模型過於簡單,並且觀點也不是完全正確,不過這個模型被認為是第一個仿生學的神經網路模型,他們提出的很多觀點一直沿用至今,比如說他們認為神經元有兩種狀態,要不就是興奮,要不就是抑制。這跟後面要提到的單層感知器非常類似,單層感知器的輸出要不就是0要不就是1。他們最重要的貢獻就是開創了神經網路這個研究方向,為今天神經網路的發展奠定了基礎。
1949年,另一位心理學家Donald Olding Hebb在他的一本名為《行為構成》(Organization of Behavior)的書提出了Hebb演算法。他也是首先提出“連線主義”(connectionism)這一名詞的人之一,這個名詞的含義是大腦的活動是靠腦細胞的組合連線實現的。
Hebb認為,如果源和目的神經元均被啟用興奮時,它們之間突觸的連線強度將會增強。他指出在神經網路中,資訊儲存在連線權值中。並提出假設神經元A到神經元B連線權與從B到A的連線權是相同的。
他這裡提到的這個權值的思想也被應用到了我們目前所使用的神經網路中,我們通過調節神經元之間的連線權值來得到不同的神經網路模型,實現不同的應用。雖然這些理論在今天看來是理所當然的,不過在當時看來這是一種全新的想法,算得上是開創性的理論。
1958年,計算機學家Frank Rosenblatt提出了一種具有三層網路特性的神經網路結構,稱為感知器(Perceptron)。他提出的這個感知器可能是世界上第一個真正意義上的人工神經網路。感知器提出之後在60年代就掀起了神經網路研究的第一次熱潮。很多人都認為只要使用成千上萬的神經元,他們就能解決一切問題。現在看來可能會讓人感覺too young too naive,不過感知器在當時確實是影響非凡。
這股感知器熱潮持續了10年,直到1969年,人工智慧的創始人之一的M.Minsky和S.Papert出版了一本名為《感知器》的書,書中指出簡單神經網路只能運用於線性問題的求解,能夠求解非線性問題的網路應具有隱層,而從理論上還不能證明將感知器模型擴充套件到多層網路是有意義的。
由於Minsky在學術界的地位和影響,其悲觀論點極大地影響了當時的人工神經網路研究,為剛剛燃起希望之火的人工神經網路潑了一大盤冷水。這本書出版不不久之後,幾乎所有為神經網路提供的研究基金都枯竭了,沒有人願意把錢浪費在沒有意義的事情上。
1.4.2神經網路復興—20世紀80-90年代
1982年,美國加州理工學院的優秀物理學家John J.Hopfield博士提出了Hopfield神經網路。Hopfield神經網路引用了物理力學的分析方法,把網路作為一種動態系統並研究這種網路動態系統的穩定性。
1985年,G.E.Hinton和T.J.Sejnowski藉助統計物理學的概念和方法提出了一種隨機神經網路模型——玻爾茲曼機(Boltzmann Machine)。一年後他們又改進了模型,提出了受限玻爾茲曼機(Restricted Boltzmann Machine)。
1986年,Rumelhart,Hinton,Williams發展了BP(Back Propagation)演算法(多層感知器的誤差反向傳播演算法)。到今天為止,這種多層感知器的誤差反向傳播演算法還是非常基礎的演算法,凡是學神經網路的人,必然要學習BP演算法。我們現在的深度網路模型基本上都是在這個演算法的基礎上發展出來的。不過BP神經網路的神經元層數不能太多,一旦網路層數過多,就會出現梯度消失問題,使得網路再也無法訓練。具體原因在後面的章節中會詳細說明。
注:Hopfield神經網路,玻爾茲曼機以及受限玻爾茲曼機由於目前已經較少使用,所以本書後面章節不再詳細介紹這三種網路。
1.4.3 深度學習—2006年至今
2006年,多倫多大學的教授Geoffrey Hinton提出了深度學習。他在世界頂級學術期刊《科學》上發表了一篇論文(Reducing the dimensionality of data with neural networks)[1],論文中提出了兩個觀點:
-
多層人工神經網路模型有很強的特徵學習能力,深度學習模型學習得到的特徵資料對原始資料有更本質的代表性,這將大大便於分類和視覺化問題;
-
對於深度神經網路很難訓練達到最優的問題,可以採用逐層訓練方法解決。將上層訓練好的結果作為下層訓練過程中的初始化引數。在這一文獻中深度模型的訓練過程中逐層初始化採用無監督學習方式。
Hinton在論文中提出了一種新的網路結構深度置信網(Deep Belief Net:DBN),這種網路使得訓練深層的神經網路成為可能。
注:深度置信網路由於目前已經較少使用,所以本書後面章節不再詳細介紹這種網路。
2012年,Hinton課題組為了證明深度學習的潛力,首次參加ImageNet影象識別比賽,通過CNN網路AlexNet一舉奪得冠軍。也正是由於該比賽,CNN吸引了眾多研究者的注意。
2014年,香港中文大學教授湯曉鷗領導的計算機視覺研究組開發了名為DeepID的深度學習模型, 在LFW (Labeled Faces in the Wild,人臉識別使用非常廣泛的測試基準)資料庫上獲得了99.15%的識別率,人用肉眼在LFW上的識別率為97.52%,深度學習在學術研究層面上已經超過了人用肉眼的識別。
2016年3月人工智慧圍棋比賽,由位於英國倫敦的谷歌(Google)旗下DeepMind公司的開發的AlphaGo戰勝了世界圍棋冠軍、職業九段選手李世石,並以4:1的總比分獲勝。