深度學習簡史

“上帝是一位算術家!”    ——雅克比

 

    深度學習(Deep Learning)是人工神經網絡(artificial neural network)的一個分支。1943年,來自美國的數學家沃爾特·皮茨(W.Pitts)和美國心理學家沃倫·麥克洛克(W.McCulloch)首次提出人工神經網絡的概念,並對其中的神經元進行了數學建模,從此人工神經網絡這一研究領域被開啓[1]。1949年,心理學家唐納德·奧爾丁·赫布(D. Olding Hebb)提出了著名的Hebb學習規則[2]。八年後,人工智能專家弗蘭克·羅森布萊特(F.Rosenblatt)提出了感知機(Perceptron)學習模型,並使用Hebb學習規則來訓練感知器的參數,感知器被視爲最早的擁有簡單結構的人工神經網絡模型。後來,弗蘭克·羅森布萊特在計算機硬件上實現了首個感知機模型:Mark I[3],奠定了人工神經網絡由計算機軟件向硬件發展的趨勢[4]。

    1980年,來自加拿大的人工智能專家傑弗裏·辛頓(G. Hinton)採用多個隱含層的深度結構來代替感知機的單層結構:多層感知機模型(Multi_Layer Perceptron)[5]。1974年,反向傳播算法(BP)被首次用來訓練人工神經網絡,隨後,該算法進一步被燕·勒存(Y. LeCun)等人應用於訓練深層神經網絡[5]。BP算法計算每層的誤差來調整網絡權值[6]。但是,深度神經網絡的參數是具有多隱含層的非凸空間,基於梯度下降的BP算法容易停留在網絡參數的局部極小值[7]。

   爲了解決BP算法在訓練深層網絡時存在的缺陷,研究人員開始改變感知機的結構來提高網絡的泛化性能,因而產生了很多淺/單層學習模型,例如SVM[8]、Logistic Regression[9]、Maximum Entropy Model[10]和Naive Bayesian Model[11]等。因爲受限於只含一個隱含層,所以其特徵構造的能力有限,只能夠解決簡單的條件限制問題,不能有效地處理具有複雜特徵的學習問題[12]。

神經網絡的前向和反向傳播過程

 

    1984年,日本學者福島邦彥提出了神經感知機(Neocognitron)[13],這是卷積神經網絡的原始模型。1998年,燕·勒存(Y.LeCun)提出了具有深層結構的卷積神經網絡(Convoluted Neural Network, CNN)[14]。2006年,傑弗裏·辛頓(G. Hinton)提出了深度信念網絡[15],從此,在計算機研究領域開啓了深度學習的熱潮。2009年,Yoshua Bengio提出了堆疊自動編碼器[16](Stacked Auto-Encoder,SAE),採用自動編碼器來代替深度信念網絡的基本單元:限制玻爾茲曼機[17]。

    約翰·霍普菲爾德(John Hopfield)在1982提出了Hopfield網絡[18]。隨後出現了Elman和Jordan等人提出的循環神經網絡(RNN)[19],因爲沒有合適的應用,並沒有得到廣泛的應用。人工智能專家Jurgen Schmidhuber提出了LSTM[20],該網絡改進了RNN的多種限制,增加了門限結構,使得循環神經網絡的記憶時長得到進一步增加,LSTM在自然語言處理領域取得了突飛猛進的進展。

    從2011年開始,谷歌和微軟研究院先後將深度學習應用到語音識別領域,使語音識別的錯誤率下降了20%-30%[21]。2012年,在ImageNet圖像分類比賽中,利用深層卷積神經網絡,使得大規模圖像識別的錯誤率下降了14%[22]。

    深度神經網絡在計算機視覺(computer vision)、強化學習(Reinforcement Learning)、自然語言處理(natural language processing)等各種任務中表現優異,在計算機視覺領域,卷積神經網絡在識別、檢測、語義分割等視覺任務中起到了極大的推動作用。卷積神經網絡(CNN)在大規模圖像識別任務(ILSVRC )中首次超過人類[22],也在檢測和語義分割任務中表現突出。

    在機器學習與認知識別領域中,人工神經網絡(ANN)是一類模擬生物神經網絡(中樞神經網絡,主要是大腦)的模型,用來預測(決策問題)或估計基於大量未知數據的函數模型。 深度學習的基礎架構來自於前饋神經網絡與BP[23]算法,構造多層節點並通過最小化代價函數的方法來提高分類精度。對於傳統的ANN而言,由於多個隱含層的網絡參數訓練困難[24][25],不同於淺層的神經網絡算法,深度學習更側重於如何通過增加網絡的深度,減小每層擬合的參數來提取數據(尤其是語音與圖像數據)的高層特徵信息,從而達到更高的測試性能與分類精度。由於含有很多隱層的人工神經網絡具有優異的特徵學習能力,深度學習算法逐漸成爲分類算法的一個較大的分支。然而訓練深度神經網絡的難度非常大,爲此,可以對其進行“逐層初始化”(layer-wisepre-train)[26]。

    由於CNN能夠提取存在局部相關性的結構信息,因此也被廣泛應用在強化學習和自然語言處理任務中。在強化學習任務中,使用CNN結合強化學習算法設計的深度Q學習網絡[27](DQL)首次在Atari等一系列遊戲上戰勝人類玩家,AlphaGo[28]在圍棋領域戰勝了人類圍棋冠軍。這些強化學習方法都使用了CNN,說明CNN很容易提取這些有着高度局部規則的結構。在自然語言處理任務[29]中,由於自然語言在詞與詞、句子與句子之間也存在着局部的結構,使用CNN進行文本分類和特徵提取也取得了很好的效果。

    卷積神經網絡在機器學習學科中佔有着如此重要的地位,網絡架構的設計對其性能影響重大。由於神經網絡本身存在大量的參數以及一些需要人爲設定的超參數,而現在的研究僅從信號處理及實驗驗證的角度來設計神經網絡,並沒有從優化的理論方面來分析如何設計神經網絡才能取得較高的性能。這就使得神經網絡有着大量的參數需要調節,參數調節及架構設計成了提高神經網絡泛化性能的重點。探索如何高效地搜索參數空間及設計網絡架構對提高神經網絡的泛化性能有着重大意義。

   卷積網絡被應用在各個領域,尤其在強化學習領域中,將卷積神經網絡和強化學習策略結合,可以實現深度強化學習[28]。實驗證明,卷積神經網絡能夠容易地學習強化學習任務中的規則,無論是在特徵提取階段還是在策略控制階段。研究卷積神經網絡在強化學習中的應用,將進一步促進人工智能向通用智能邁進。

