1.5 神經網絡和深度學習的發展史
神經網絡的發展歷史中有過3次熱潮,分別發展在20世紀40年代到20世紀60年代和20世紀80年代到20世紀90年代,以及2006年至今。每一次神經網絡的熱潮都伴隨著人工智能的興起,人工智能和神經網絡一直以來都有著非常密切的關系。
1.5.1 神經網絡的誕生:20世紀40年代到20世紀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)在他的一本名為The organization of behavior:A neuropsychological theory[4]的書中提出了Hebb算法。他也是首先提出“連接主義”(Connectionism)這一名詞的人之一,這個名詞的含義是大腦的活動是靠腦細胞的組合連接實現的。赫布認為,如果源和目的神經元均被激活興奮時,它們之間突觸的連接強度將會增強。他指出在神經網絡中,信息存儲在連接權值中,并提出假設神經元A到神經元B的連接權值與從神經元B到神經元A的連接權值是相同的。他這里提到的這個權值的思想也被應用到了我們目前所使用的神經網絡中,我們通過調節神經元之間的連接權值來得到不同的神經網絡模型,實現不同的應用。雖然這些理論在今天看來是理所當然的,但在當時看來這是一種全新的想法,算得上是開創性的理論。
1958年,計算機學家弗蘭克·羅森布拉特(Frank Rosenblatt)提出了一種神經網絡結構,稱為感知器(Perceptron)。他提出的這個感知器可能是世界上第一個真正意義上的人工神經網絡。感知器提出之后,在20世紀60年代就掀起了神經網絡研究的第一次熱潮。很多人都認為只要使用成千上萬的神經元,他們就能解決一切問題。現在看來可能會讓人感覺“too young too naive”,但感知器在當時確實是影響非凡。
這股感知器熱潮持續了10年,直到1969年,人工智能創始人之一的明斯基(M.Minsky)和佩帕特(S.Papert)出版了一本名為Perceptrons:An introduction to computationalgeometry[5]的書,書中指出簡單的神經網絡只能運用于線性問題的求解,能夠求解非線性問題的網絡應具有隱層,而從理論上還不能證明將感知器模型擴展到多層網絡是有意義的。由于明斯基在學術界的地位和影響,其悲觀論點極大地影響了當時的人工神經網絡研究,為剛剛燃起希望之火的人工神經網絡潑了一大盤冷水。這本書出版不久之后,幾乎所有為神經網絡提供的研究基金都枯竭了,沒有人愿意把錢浪費在沒有意義的事情上。
1.5.2 神經網絡的復興:20世紀80年代到20世紀90年代
1982年,美國加州理工學院的優秀物理學家霍普菲爾德(J.Hopfield)博士提出了Hopfield神經網絡。Hopfield神經網絡引用了物理力學的分析方法,把網絡作為一種動態系統,研究這種網絡動態系統的穩定性。
1985年,辛頓(G.E.Hinton)和塞努斯基(T.J.Sejnowski)借助統計物理學的概念和方法提出了一種隨機神經網絡模型,即玻爾茲曼機(Boltzmann Machine)。一年后,他們又改進了模型,提出了受限玻爾茲曼機(Restricted Boltzmann Machine)。
1986年,魯梅哈特(Rumelhart)、辛頓(G.E.Hinton)和威廉姆斯(Williams)提出了BP(Back Propagation)算法[6](多層感知器的誤差反向傳播算法)。到今天為止,這種多層感知器的誤差反向傳播算法還是非常基礎的算法,凡是學神經網絡的人,必然要學習BP算法。我們現在的深度網絡模型基本上都是在這個算法的基礎上發展出來的。使用BP算法的多層神經網絡也稱為BP神經網絡(Back Propagation Neural Network)。BP神經網絡主要指的是20世紀80年代到20世紀90年代使用BP算法的神經網絡。雖然現在的深度學習也用BP算法,但網絡名稱已經不叫BP神經網絡了。早期的BP神經網絡的神經元層數不能太多,一旦網絡層數過多,就會使網絡無法訓練,具體原因在后面的章節中會詳細說明。
Hopfield神經網絡、玻爾茲曼機和受限玻爾茲曼機由于目前已經較少使用,所以本書后面章節不再詳細介紹這3種網絡。
1.5.3 深度學習:2006年至今
2006年,多倫多大學的教授希頓(Geoffrey Hinton)提出了深度學習。他在世界頂級學術期刊“Science”上發表了論文“Reducing the dimensionality of data with neural networks”[7],論文中提出了兩個觀點:①多層人工神經網絡模型有很強的特征學習能力,深度學習模型學習得到的特征數據對原始數據有更本質的代表性,這將大大便于分類和可視化問題;②對于深度神經網絡很難訓練達到最優的問題,可以采用逐層訓練方法解決。將上層訓練好的結果作為下層訓練過程中的初始化參數。在這一文獻中,深度模型的訓練過程中逐層初始化采用無監督學習方式。
希頓在論文中提出了一種新的網絡結構深度置信網絡(Deep Belief Net, DBN),這種網絡使得訓練深層的神經網絡成為可能。深度置信網絡由于目前已經較少使用,所以本書在后面的章節中將不再詳細介紹這種網絡。
2012年,希頓課題組為了證明深度學習的潛力,首次參加ImageNet圖像識別比賽,通過CNN網絡AlexNet一舉奪得冠軍。也正是由于該比賽,CNN吸引了眾多研究者的注意。
2014年,香港中文大學教授湯曉鷗領導的計算機視覺研究組開發了名為“DeepID”的深度學習模型,在LFW(Labeled Faces in the Wild,人臉識別使用非常廣泛的測試基準)數據庫上獲得了99.15%的識別率,人用肉眼在LFW上的識別率為97.52%,深度學習在學術研究層面上已經超過了人用肉眼的識別。
2016年3月的人工智能圍棋比賽,由位于英國倫敦的谷歌(Google)旗下的DeepMind公司開發的AlphaGo戰勝了世界圍棋冠軍、職業九段選手李世石,并以4:1的總比分獲勝。
2018年6月,OpenAI的研究人員開發了一種技術,可以在未標記的文本上訓練AI,可以大量減少人工標注的時間。幾個月后谷歌推出了一個名為“DeepID”的模型,該模型在學習了幾百萬個句子以后學會了如何預測漏掉的單詞。在多項NLP(Natural Language Processing)測試中,它的表現都接近人類。隨著NLP技術的發展,相信將來,AI可以逐漸理解我們的語言,跟我們進行順暢的對話,甚至成為我們的保姆、老師或朋友。
今天,人臉識別技術已經應用在了我們生活的方方面面,如上下班打卡,飛機、高鐵出行,出門住酒店和刷臉支付等。我們已經離不開深度學習技術,而深度學習技術仍在快速發展中。