简明深度学习方法概述 Deep Learning:Methods and Application
簡明深度學習方法概述 Deep Learning:Methods and Application
?人工智能 ?小林子??7個月前 (03-05)??2558℃??0評論作者:@神一手golden
說明:本文主要是翻譯整理Li Deng 和 Dong Yu所著的《Deep Learning:Methods and Application》文章并沒有全文翻譯,而是一個總結并加入個人理解生成的概括性文章。如果要深入了解推薦讀原文。博主真心能力有限,所以理解之處錯誤在所難免,請勿噴。
一、 綜述
在這片介紹性文章開始,先簡單介紹一下深度學習的概念。深度學習(Deap Learning),是機器學習的一個新的研究領域,它的定義有很多,這里隨意列舉一兩個定義你們感受一下(老外的語言還是很干練的):
1) “A class of machine learning techniques that exploit many layers of non-linear information processing for supervised or unsupervised feature extraction and transformation, and for pattern analysis and classification.”
2) “deep learning is a set of algorithms in machine learning that attempt to learning in multiple levels, corresponding to different levels of abstraction. It typically uses artificial neural networks. The levels in these learned statistical models correspond to distinct levels of concepts, where higher-level concepts are defined from lower-level ones, and the same lower-level concepts can help to define many higher-level concepts”
上述英文定義的共同點包括兩個主要方面:
深度學習是多學科領域的交叉,比如神經網絡、人工智能、圖建模、最優化理論、模式識別和信號處理。需要注意的是本文所描述的深度學習是在信號和信息處理內容中學習出一種深度結構。它不是對信號和信息處理知識的理解,盡管某些意義上說它倆相似,但深度學習重點在于學習出一種深度網絡結構,是實實在在存在的一種計算機可存儲結構,這種結構表示了信號的某種意義上的內涵。
從06年開始,深度結構學習方法(深度學習或者分層學習方法)作為機器學習領域的新的研究方向出現。由于三種主要領域的技術進步(比如芯片處理性能的巨大提升,數據爆炸性增長和機器學習與信信號處理研究的進步),在過去的短短幾年時間,深度學習技術得到快速發展,已經深深的影響了學術領域,其研究涉及的應用領域包括計算機視覺、語音識別、對話語音識別、圖像特征編碼、語意表達分類、自然語言理解、手寫識別、音頻處理、信息檢索、機器人學。
由于深度學習在眾多領域表現比較好的性能,越來越多的學術機構把目光投入深度學習領域。今年來活躍在機器學習領域的研究機構包括眾多高校比如斯坦福,伯克利,還有一些企業例如Google,IBM 研究院,微軟研究院,FaceBook,百度等等。這些研究機構在計算機領域的眾多應用中都成功利用了深度學習方法,甚至有一個關于分子生物學的研究指出他們利用深度學習方法引領下發現了新的藥物。
本文只是闡述了截止2014年最新的有關深度學習研究的一部分內容綜述,如果需要了解這個領域的最新進展,推薦到以下網址獲取:
- http://deeplearning.net/reading-list/
- http://ufldl.stanford.edu/wiki/index.php/UFLDL_Recommended_Readings
- http://www.cs.toronto.edu/~hinton/
- http://deeplearning.net/tutorial/
- http://ufldl.stanford.edu/wiki/index.php/UFLDL_Tutorial
二、 深度學習歷史
直到近些年,大多數機器學習和信號處理技術大多還是采用淺層的結構,這些典型結構包含至多一層或兩層非線性特征變換。這種淺層結構的代表比如高斯混合模型(GMM),線性或非線性動態系統,條件隨機場(CRFs),最大熵模型,支持向量機(SVMs),邏輯回歸(LR),核回歸,多層感知器(MLPS)。例如,SVMs 使用了一個淺層的線性模式分類器,當使用核技巧的話,包含一個特征轉換層。淺層結構方法(既機器學習方法)已經在一些簡單和有限制難題中得到了比較好的結果,但是當處理復雜的現實世界的問題時(例如語音,自然聲音圖像,語言,視場等),它們有限的模型復雜度和表達能力就遇到了困難。
人類自我信息的處理和理解(例如視覺信息,聲音信息),一直以來都比較復雜,因此需要更深的結構算法從輸入層中提取特征。比如說,語音生成和理解系統在把波形信號轉變成語言級別的信號的時候,就是設置了清晰的多層結構去學習。歷史上來看,深度學習的概念起源于神經網絡的研究。含有多隱層的前饋神經網絡(BP)或者多層感知器(多隱層MLPs通常指深度神經網絡DNNs),就是一個深度結構模型的例子。BP神經網絡流行在上世紀80年的,已經成為廣為人知的學習算法。遺憾的是,加入多隱層的BP神經網絡算法效果卻并不好(網絡中普遍存在的非凸目標函數的局部最優化調整問題是主要的訓練難題)。隨著網絡深度的增加,越難達到局部最優化。而這個困境的原因是忽視了機器學習和信號處理領域的研究,比如機器學習方法中的SVM,CRF,和最大熵模型,包含損失函數,使用這些方法可以有效獲得全局優化。
深信網絡(deep belief network DBN)提出后,深度模型的最優化困難可以在經驗上得到降低。DBN是由一組限制玻爾茲曼機(RBMs)組成的層次網絡學習算法,它可以在線性的時間復雜度內達到模型參數的最優化。使用MLP采用合理配置初始化權值后,DBN經常能表現的比隨機參數更好一點。同理,含多隱層的MLPs 或者深度神經網絡(DNN)學術上也被稱為DBNs。最近,研究人員已經更精細的區分DNNs和DBNs,如果使用DBN去初始化DNN的訓練的話,那么這個網絡就可以被稱為DBN-DNN。這上述的深度學習的理論提出后,學術界不斷提出改進的理論來豐富深度學習的內容,深度學習理論已經得到了極大的豐富和發展。
我們可以從另一個角度來了解這個發展歷程,下圖展現了不同時代的神經網絡被宣傳的熱度。巔峰期出現在1980s和1990s,此時被稱為神經網絡的第二代。DBN在06年被研究出來,當DBN被用在初始化DNN的時候,學習算法的效率就變的更加有效,這促進了學術界連續的快速研究成果。DBN和DNN的產業級語音特征提取和識別應用出現在09年,當時產業界和學術界以及深度學習的研究專家有著密切的相互合作。這種合作快速發展了語音識別的深度學習方法,并由此而取得了巨大成功。
圖中“plateau of productivity(穩定產出)”短語目前還沒有到來,但是期望在未來將會比圖中顯示出的走勢更加劇烈,像標記中的虛線那樣,而我們就是剛剛處于這個時期,尤其最近深度學習概念屢屢被熱炒,其發展熱度可見一斑。
三類深度學習網絡
本篇介紹深度學習的大致分類,根據其應用方式的不同,我們可以粗分類幾種不同結構的深度學習方法。
(1) 三種深度學習網絡分類方式
如文章(一)中所述,深度網絡是指一大類的機器學習和各種層次結構結合的網絡,其特性是使用多層的非線性信息處理方法(這和一般神經網絡結構類似,包含了更多的隱層)。根據這些結構和技術的應用領域比如綜合/生成或識別/分類,我們可以大致的把這些結構分為三類:
“混合”這一稱呼和一般學術指的不同,學術上可能指把一個神經網絡的概率輸出反饋到HMM(隱形馬爾科夫模型,推薦李航的《統計學習方法》中了解)中所組成的語音識別系統。
如果按照普通的采用機器學習的慣例,那就可以很自然的把深度學習技術分為深度判別模型(監督學習)(比如深度神經網絡或者DNNS,遞歸神經網絡或者RNNs,卷積神經網絡或者CNNs等等)和生成或非監督模型(比如限制玻爾茲曼機或者RBMs,深信網絡或者DBNs,深度玻爾茲曼機(DBMs)規則自編碼器等等)。但這兩種分類方式都忽略了生成或非監督模型通過最優化和正則化可以極大的改進DNNs和其他深度判定模型和監督模型的訓練。并且,深度無監督學習網絡未必能從數據中有意義的采樣。我們注意到已經有研究通過生成傳統的去噪自編碼器來來有效采樣(具體論文不列出,大家可以去搜搜看)。不管怎么說,傳統的兩種分類方式的確指出了監督學習和非監督學習深度網絡中的不同點。比較上面提到的兩類深度學習方法,深度監督學習方法例如DNNs是通常可以有效測試和訓練的模型,可以靈活構建并且適合復雜系統的首位相連的學習(比如loopy belief propagation)。另一方面來說,深度非監督學習模型,特別是概率生成模型,更容易解釋,容易嵌入局部先驗知識,容易組織和容易處理不確定性。但是它在推理學習和復雜系統學習方面比較困難。這些區分也保留在本文推薦的三類深度網絡模型分類里面,這是一個好現象。
(2) 非監督學習或生成學習深度網絡
非監督學習指學習沒有監督信息的數據(比如根本沒有數據的類標簽,無法根據數據的類屬性分類)。很多這類深度網絡可以從神經網絡知識里借鑒生成,比如RBMs,DBNs,DBMs和生成去噪自編碼器。還有一些比如稀疏編碼網絡以及深度自編碼器的原始形式。下面給出這類網絡的樣例以及相關文獻信息,具體內容可以根據興趣學習:
[1] Y. Bengio, N. Boulanger, and R. Pascanu. Advances in optimizing recurrent networks. In Proceedings of International Conference on Acoustics Speech and Signal Processing (ICASSP). 2013
[2] Y. Bengio, P. Lamblin, D. Popovici, and H. Larochelle. Greedy layerwise training of deep networks. In Proceedings of Neural Information Processing Systems (NIPS). 2006.
[3] Y. Bengio. Learning deep architectures for AI. in Foundations and Trends in Machine Learning, 2(1):1–127, 2009.
[4] Y. LeCun, S. Chopra, M. Ranzato, and F. Huang. Energy-based models in document recognition and computer vision. In Proceedings of International Conference on Document Analysis and Recognition (ICDAR).2007.
[5] J. Ngiam, Z. Chen, P. Koh, and A. Ng. Learning deep energy models. In Proceedings of International Conference on Machine Learning (ICML).2011.
[6] L. Deng, M. Seltzer, D. Yu, A. Acero, A. Mohamed, and G. Hinton.Binary coding of speech spectrograms using a deep autoencoder. In Proceedings of Interspeech. 2010.
[7] G. Hinton and R. Salakhutdinov. Reducing the dimensionality of data with neural networks. Science, 313(5786):504–507, July 2006.
[8] P. Vincent, H. Larochelle, I. Lajoie, Y. Bengio, and P. Manzagol.Stacked denoising autoencoders: Learning useful representations in a deep network with a local denoising criterion. Journal of Machine Learning Research, 11:3371–3408, 2010.
[9] G. Hinton. A better way to learn features. Communications of the Association for Computing Machinery (ACM), 54(10), October 2011.
[10] I. Goodfellow, M. Mirza, A. Courville, and Y. Bengio. Multi-prediction deep boltzmann machines. In Proceedings of Neural Information Processing Systems (NIPS). 2013.
[11] R. Salakhutdinov and G. Hinton. Deep boltzmann machines. In Proceedings of Artificial Intelligence and Statistics (AISTATS). 2009.
[12] R. Salakhutdinov and G. Hinton. A better way to pretrain deep Boltzmann machines. In Proceedings of Neural Information Processing Systems (NIPS). 2012.
[13] N. Srivastava and R. Salakhutdinov. Multimodal learning with deep boltzmann machines. In Proceedings of Neural Information Processing Systems (NIPS). 2012.
[14] G. Dahl, M. Ranzato, A. Mohamed, and G. Hinton. Phone recognition with the mean-covariance restricted boltzmann machine. In Proceedings of Neural Information Processing Systems (NIPS), volume 23, pages 469–477. 2010.
[15] M. Ranzato and G. Hinton. Modeling pixel means and covariances using factorized third-order boltzmann machines. In Proceedings of Computer Vision and Pattern Recognition (CVPR). 2010.
[16] A. Mohamed, G. Hinton, and G. Penn. Understanding how deep belief networks perform acoustic modelling. In Proceedings of International Conference on Acoustics Speech and Signal Processing (ICASSP). 2012.
[17] R. Gens and P. Domingo. Discriminative learning of sum-product networks.Neural Information Processing Systems (NIPS), 2012.
[18] H. Poon and P. Domingos. Sum-product networks: A new deep architecture.In Proceedings of Uncertainty in Artificial Intelligence. 2011.
[19] J. Martens and I. Sutskever. Learning recurrent neural networks with hessian-free optimization. In Proceedings of International Conference on Machine Learning (ICML). 2011.
[20] Y. Bengio. Deep learning of representations: Looking forward. In Statistical Language and Speech Processing, pages 1–37. Springer, 2013.
[21] I. Sutskever. Training recurrent neural networks. Ph.D. Thesis, University of Toronto, 2013.
[22] T. Mikolov, M. Karafiat, L. Burget, J. Cernocky, and S. Khudanpur. Recurrent neural network based language model. In Proceedings of International Conference on Acoustics Speech and Signal Processing (ICASSP), pages 1045–1048. 2010.
[23] G. Mesnil, X. He, L. Deng, and Y. Bengio. Investigation of recurrentneural-network architectures and learning methods for spoken language understanding. In Proceedings of Interspeech. 2013.
[24] K. Yao, G. Zweig, M. Hwang, Y. Shi, and D. Yu. Recurrent neural networks for language understanding. In Proceedings of Interspeech.2013.
[25] Z. Ling, L. Deng, and D. Yu. Modeling spectral envelopes using restricted boltzmann machines for statistical parametric speech synthesis.In International Conference on Acoustics Speech and Signal Processing (ICASSP), pages 7825–7829. 2013.
[26] M. Shannon, H. Zen, and W. Byrne. Autoregressive models for statistical parametric speech synthesis. IEEE Transactions on Audio, Speech,Language Processing, 21(3):587–597, 2013.
[27] H. Zen, Y. Nankaku, and K. Tokuda. Continuous stochastic feature mapping based on trajectory HMMs. IEEE Transactions on Audio,Speech, and Language Processings, 19(2):417–430, February 2011.
[28] M. Wohlmayr, M. Stark, and F. Pernkopf. A probabilistic interaction model for multi-pitch tracking with factorial hidden markov model.IEEE Transactions on Audio, Speech, and Language Processing, 19(4),May 2011.
[29] R. Socher, C. Lin, A. Ng, and C. Manning. Parsing natural scenes and natural language with recursive neural networks. In Proceedings of International Conference on Machine Learning (ICML). 2011.
[30] R. Socher, Y. Bengio, and C. Manning. Deep learning for NLP.Tutorial at Association of Computational Logistics (ACL), 2012, and North American Chapter of the Association of Computational Linguistics (NAACL), 2013.
http://www.socher.org/index.php/DeepLearning?Tutorial.
(有點多。。。大家可以根據需要檢索,不過都是比較新的索引文獻,值得一讀)
(3) 監督學習深度網絡
很多信號和信息處理方面的監督學習的判別技術都是淺層結構比如HMMs(隱形馬爾科夫模型)和條件隨機場(CRFs),條件隨機場本質上就是一個淺層判別模型,在輸入特征和多度特征上用線性關系描述。最近深度組織CRFs被提出來,它存儲每一層CRF的輸出,和原始輸入數據一起傳輸到它的更高層。各種版本的深度組織CRFs已經成功的應用在了電話語音識別,語音識別和自然語言處理上。下面給出監督學習相關的深度網絡方面的參考文獻,具體內容大家根據興趣查找閱讀:
[1] M. Gibson and T. Hain. Error approximation and minimum phone error acoustic model estimation. IEEE Transactions on Audio, Speech, and Language Processing, 18(6):1269–1279, August 2010.
[2] Heintz, E. Fosler-Lussier, and C. Brew. Discriminative input stream combination for conditional random field phone recognition. IEEE Transactions on Audio, Speech, and Language Processing, 17(8):1533–1546, November 2009.
[3] G. Heigold, H. Ney, P. Lehnen, T. Gass, and R. Schluter. Equivalence of generative and log-liner models. IEEE Transactions on Audio, Speech,and Language Processing, 19(5):1138–1148, February 2011.
[4] D. Yu, S. Wang, and L. Deng. Sequential labeling using deep-structured conditional random fields. Journal of Selected Topics in Signal Processing,4:965–973, 2010.
[5] D. Yu and L. Deng. Deep-structured hidden conditional random fields for phonetic recognition. In Proceedings of Interspeech. September 2010.
[6] D. Yu, S. Wang, and L. Deng. Sequential labeling using deep-structured conditional random fields. Journal of Selected Topics in Signal Processing,4:965–973, 2010.
[7] N. Morgan. Deep and wide: Multiple layers in automatic speech recognition.IEEE Transactions on Audio, Speech, & Language Processing,20(1), January 2012.
[8] L. Deng and D. Yu. Deep convex network: A scalable architecture for speech pattern classification. In Proceedings of Interspeech. 2011
[9] L. Deng, D. Yu, and J. Platt. Scalable stacking and learning for building deep architectures. In Proceedings of International Conference on Acoustics Speech and Signal Processing (ICASSP). 2012a.
[10] B. Hutchinson, L. Deng, and D. Yu. A deep architecture with bilinear modeling of hidden representations: Applications to phonetic recognition.In Proceedings of International Conference on Acoustics Speech and Signal Processing (ICASSP). 2012.
[11] L. Deng, G. Tur, X. He, and D. Hakkani-Tur. Use of kernel deep convex networks and end-to-end learning for spoken language understanding.In Proceedings of IEEE Workshop on Spoken Language Technologies.December 2012.
[12] L. Deng, K. Hassanein, and M. Elmasry. Analysis of correlation structure for a neural predictive model with application to speech recognition.Neural Networks, 7(2):331–339, 1994.
[13] A. Graves. Sequence transduction with recurrent neural networks. Representation
[14] Learning Workshop, International Conference on Machine Learning (ICML), 2012
[15] A. Graves, A. Mohamed, and G. Hinton. Speech recognition with deep recurrent neural networks. In Proceedings of International Conference on Acoustics Speech and Signal Processing (ICASSP). 2013.
(4) 混合深度網絡
“混合”這個名詞使用在這個類別里正是指一類既包含和利用了生成模型也用了判別模型的一種深度網絡。在目前學術圈發表的混合結構模型中,生成組件最常被用來幫助判別模型,判別模型是這個混合模型的最終目標。生成模型如何促進判別模型可以從下列兩種觀點來佐證:
下面提供關于這類模型相關的參考文獻,相信大家可以從中學習到比較深入的知識。
[1] D. Erhan, Y. Bengio, A. Courvelle, P.Manzagol, P. Vencent, and S. Bengio.Why does unsupervised pre-training help deep learning? Journal on Machine Learning Research, pages 201–208, 2010.
[2] D. Erhan, Y. Bengio, A. Courvelle, P.Manzagol, P. Vencent, and S. Bengio.Why does unsupervised pre-training help deep learning? Journal on Machine Learning Research, pages 201–208, 2010.
[3] A. Mohamed, D. Yu, and L. Deng. Investigation of full-sequence training of deep belief networks for speech recognition. In Proceedings of Interspeech. 2010.
[4] B. Kingsbury, T. Sainath, and H. Soltau. Scalable minimum bayes risk training of deep neural network acoustic models using distributed hessian-free optimization. In Proceedings of Interspeech. 2012.
[5] M. Ranzato, J. Susskind, V. Mnih, and G. Hinton. On deep generative models with applications to recognition. In Proceedings of Computer Vision and Pattern Recognition (CVPR). 2011.
[6] H. Lee, R. Grosse, R. Ranganath, and A. Ng. Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations.In Proceedings of International Conference on Machine Learning (ICML). 2009.
在接下來的一篇文章中,我們將詳細說明三種深度學習領域典型類型的模型。給出簡單的結構描述和數學描述。這三種舉例的模型可能不一定是最具代表性和有影響力的模型,不過可以作為一種說明來讓大家明白區別。
深度自編碼———-非監督學習
一下介紹了非監督學習深度網絡模型,我們以此開始三種類別網絡的實例化介紹。
深度自編碼是一類特別的DNN(不含有類標簽),它的輸出向量和輸入向量維度相同。它常常用來學習一種原始數據的表示或者有效的編碼方式,并在隱藏的輸入層作為向量的形式表示。注意自編碼模型是一種非線性特征提取模型,沒有類標簽。同樣的,特征提取模型目標是保存和更好的表示信息而不是任務分類,經過某些方面來說這兩個目標相互聯系。
一個典型的自編碼模型擁有一個可以表示原始數據的輸入層或者說叫輸入特征向量(比如,圖像像素或者聲音頻譜),一個或者更多表示特征轉換的隱藏層,以及一個匹配輸入層用來重建的輸出層。當隱藏層數量超過一個的時候,自編碼模型就認為是深度自編碼模型。隱藏層的維度既可以比輸入層維度更小(目的是壓縮特征)也可以更大(目的是把特征映射到更高維空間)。
自編碼模型經常使用隨機梯度下降法訓練參數。盡管這樣的方法很有效,但經常在訓練帶有多隱層的網絡的時候有一些基本困難。當一些誤差反饋到初始的一些層的時候,誤差變得極小,訓練變得無效起來。雖然有些其它的更高級的反饋傳播方法某種程度上可以去解決這些困難,但是仍然導致低效,尤其是當訓練數據有限的時候。但幸運的是,這個難題可以通過把每一層網絡昨晚自編碼模型進行預訓練來解決(引用:G. Hinton, S. Osindero, and Y. Teh. A fast learning algorithm for deep belief nets. Neural Computation, 18:1527–1554, 2006.)。這種策略已經被應用在很多方面比如:使用深度自編碼去把圖像映射到一個基于短二進制編碼的圖像檢索中,編碼文檔(稱為語意哈希)以及編碼頻譜類語音特征中。
1) 使用深度自編碼提取語音特征
這里我們回顧一組工作,其發表在(L. Deng, M. Seltzer, D. Yu, A. Acero, A. Mohamed, and G. Hinton.Binary coding of speech spectrograms using a deep autoencoder. In
Proceedings of Interspeech. 2010.),這篇文章發展出了使用非監督方式從原始頻譜語音數據中提取二進制語音編碼的方法自編碼模型。這種從模型中提取的依據二進制編碼的離散表示法能應用在信息檢索或者在語音識別中作為瓶頸特性。
包含256種頻段和1,3,9或13幀的頻譜塊生成模型如下圖所示。這種稱為無向圖模型稱為Gaussian-Bernoulli RBM(高斯-伯努利受限玻爾茲曼機),它含有一個加高斯噪聲的線性參數的可見層和一個包含500到3000二進制隱變量的隱層。學習Gaussian-Bernoulli RBM后,它的隱單元的響應可以作為訓練其他Gaussian-Bernoulli RBM的輸入。這兩個Gaussian-Bernoulli RBM可以組成一個深信網絡(deep belief net DBN),這篇論文中使用的DBN表示在圖的左側,兩個RBMS被分開表示。
這個包含三層隱層的深度自編碼模型使用DBN的權矩陣鋪開組成。最底下一層使用權矩陣編碼輸入,上一層使用權矩陣倒序的編碼輸入。然后此深度自編碼模型使用誤差反饋來微調以最小化重建誤差,如圖右邊所示。當學習過程結束的時候,一個可變長度的頻譜圖可以被編碼和重構。
2) 堆疊噪聲自編碼模型
在早期的自編碼研究中,編碼層維度比輸入層維度小。然而,在某些應用領域需要編碼層維度更大一些,這些情況下,一些需要一些技術去防止神經網絡學習一些瑣碎無用的映射函數。使用更高維度隱層和編碼層的一個原因是使得自編碼模型捕捉到輸入數據的更豐富的信息。
避免上面提到瑣碎映射函數問題的方法包括使用稀疏約束,或者使用隨機丟棄方法比如隨機的強制某些數值歸零,由此引入輸入層或者隱層數據噪聲。例如,在堆疊噪聲自編碼模型(詳細見,P. Vincent, H. Larochelle, I. Lajoie, Y. Bengio, and P. Manzagol.
Stacked denoising autoencoders: Learning useful representations in a
deep network with a local denoising criterion. Journal of Machine
Learning Research, 11:3371–3408, 2010.)中,隨機噪聲加在輸入數據里。這有幾個目的,第一,強制輸出匹配原始無失真輸入數據,模型能避免學習到瑣碎無用函數。第二,噪聲隨機加入后,學習到的模型在同樣畸變的測試數據中將更具魯棒性。第三,每處畸變輸入樣本不同,極大的提高了測試集尺寸并因此減輕過擬合線問題。
3) 變換自編碼模型
上述深度自編碼模型可以提取穩固的特征向量編碼歸功于模型中多層的非線性處理過程。然而,這種方法提取到的編碼是多種多樣的。換句話說,當測試者選擇的輸入特征向量變化的時候,提取的編碼將會改變。有時候需要編碼變化是可預測的并且反應獲取內容的相對不變性。懷著這種目標的變換自編碼模型在圖像識別中被提出(G. Hinton, A. Krizhevsky, and S. Wang. Transforming autoencoders. In
Proceedings of International Conference on Artificial Neural Networks.
2011.)。
變換自編碼模型的構件是一個被稱為“膠囊”的東西,它是一個獨立子網絡,其提取一個單一參數化特征并且表示一個單一實體(一個可視的或者音頻的東西)。變換自編碼同時接收輸入向量和目標輸出向量(通過一個全局變換機制從輸入向量變換得到)。一個顯示表示全局變換機制假定已知。變換自編碼模型的編碼層由一些“膠囊”組成。
在訓練階段,不同的膠囊學習提取不同的實體以便最小化最終輸出和目標輸出的誤差。
除了這里介紹的深度自編碼結構以外,這里有很多學術上描述的生成模型只使用數據本身(無分類標簽數據),用來自動獲取高層特征信息。
預訓練深度神經網絡———-混合體
在此篇里,我們介紹一種廣泛使用的混合深度結構————預訓練深度神經網絡(PDNN)并且討論一下相關技術以及構建RBM(受限玻爾茲曼機)和DBN(上面描述過)。我們在深度神經網絡(DNN)之前討論混合的DNN實例部分是因為從非監督模型到DNN中間的混合模型再到DNN的過度比較自然。監督學習的屬性已經廣為人知,因此很容易理解使用了非監督預訓練的DNN混合模型。
本節參考了最近發布的文章:
【1】G. Dahl, D. Yu, L. Deng, and A. Acero. Context-dependent, pre-trained
deep neural networks for large vocabulary speech recognition. IEEE
Transactions on Audio, Speech, & Language Processing, 20(1):30–42,
January 2012.
【2】G. Hinton, L. Deng, D. Yu, G. Dahl, A. Mohamed, N. Jaitly, A. Senior,
V. Vanhoucke, P. Nguyen, T. Sainath, and B. Kingsbury. Deep neural
networks for acoustic modeling in speech recognition. IEEE Signal
Processing Magazine, 29(6):82–97, November 2012.
【3】D. Yu and L. Deng. Deep learning and its applications to signal and
information processing. IEEE Signal Processing Magazine, pages 145–
154, January 2011.
1) 限制玻爾茲曼機(RBM)
限制玻爾茲曼機是一種特殊類型的馬爾科夫隨機場,它含有一層隨機隱藏單元和一層隨機可見單元。RBM能表示一個二分圖,所有可見的單元鏈接到所有隱藏單元,而且沒有可見—-可見或者隱藏—-隱藏之間的鏈接。
2) 非監督層級預訓練
這里我們描述如何堆疊RBMs并構成DBN作為DNN預訓練的基礎。在討論細節之前,我們首先注意一下由Hinton和Salakhutdinov提出的程序(【1】G. Hinton, S. Osindero, and Y. Teh. A fast learning algorithm for deep
belief nets. Neural Computation, 18:1527–1554, 2006.),這是一個更一般的非監督層級預訓練。也就是說,不僅RBMs可以堆疊生成深度生成網絡,其他類型的神經網絡也可以做相同的事情,比如由Bengio提出了使用自編碼的一個變體記性預訓練生成深度網絡(Y. Bengio, P. Lamblin, D. Popovici, and H. Larochelle. Greedy layerwise
training of deep networks. In Proceedings of Neural Information
Processing Systems (NIPS). 2006.)。
層次堆疊的RBM可以生成DBN,如下圖就是一個這樣的例子。堆疊過程如下:當學習一個高斯伯努利RBM(比如連續語音特性的應用)后,我們把當前層的響應作為下一層的訓練數據。第二層的響應用作為第三層的輸入數據,以此類推。這種層次堆疊的貪婪學習策略已經在文章【1】有了理論分析驗證。注意這種學習過程是非監督的而且不需要類標簽。
當用在分類任務的時候,這種預訓練模型可以相互連接,并且有識別能力的學習過程可以微調所有連接權提高網絡的能力。這種可識別的能力的微調通過添加表示一組表示目標輸出數據的最終參數層來實現。然后,反饋調節算法可以調整網絡權值來修正參數。最上一層的標簽層是什么是根據DNN的應用領域的不同而定。
基于RBM堆疊為RBM的預訓練已經在大多數場合得到很好表現。需要指出的是除了這種方式以外還有很多其他方式作為預訓練方法。
3) 連接DNNS和HMMS
目前討論的預訓練的DNN是一個顯著的混合深度網絡,它是一個輸入向量固定維度的靜態分類器。然而,很多實際的模式識別和信息處理難題,包括語音識別,機器翻譯,自然語義理解,視頻處理和生物信息處理需要連續識別。在連續識別中,輸入層和輸出層的維度是變化的。
基于動態編程操作的隱形馬爾科夫模型(HMM)是一個解決這個問題的方便方法。因此,很自然而然的想到結合前饋神經網絡和HMM橋接。一個使用DNN解決這個問題的流行結構如下圖所示。這個結構成功的應用在了語音識別實驗中(G. Dahl, D. Yu, L. Deng, and A. Acero. Context-dependent DBNHMMs
in large vocabulary continuous speech recognition. In Proceedings
of International Conference on Acoustics Speech and Signal Processing
(ICASSP). 2011.)。
深度堆棧網絡———-監督學習
在識別和分類任務包括語音識別和圖像分類中,DNN已經展現了巨大的威力,但是訓練一個DNN網絡卻因為復雜度高而難以計算。尤其是常見的訓練DNN的技術涉及計算復雜度高的隨機梯度下降法,這很難通過機器并行(CPU)來提高速度。這使得學習變成一個大規模復雜問題?,F在可以使用一個單一功能強悍的GPU去訓練DNN為基礎的包含數十到數百數千小時訓練數據的表現很好的語音識別器。然而,現在還不清楚如何使用更大規模的訓練數據來提高識別的成功率。J. Dean, G. Corrado, R. Monga, K. Chen, M. Devin, Q. Le, M. Mao,
M. Ranzato, A. Senior, P. Tucker, K. Yang, and A. Ng. Large scale
distributed deep networks. In Proceedings of Neural Information Processing
Systems (NIPS). 2012.介紹了一些最近的探索工作。
這里我們描述一種新的深度學習結構——-深度堆疊網絡(DSN)。這小節基于最近發表的幾篇文章并作進一步討論:
【1】L. Deng and D. Yu. Deep convex network: A scalable architecture for
speech pattern classification. In Proceedings of Interspeech. 2011.
【2】L. Deng, D. Yu, and J. Platt. Scalable stacking and learning for building
deep architectures. In Proceedings of International Conference on
Acoustics Speech and Signal Processing (ICASSP). 2012a.
【3】B. Hutchinson, L. Deng, and D. Yu. A deep architecture with bilinear
modeling of hidden representations: Applications to phonetic recognition.
In Proceedings of International Conference on Acoustics Speech
and Signal Processing (ICASSP). 2012.
【4】B. Hutchinson, L. Deng, and D. Yu. Tensor deep stacking networks.
IEEE Transactions on Pattern Analysis and Machine Intelligence,
35:1944–1957, 2013.
DSN的主要設計概念基于堆疊方法,在L. Breiman. Stacked regression. Machine Learning, 24:49–64, 1996.中有基本概念的描述。堆疊方法首先構建一個單模型函數或分類器,然后把這些函數相互堆疊“堆疊”以便學習復雜的函數或分類器。很多實現堆疊的操作方法在最近被提了出來,主要思想是利用在單一模型中使用可監督的信息。堆疊分類器上層的分類器使用串聯結構中的下層分類器的輸出以及初始輸入中獲取新的特征。在這片論文中
(W. Cohen and R. V. de Carvalho. Stacked sequential learning. In
Proceedings of International Joint Conference on Artificial Intelligence
(IJCAI), pages 671–676. 2005.)堆疊模型使用的簡單模型是條件隨機場(CRF)。添加隱藏狀態后,這類深度結構在自然語言處理和語音識別領域(這些應用的訓練數據的分割信息位置)應用取得了進一步發展并取得成果。在這片論文中
(K. Jarrett, K. Kavukcuoglu, and Y. LeCun. What is the best multistage
architecture for object recognition? In Proceedings of International
Conference on Computer Vision, pages 2146–2153. 2009.),卷積神經網絡也被當做堆疊結構,但是監督信息通常在最終的堆疊模型中并未使用。
DSN結構最早在論文【1】中提出,當時被作為深度凸網絡,用來強調主要學習網絡算法中的凸特性。DSN把監督信息用在相互堆疊的基礎模型中,模型利用了多層感知器的方便性。在基礎模型中,輸出單元是線性的而且隱層sigmoidal(反曲函數)非線性。輸出層的線性特征能使用較好的凸優化求解。由于在輸入和輸出之間的封閉限制,輸入層權值能高效估計出來。
一種基礎深度堆疊網絡結構
如下圖所示是一種DSN結構模型,包含可變數量的層次化模型,其中每一個模型都是由一個隱層和兩組可訓練的權值組成典型的神經網絡結構。在圖中,只展示了四個此類模型,每個模型都由不同的顏色表示。事實上,在圖像和語音分類實驗中有數百數千個模型被高效訓練著。
DSN結構中最低一層模型包含一個線性輸入單元的輸入層,一個非線性單元的非線性隱層和第二個線性輸出單元的線性層。隱藏層使用了sigmoidal非線性函數(當然可以使用其他非線性函數,原理相同,非線性函數保證模型訓練出的映射的非線性,否則訓練出的映射是線性)。如果DSN用在識別一個圖像,輸入單元可以適應一組圖像像素(或者一組圖像特征)。如果用在語音識別,輸入單元可以適應一組語音波形樣本或者提取的語音波形特征,比如功率譜和倒譜系數。輸出單元表示目標的分類信息。例如, DSN用來識別數字,輸出可能表示0,1,2,3 等等的數值并采用二進制編碼的形式。
較低層的權值矩陣我們可以用W表示,連接了線性輸入單元和非線性隱層單元。上一層權值矩陣用U表示,連接非線性隱層和線性輸出層。權值矩陣U可根據W的值采用均方差訓練方法確定封閉解。
如上所述,DSN包括一組連接,重疊和層次的模型。其中每個模型有相同的結構。注意的是底層輸出單元是臨近高層模型的輸入單元的子集。具體來說,DSN靠上的一層的輸入層包含底層輸出層的單元,邏輯上說也包括初始時候的原始圖像特征。
一個學習好的DSN可以部署在自動分類任務例如幀水平語音通話或者狀態分類中。把DSN的輸出層連接到HMM或者任何動態可編程設備可以進行連續語音識別任務和其他類型序列模式識別任務。
文章出處:http://www.goldencui.org/2014/12/02/%E7%AE%80%E6%98%8E%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95%E6%A6%82%E8%BF%B0%EF%BC%88%E4%B8%80%EF%BC%89/
總結
以上是生活随笔為你收集整理的简明深度学习方法概述 Deep Learning:Methods and Application的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Deep Learning科普帖
- 下一篇: 基于用户投票的排名算法Reddit