現狀

    深度學習(Deep Learning)[14]在1986年被引入機器學習(Mechine Learning)領域,在2000年被用於人工神經網絡[23]。深度學習無論在學術界還是工業界均得到了廣泛的研究和應用。因其強大的擬合能力,深度學習在很多領域都取得了突破性的進展。如經過特殊設計的深層神經網絡能夠擬合任意的非凸函數,甚至可以擬合某些函數分佈,這使得深度學習成爲機器學習和人工智能研究的新趨勢,也是人工智能領域中不可或缺的強大學習方法。深度學習也被某些領域用作表徵學習,即將深度學習所學習的函數用於特徵表示,這一方法也被稱爲“特徵工程”。學術界一般認爲深度學習方法是在2006年開始才逐漸發展起來。深度學習的研究方向主要包括:非凸函數的優化,網絡架構的設計,計算機視覺[14],自然語言處理[29],強化學習[28],生成對抗網絡[30],自動變分編碼[31]等,其中在某些領域中的應用還可以被繼續細化。

演變

    人工神經網絡 (ANN) 已經取得了長足的進步,同時也帶來了其他的深度模型。第一代人工神經網絡由簡單的感知器神經層組成,只能進行有限的簡單計算。第二代使用反向傳播,根據錯誤率更新神經元的權重。然後支持向量機 [8](SVM) 浮出水面,在一段時間內超越 ANN。爲了克服反向傳播的侷限性,人們提出了受限玻爾茲曼機[32](RBM),使學習更容易。此時其他技術和神經網絡也出現了,如前饋神經網絡 (FNN)、卷積神經網絡 (CNN)[14]、循環神經網絡[20] (RNN) 等,以及深層信念網絡、自編碼器[32]等。從那時起,爲實現各種用途,ANN 在不同方面得到了改進和設計。

    Schmidhuber (2014)、Bengio (2009)、Deng 和 Yu (2014)、Goodfellow 等人 (2016)、Wang 等人(2017) 對深度神經網絡 (DNN) 的進化和歷史以及深度學習 (DL) 進行了詳細的概述。在大多數情況下,深層架構是簡單架構的多層非線性重複,這樣可從輸入中獲得高度複雜的函數。

方法

    深度人工神經網絡在監督學習的任務中取得了巨大的成功。此外,深度學習模型在半監督、無監督和強化學習方面也非常成功。

    1) 深度監督學習。監督學習應用在當數據標記、分類器分類或數值預測的情況。LeCun 等人 (2015) 對監督學習方法以及深層結構的形成給出了一個精簡的解釋。Deng 和 Yu(2014) 提到了許多用於監督和混合學習的深度網絡,並做出了相應的解釋,例如深度堆棧網絡[33](DSN) 及其變體。Schmidthuber(2014) 的研究涵蓋了所有神經網絡,從早期神經網絡到最近成功的卷積神經網絡[14] (CNN)、循環神經網絡 (RNN)[20]、長短時記憶網絡(LSTM)[20] 及其改進。

    2) 深度無監督學習。當輸入數據沒有標記時,可應用無監督學習方法從數據中提取特徵並對其進行分類或標記。LeCun 等人(2015)預測了無監督學習在深度學習中的未來[23]。Schmidthuber(2014) 也描述了無監督學習的神經網絡。Deng 和 Yu(2014)簡要介紹了無監督學習的深度架構[33],並詳細解釋了深度自編碼器。

    3) 深度強化學習。強化學習使用獎懲系統預測學習模型的下一步。這主要用於遊戲和機器人,解決平常的決策問題。Schmidthuber(2014)描述了強化學習 (RL) 中深度學習的進展,以及深度前饋神經網絡 (FNN) 和循環神經網絡[20] (RNN) 在 RL 中的應用。Li(2017) 討論了深度強化學習 (Deep Reinforcement Learning,DRL)和它的架構 (例如 Deep Q-Network, DQN)[31]以及在各個領域的應用。Mnih等人(2016)提出了一種利用異步梯度下降進行 DNN 優化的 DRL 框架[34]。Van Hasselt 等人(2015)提出了一種使用深度神經網絡 (deepneural network, DNN) 的 DRL 架構[35]。

架構 

    自編碼器[31](AE) 是一種神經網絡(NN),其中輸出即輸入。AE採用原始輸入,編碼爲壓縮表示,然後解碼以重建輸入。在深度AE中,低隱藏層用於編碼,高隱藏層用於解碼,誤差反向傳播用於訓練。

    1)變分自編碼器[31]。變分自動編碼器 (VAE) 可以算作解碼器。VAE 建立在標準神經網絡上,可以通過隨機梯度下降訓練 (Doersch,2016)。

    2)多層降噪自編碼器[36]。在早期的自編碼器 (AE) 中,編碼層的維度比輸入層小(窄)。在多層降噪自編碼器 (SDAE) 中,編碼層比輸入層寬 (Deng and Yu, 2014)。

    3)變換自編碼器[31]。深度自動編碼器 (DAE) 可以是轉換可變的,也就是從多層非線性處理中提取的特徵可以根據學習者的需要而改變。變換自編碼器(TAE) 既可以使用輸入向量,也可以使用目標輸出向量來應用轉換不變性屬性。

CNN 

    卷積神經網絡 (CNN)的構成主要有四種結構,即:局部連接、共享權重、池化和多層的使用。CNN 的第一部分由卷積層和池化層組成,後一部分主要是全連接層。卷積層檢測特徵的局部連接,池層將相似的特徵合併爲一個。CNN 在卷積層中使用卷積而不是矩陣乘法。

    Krizhevsky 等人 (2012) 提出了一種深度卷積神經網絡 (CNN) 架構[22],也稱爲 AlexNet,這是深度學習 (Deep Learning, DL) 的一個重大突破。網絡由 5 個卷積層和 3 個全連接層組成。該架構採用圖形處理單元 (GPU) 進行卷積運算,採用線性整流函數 (ReLU) 作爲激活函數,用Dropout來減少過擬合。

    1) 深度最大池化卷積神經網絡。最大池化卷積神經網絡(MPCNN)主要對卷積和最大池化進行操作,特別是在數字圖像處理中。MPCNN通常由輸入層以外的三種層組成。卷積層獲取輸入圖像並生成特徵圖,然後應用非線性激活函數。最大池化層向下採樣圖像,並保持子區域的最大值。全連接層進行線性乘法。在深度MPCNN中,在輸入層之後週期性地使用卷積和混合池化,然後是全連接層。

    2) 極深的卷積神經網絡。Simonyan和Zisserman(2014) 提出了非常深層的卷積神經網絡架構,也稱爲VGGNet[37]。VGGNet 使用非常小的卷積濾波器,深度達到16-19層。

    3)He 等人提出的殘差網絡[38](ResNet) ,層數可多達1000多層。ResNet 具有較低的誤差,並且容易通過殘差學習進行訓練。更深層次的 ResNet 可以獲得更好的性能。在深度學習領域,人們認爲ResNet是一個重要的進步。Xie等人提出了 ResNeXt架構[39],ResNext利用ResNet來重複使用分割-轉換-合併策略。

RNN

    循環神經網絡[20](RNN) 更適合於序列輸入,如語音、文本和生成序列。一個重複的隱藏單元在時間展開時可以被認爲是具有相同權重的非常深的前饋網絡。由於梯度消失和維度爆炸問題,RNN 曾經很難訓練。爲了解決這個問題,後來許多人提出了改進意見。

    Goodfellow等人(2016)詳細分析了循環和遞歸神經網絡和架構的細節,以及相關的門控和記憶網絡。Karpathy等人(2015)使用字符級語言模型來分析和可視化預測、表徵訓練動態、RNN 及其變體(如LSTM)的錯誤類型等。

    循環神經網絡使用與深度神經網絡類似的多個抽象層和表示層。Bengio解釋了深層架構,例如Boltzmann machine (BM) 和 Restricted Boltzmann Machines (RBM) [32]及其變體。Goodfellow 等人詳細解釋了深度生成模型,如受限和非受限的玻爾茲曼機及其變種、深度玻爾茲曼機、深度信念網絡 (DBN)、定向生成網絡和生成隨機網絡等。Maale等人提出了輔助的深層生成模型[40](Auxiliary Deep GenerativeModels),在這些模型中,他們擴展了具有輔助變量的深層生成模型。輔助變量利用隨機層和跳過連接生成變分分佈。

 

 

  歡迎大家關注“靈感快現”,若有不足之處,歡迎批評指正!

 


[1] 周開利, 康耀紅. 神經網絡模型及其Matlab仿真[M]. 程序設計. 北京: 清華大學出版社, 2005:43.

[2] 孫志軍, 薛雷, 許陽明, 王正. 深度學習研究綜述[J]. 計算機應用研究, 2012, 29(8):2806-2810.

[3] The organization of behavior: A neuropsychological theory. D. O. Hebb. John Wiley And Sons, Inc.,New York, 1949.

[4] F. Rosenblatt. The perceptron, a perceiving and recognizing automaton Project Para. CornellAeronautical Laboratory, 1957.

[5] G. Dahl, D. Yu, L. Deng. Context-dependent pre-trained deep neural networks for large-vocabularyspeech recognition[J]. IEEE Transactions on Audio, Speech, and Language Processing, 20(1):30-42,2012.

[6] G. E. Hinton, S. Osindero, Y. W Teh. A Fast Learning Algorithm for Deep Belief Nets[J]. NeuralComputation, 18(7): 1527-1554, 2006.

[7] M. Ranzato, Y. Boureau, S. Chopra, and Y. LeCun. A unified energy-based framework forunsupervised learning[J]. Proc. Conference on AI and Statistics (AI-Stats), 2007.

[8] Suykens J A K , Vandewalle J . Least Squares Support Vector Machine Classifiers[J]. NeuralProcessing Letters, 9(3):293-300, 1999.

[9] Allison P D. Logistic Regression Using the SAS System: Theory and Application[M]. 1999.

[10] Ratnaparkhi A, Reynar J, Roukos S. A maximum entropy model for prepositional phraseattachment[C]// Workshop: Human Language Technology. 1994.

[11] Henge Z. Naive bayesian classifier committees[J]. Lecture Notes in Computer Science, 1398:196--207, 1998.

[12] Minsky, M. (1952). A neural-analogue calculator based upon a probability model ofreinforcement. Harvard University Pychological Laboratories internal report.

[13] Fukushima K. Neocognitron: A hierarchical neural network capable of visual patternrecognition[J]. Neural Networks, 1(2):119-130, 1988.

[14] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to documentrecognition. Proceedings of the IEEE, november 1998.

[15] Hinton, G. E., Osindero, S. & Teh, Y.-W. A fast learning algorithm for deep belief nets. NeuralComp. 18, 1527–1554 , 2006.

[16] Vincent P, Larochelle H, Lajoie I, et al. Stacked Denoising Autoencoders: Learning UsefulRepresentations in a Deep Network with a Local Denoising Criterion[J]. Journal of Machine LearningResearch, 11(12):3371-3408, 2010.

[17] Bengio Y, Lamblin P, Popovici D, et al. Greedy layer-wise training of deep networks[J]. Advancesin neural information processing systems, 19: 153, 2007.

[18] Hopfield J J. Neural networks and physical systems with emergent collective computationalabilities.[J]. Proceedings of the National Academy of Sciences of the United States of America,79(8):2554-2558, 1982.

[19] J. L. Elman. Finding structure in time. Cognitive Science, 14:179–211, 1990.

[20] Hochreiter S . The Vanishing Gradient Problem During Learning Recurrent Neural Nets andProblem Solutions[J]. International Journal of Uncertainty, Fuzziness and Knowledge-Based, Systems,6(2):107-116, 1998.

[21] Cooke M, Green P, Josifovski L, et al. Robust automatic speech recognition with missing andunreliable acoustic data[J]. Speech Communication, 34(3):267-285, 2001.

[22] A. Krizhevsky, I. Sutskever, and G. E. Hinton, Imagenet classification with deep convolutionalneural networks, in International Conference on Neural Information Processing Systems, pp. 1097–1105, 2012.

[23] Y. Lecun, B. E. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel,Backpropagation applied to handwritten zip code recognition, Neural Computation, vol. 1, no. 4, pp.541–551, 1989.

[24] Y. Bengio, P. Y. Simard, and P. Frasconi, Learning long-term dependencies with gradient descentis difficult, IEEE Transactions on Neural Networks, vol. 5, no. 2, pp. 157–166, 1994.

[25] X. Glorot and Y. Bengio, Understanding the difficulty of training deep feedforward neuralnetworks, Journal of Machine Learning Research, vol. 9, pp. 249–256, 2010.

[26] Erhan D , Bengio Y , Courville A C , et al. Why Does Unsupervised Pre-training Help DeepLearning?[J]. Journal of Machine Learning Research, 11(3):625-660, 2010.

[27] Mnih V , Kavukcuoglu K , Silver D , et al. Playing Atari with Deep Reinforcement Learning[J].Computer Science, 2013.

[28] D. Silver, A. Huang, C. J. Maddison, A. Guez, L. Sifre, G. V. D. Driessche, J. Schrittwieser, I.Antonoglou, V. Panneershelvam, and M. Lanctot, Mastering the game of go with deep neuralnetworks and tree search, Nature, vol. 529, no. 7587, p. 484, 2016.

[29] G. Hinton, L. Deng, D. Yu, G. E. Dahl, A. Mohamed, N. Jaitly, A. Senior, V. Vanhoucke, P. Nguyen,and T. N. Sainath, Deep neural networks for acoustic modeling in speech recognition: The sharedviews of four research groups, IEEE Signal Processing Magazine, vol. 29, no. 6, pp.82–97, 2012.

[30] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y.Bengio, Generative adversarial nets, in Advances in Neural Information Processing Systems 27, Z.Ghahramani, M. Welling, C. Cortes, N. D. Lawrence, and K. Q. Weinberger, Eds. Curran Associates, Inc.,pp. 2672–2680, 2014.

[31] Vincent P, Larochelle H, Bengio Y, et al. Extracting and composing robust features with denoisingautoencoders[C]// International Conference on Machine Learning. 2008.

[32] Schölkopf B, Platt J, Hofmann T. Greedy Layer-Wise Training of Deep Networks[J]. Advances inNeural Information Processing Systems, 19:153-160, 2007.

[33] Li J, Chang H, Jian Y. Sparse Deep Stacking Network for Image Classification[J]. 2015.

[34] Mnih V, Kavukcuoglu K, Silver D, et al. Human-level control through deep reinforcement learning.[J]. Nature, 518(7540):529, 2015.

[35] Silver D, Van Hasselt H, Hessel M, et al. The Predictron: End-To-End Learning and Planning[J].2016.

[36] Deng, Zhang, Eyben, et al. Autoencoder-based Unsupervised Domain Adaptation for SpeechEmotion Recognition[J]. IEEE Signal Processing Letters, 21(9):1068-1072, 2014.

[37] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, andM. Bernstein, Imagenet large scale visual recognition challenge, International Journal of ComputerVision, vol. 115, no. 3, pp. 211–252, 2014.

[38] K. He, X. Zhang, S. Ren, and J. Sun, Deep residual learning for image recognition, in The IEEEConference on Computer Vision and Pattern Recognition (CVPR), pp. 770–778, 2015.

[39] S. Xie, R. Girshick, P. Dollà˛ar, Z. Tu, and K. He, Aggregated residual transformations for deepneural networks, in 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp.5987–5995, July 2017.

[40] Maaløe L, Sønderby C K, Sønderby S K, et al. Auxiliary Deep Generative Models.[J]. 2017.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章