劉涵+賀霖+李軍
摘要:深度學習一般通過3種方式進行:有監督學習、無監督學習和混合深度學習。以“無監督或生成式特征學習”以及“有監督特征學習和分類”為例,討論了深度學習及其在圖像處理等領域的進展及未來可能的研究方向。認為深度學習打破了傳統機器學習和信號處理技術普遍基于淺層結構的局限。得益于相關非凸優化等問題的逐步解決,深度學習已經在圖像處理等領域取得了一些突破性的進展。
關鍵詞: 深度學習;圖像處理;分層結構
在過去10年左右的時間里,深度學習對信息技術的許多方面都產生了重要影響。諸多關于深度學習的描述普遍存在兩個重要的共同點:包含多層或多階非線性信息處理的模型;使用了連續的更高、更抽象層中的監督或無監督學習特征表示的方法。深度學習是以神經網絡為基礎,包含人工智能、圖模型、最優化等技術在內的交叉領域。它之所以如此受關注,主要源于3個方面:芯片硬件處理性能的巨大提升,為深度網絡的復雜計算提供了基礎;用于訓練的數據呈爆炸性增長,為復雜網絡的學習提供了可能;機器學習和信息處理等方面研究取得了很大進展。
1 深度學習的發展
以前,絕大多數機器學習和信號處理技術都是基于淺層結構,如高斯混合模型(GMM)、線性或非線性動力系統、條件隨機場(CRF)、最大熵模型(MaxEnt)、支持向量機(SVM)、邏輯回歸(LR)、核回歸以及多層感知器(MLP)等。這些結構一般包含最多一到兩層的非線性特征變換。已有研究表明:淺層結構在解決簡單的或者約束較多的問題上效果明顯,但是由于其建模和表示能力有限,在對實際應用中一些較為復雜自然信號(比如人類語音、自然聲音和語言、自然圖像和視覺景色)進行處理時會遇到一些困難。人類的聽覺和視覺信息等的處理機制一般可以用深度結構描述,通過該結構可以從感官輸入信息中提取復雜結構并構建內部表示。如果能實現有效和高效的深度學習算法,那么對于各種自然信號的處理技術而言,其性能會得到很大提升。
深度學習的概念一般被認為來源于對人工神經網絡的研究。前饋神經網絡或具有多隱層的多層感知器是深度神經網絡(DNN)的典型模型。反向傳播(BP)算法是解決其學習問題的廣泛運用的典型算法。遺憾的是,僅僅使用BP算法在實際學習隱層數目較多的網絡時往往效果不是很好[1]。在優化目標為非凸函數的深度神經網絡學習中,通常存在局部最優解等問題。BP算法基于局部梯度信息,往往從一些隨機的初始點開始尋優,當使用批量梯度下降或隨機梯度下降的BP算法時,目標函數經常會陷入局部最優。隨著網絡層數的加深,局部最優的情況也就會變得越來越嚴重。雖然相關研究者對小規模的神經網絡的探究從未間斷過,但是在很多機器學習和信號處理方法中,研究者們將研究重點從對神經網絡本身的研究轉移到對具有凸損失函數的淺層模型的研究,這些模型以降低建模準確度為代價,達到快速高效地收斂到全局最優化的目的。所以,深層網絡本身還存在著易于陷入局部最優等缺陷,有待于進行更深入的研究。
Hinton等在2006年左右提出了一種高效的基于深度置信網絡(DBN)的無監督學習算法[2-3],他們利用經驗性的方法處理了與深度模型相關的最優化難題。DBN是一種深度生成式模型,由一組受限玻爾茲曼機(RBMs)堆疊而成,它的核心部分是貪婪式的逐層學習,這種算法可以最優化DBN中的權重,且其時間復雜度與網絡的大小和深度呈線性關系。最近,相關研究者對于DNN與DBN進行了更加細致的研究,如可使用DBN來初始化DNN的權值等。在DNN中,多隱層的使用不僅顯著提高了網絡的表示能力,而且可得到一些較優解。然而,在訓練過程中使用深而寬的神經網絡需要依賴于強大的計算性能。隨機梯度下降(SGD)算法就是一種在訓練集較大且冗余的情況下較為有效的學習算法[4]。已有的研究表明:SGD可以有效地實現并行方式的運算。該并行運算主要通過兩種方式實現:一種方式是通過異步模式使用多臺計算機[5];另一種方式是使用多圖形處理器(GPU)的流水線型的BP算法[6]。另外,從單個或小批量樣本中估計得到的隨機性梯度使得SGD通常能跳出局部最優解。其他的一些學習算法,如Hessian free[7]、Krylov subspace[12]方法等,都表現出了類似的學習能力。對于DNN學習中涉及的非凸優化問題,更好的參數初始化和學習技術都會學習出更好的模型。
DBN預訓練并不是唯一可對DNN進行有效初始化的方法。基于降噪自動編碼器的方法對DNN進行逐層地預訓練,將每兩層視為一個降噪自編碼器,該編碼器再通過將輸入節點的隨機子集設置為零進行正則化[1,8]。另一種方法則是使用壓縮自編碼器[14],該編碼器通過使輸入變量具有更好的魯棒性來達到同樣的目的。此外,Ranzato等開發了稀疏編碼對稱機(SESM)[9],其在構建DBN模塊中具有和RBM非常類似的架構,它也可以用來有效地初始化DNN的訓練過程。除了使用貪婪方法逐層地進行無監督預訓練,有監督的預訓練(有時稱為判別式預訓練)也被證明是比較有效的[10-11]。有監督的預訓練的基本思路是從一個經過BP算法訓練的單個隱層MLP開始,每一次需要添加一個新的隱層時,用一個隨機初始化的新的隱層和輸出層替換輸出層,并用BP算法訓練全新的MLP(或DNN)。在RBM發展的同時,出現了另外兩種較有代表性的非概率的、非生成式的深度模型:一種是基于自編碼器(AE)的改進模型,其使用與DBN訓練相似的貪婪分層方法進行訓練;另一種是基于能量的模型,其利用稀疏表示來進行非監督學習。與DBN相似,其也可對深度神經網絡進行高效的預訓練。
2 3種深度學習網絡
深度學習是一類應用廣泛的機器學習技術和架構,其特點是采用多層的非線性結構進行信息處理,這種方法在本質上是分層實現的。根據不同應用領域的任務目標及對應的不同深度學習網絡結構,我們可以大致把已有深度學習結構分為3類:
(1)無監督的或生成式學習的深度網絡。該結構針對模式分析和合成任務,用于在沒有目標類標簽信息的情況下捕捉可見數據的高階相關性。已有的無監督特征學習或表達學習指的就是這一類深度網絡。
(2)有監督學習的深度網絡。該種網絡直接提供用于模式分類目的的判別能力,它的特點是描述了在給定可見數據的條件下不同類別的后驗概率分布。對于這種有監督的學習,目標數據的類別標簽總是以直接或間接形式給出,所以它們也被稱作判別式深度網絡。
(3)混合式深度網絡。其目標是實現判別式模型的效果,往往以生成式或無監督深度網絡的結果作為重要輔助,通過更好地優化和正則化以上類別(2)中的深度網絡來實現,也可以通過使用判別式準則對以上類別(1)中所述的深度生成式或無監督深度網絡進行參數估計來實現。
從傳統機器學習的角度,深度學習模型可分為深度判別式模型和生成式/無監督模型。然而這種模型分類方法忽略了深度學習研究中的一個重要觀點,即生成式和無監督學習模型可通過更好地正則化與優化來提高深度判別網絡的訓練效果。因此,深度學習網絡有時會以混合式的結構形式出現。
3 深度學習在圖像目標識別和計算機視覺中的應用
多年來,計算機視覺和圖像目標識別等任務長期依賴人工設計的特征,如尺度不變特征變換(SIFT)和方向梯度直方圖(HOG)等。此類特征僅僅是對圖像中低級別的邊緣信息進行描述與表征,若要描述圖像中高級信息例如邊緣交叉和局部外觀等,其往往顯得力不從心。深度學習可以通過無監督和有監督的學習方法直接從數據中獲得層級化的視覺特征,從而提供一套更為有效的解決方案。深度學習方法經常可從無監督和有監督兩個角度進行討論:無監督特征學習,該類方法通常將深度學習用于特征提取,然后這些特征會被直接送入后續分類算法;有監督的特征學習,當存在大量有標簽樣本時,此類方法通過端到端的學習策略實現特征提取與分類器的聯合優化。
3.1 無監督或生成特征學習
當有標簽樣本相對缺乏時,無監督學習算法可用于學習視覺特征層級結構。如Hinton和Salakhutdinoy等最早提出將無監督深度自編碼方法應用于DBN模型的預訓練[4]。他們利用該方法在僅有60 000個訓練樣本的美國國家標準技術研究所修正(MNIST)數據庫上成功實現了圖像的識別和降維(編碼)任務。此外,Nair和Hinton提出了一種改進的DBN,該DBN的頂層使用了一個三階的RBM [12]。當這種DBN被應用于NORB數據庫(一個三維目標識別任務數據庫)上時,其錯誤率幾乎下降到了目前所公布的最低水平,這再次表明了DBN在很大程度上是優于類SVM這樣的淺層模型。隨后,還出現一些對DBN的改進文獻。其他的一些無監督深度特征學習方法還包括稀疏自編碼器及基于深度稀疏編碼的模型等[13]。
3.2 有監督特征學習和分類
CNN是一種受到廣泛關注的有監督深度學習結構。有監督CNN結構獲得廣泛關注始于2012年10月ImageNet競賽,這主要是由于大量的有標簽樣本及高性能GPU計算平臺的出現使得大規模CNN的高效訓練成為可能。圖1給出了文獻[14]中所描述的CNN的基本結構。為了實現典型圖像像素的空間位置相對不變性這一特點,CNN使用了一個帶有局部連接和共享權值的卷積層,該層的輸出通過一個非線性激活函數來獲得激活響應,接著通過一個非線性池化層來減小數據量,最后再將池化層的輸出連接到若干個全連接層。這種結構也常被稱作深度卷積神經網絡。
CNN在2012年的ImageNet競賽中取得了矚目的成績。在該次比賽中,使用深度CNN進行建模的方法獲得了前所未有的低錯誤率。該深度CNN模型包含6千萬個權值,65萬個神經元節點以及結合5個卷積層的最大池化層。此外,兩個全連接層也被用于這個CNN模型的最頂層。另外,還有兩個額外的因素也起到了很重要的作用:首先,是一個稱為“dropout”[15]的強大的正則化技術;第二個重要因素是通過激活函數f(x)=max(x,0)所實現的整流線性單元(ReLU)的應用,使得整個訓練過程的效率被極大地提高,尤其是通過GPU并行運算實現后取得的效果更加明顯。其后,基于更大規模的模型以及更多的訓練數據,CNN得到了進一步的改進。不少深度CNN模型和方法的強大學習能力在各年的ImageNet競賽上得到了驗證。
深度CNN已被證明在圖像目標識別任務中具有卓越的分類性能,關于其機理也逐漸有了一些解釋,如Zeiler等利用基于反卷積網絡的可視化技術對CNN的機理進行了一些討論[16]。圖2示意了反卷積機理,該反卷積網絡通過CNN中相應前饋計算的相反連續操作,其中包括反池化、校正和濾波,使得特征圖譜之上的活動得以重建。在實現反池化的過程中,最大池化操作的非可逆性通過近似逆向逼近的方法得以解決。
除了深度CNN結構外,DNN結構也在大量的計算機視覺任務上獲得了成功[17-19]。目前,基于深度CNN結構的有監督學習模式及其相關的分類技術已在相關研究領域產生很大影響,這尤其體現在2012—2013年的ImageNet比賽中。這些方法不僅可以用于圖像目標識別任務,同樣還可以應用于其他一些計算機視覺的任務中。當然,關于CNN深度學習方法的機理及其局限性等,仍有很多問題需要探討。
4 結論及展望
深度學習作為當前機器學習領域最熱門的技術之一,已經在不少領域獲得了應用,并且展現出巨大的前景。根據網絡結構的不同,它大致可以分為無監督、有監督和混合神經網絡3種類別。作為一種從本質上來說是分層非線性結構的深度模型,它所構建和學習的深層特征表示無疑極大地提升了傳統淺層模型的泛化能力;但是隨之而來的明顯非凸的優化目標形式卻長期困擾著該領域的研究者,如其導致的局部最優化等問題,阻礙著基于梯度的BP算法的有效實施。得益于無監督預訓練方法對優化初始點的改善,該問題有了一些經驗性且行之有效的解決方案。雖然該類方法缺乏穩固的理論基礎,卻成功促成了深度學習方法在學術界和工業界的大規模成功應用。通過最近的研究發現,現有深度架構在優化技術等方面存在著巨大的提升空間[7,10,20-23]。
另一方面,如果訓練數據集足夠大,理論上來講,模型的泛化能力將會得到較大的提升,那么通過深度置信網絡等預訓練方法所帶來的良好優化初始點的重要性必然會顯著降低。然而,要實施針對大規模數據集的應用,強大的計算能力是必不可少的。當前來看,有效且可拓展的并行算法是訓練龐大數據集的關鍵所在。然而,常用的基于mini-batch的梯度下降技術很難并行實現。最近出現的異步梯度下降等技術為這一領域相關問題的解決帶來了一些新思路,并在CPU集群[7,13]和GPU集群[24]中得到了初步的實現。未來,對于并行學習和新型的大規模優化算法仍需要進行有針對性的理論研究。
目前,阻礙深度模型發展的另一主要問題在于超參數的合理選擇。眾所周知,基于神經網絡的深度學習技術有著數量眾多且自由度極大的超參數,如網絡架構的層數以及每層的單元數、正則化強度、學習速率以及學習速率衰減率等。基于傳統的網格搜索等技術的解決方案無論從效率還是成本的角度上來講對于超參數的設定都是不可行的。此外,不同的超參數之間通常存在著相互依賴性,且微調代價巨大。這些問題決定了我們需要開展進一步的研究來探索更有效的解決方案。令人欣慰的是,近來以隨機采樣[25]和貝葉斯優化過程[26]為代表的方法給我們帶來了一些新思路。雖然一些經驗性的超參數設置即可在一定程度反映出深層結構所具有的強大泛化能力,但是超參數的最優化配置在對一些特定應用方面進一步提高深度模型性能上仍具有很大的研究價值。
領域知識的應用是深度學習方法成功的另一大關鍵因素。根據不同任務的特點設計不同的不變性特征提取方法以及正則化方法等是當前所流行的一種應用方式。研究者們也在基于域適應的遷移學習對于深度學習的輔助作用方面進行了一些研究,但是能夠普遍適用于各類分類任務的深度學習技術仍然是不存在的,例如:當前較為通用的生成式預訓練伴隨判別式微調的學習策略在一些特定的任務(如語音識別)中表現并不理想。因此,更加有效的域適應技術和新型的通用學習架構對于圖像處理等領域中的一些較為復雜的問題而言是極其重要的。
深度學習理論還有其他一些方面的基礎性理論問題值得關注,例如:如何通過關注數據變化中潛在因素的分布式表示問題來設計更合理的深度學習架構,進而提取更高效的特征表示;在深度結構的輸入輸出表示中同時引入結構信息[27-29],使得大多數傳統的深度學習技術只能用于“扁平結構”表示的缺陷得到改善。最后,為了實現理想中的“強人工智能”,從而實現具備類似人類大腦水平的智慧,傳統的以信號處理和機器學習為主要技術基礎的人工智能研究應更多地尋求同神經計算等領域的合作,通過借助于前沿生物領域對人類大腦分層結構的最新研究成果來改善當前的系統計算模型。
參考文獻
[1] BENGIO Y. Learning Deep Architectures for AI [J]. Foundations and Trends? in Machine Learning, 2009, 2(1):1-127. DOI: 10.1561/2200000006
[2] HINTON G E, OSINDRO S, TEH Y. A Fast Learning Algorithm for Deep Belief Nets[J]. Neural Computation, 2006,18(7):1527-1554. DOI: 10.1162/neco.2006.18.7.1527
[3] HINTON G E, SALAKHUTDINOV R R. Reducing the Dimensionality of Data with Neural Networks[J]. science, 2006,313(5786):504-507. DOI: 10.1126/science.1127647
[4] BOTTOU L, CUN Y L. Large Scale online Learning[C]//Advances in Neural Information Processing Systems. USA: NIPS, 2004
[5] DEAN J, CORRADO G, MONGA R, et al. Large Scale Distributed Deep Networks[C]//Advances in Neural Information Processing Systems. USA: NIPS, 2004
[6] CHEN X, EVERSOLE A, LI G, et al. Pipelined Back-Propagation for Context-Dependent Deep Neural Networks[C]//Interspeech 2012. USA: IEEE,2012. DOI: 10.1.1.649.218
[7] MARTENS J. Deep Learning via Hessian-Free Optimization[C]//Proceedings of the 27th International Conference on Machine Learning (ICML-10).USA:IEEE, 2010. DOI: 10.1.1.170.2846
[8] VINCENT. Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion[J]. Journal of Machine Learning Research, 11(Dec): 3371-3408. DOI: 10.1561/2200000006
[9] BOUREAU Y, CUN Y L. Sparse Feature Learning for Deep Belief Networks[C]//Advances in Neural Information Processing Systems. USA: NIPS, 2008
[10] BENGIO Y. Greedy Layer-Wise Training of Deep Networks[C]//Advances in Neural Information Processing Systems.USA: NIPS, 2007:153
[11] YU K, LIN Y. Learning Image Representations from the Pixel Level via Hierarchical Sparse Coding[C]//2011 IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2011. DOI: 10.1109/CVPR.2011.5995732
[12] MNIH V, KAVUKCUOGLU, SILVER D, et al, Playing Atari with Deep Reinforcement Learning[EB/OL].(2017-05-22). https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
[13] LE Q V. Building High-Level Features Using Large Scale Unsupervised Learning[C]//2013 IEEE International Conference on Acoustics, Speech and Signal Processing. USA: IEEE, 2013. DOI: 10.1109/ICASSP.2013.6639343
[14] LE C Y. Gradient-Based Learning Applied to Document Recognition[J]. Proceedings of the IEEE, 1998. 86(11): 2278-2324. DOI: 10.1109/5.726791
[15] HINTON G E, SRIVASTAVA N, KRIZHEVSKY, et al, Improving Neural Networks by Preventing Co-Adaptation of Feature Detectors[EB/OL].(2017-05-22). https://arxiv.org/pdf/1207.0580.pdf
[16] ZEILER M D, FERGUS R. Visualizing and Understanding Convolutional Networks[C]//European Conference on Computer Vision. EU: Springer, 2014
[17] CIRESAN D C. Deep, Big, Simple Neural Nets for Handwritten Digit Recognition[J]. Neural Computation, 2010, 22(12): 3207-3220. DOI: 10.1162/NECO_a_00052
[18] CIRESAN D. Deep Neural Networks Segment Neuronal Membranes in Electron Microscopy Images[C]//Advances in Neural Information Processing Systems. USA: NIPS, 2012
[19] CIREGAN D and MEIER U. Multi-Column Deep Neural Networks for Image Classification[C]//2012 IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2012. DOI:10.1.1.367.484
[20] MARTENS J, SUTSKEVER I. Learning Recurrent Neural Networks with Hessian-Free Optimization[C]//The 28th International Conference on Machine Learning. USA: IEEE, 2011
[21] LE V Q, NGUAN J, COATES A, et al. On Optimization Methods for Deep Learning[C]//The 28th International Conference on Machine Learning. USA: IEEE, 2011
[22] SAINATH T N. Optimization Techniques to Improve Training Speed of Deep Neural Networks for Large Speech Tasks[J]. IEEE Transactions on Audio, Speech, and Language Processing, 21(11): 2267-2276. DOI: 10.1109/TASL.2013.2284378
[23] WRIGHT S J. Optimization Algorithms and Applications for Speech and Language Processing[J]. IEEE Transactions on Audio, Speech, and Language Processing, 2013, 21(11): 2231-2243. DOI: 10.1109/TASL.2013.2283777
[24] COATES A, HUVAL B, WANG T, et al. Deep Learning with COTS HPC Systems[C]//International Conference on Machine Learning. USA: IEEE, 2013
[25] BERGSTRA J, BENGIO Y. Random Search for Hyper-Parameter Optimization [J]. Journal of Machine Learning Research, 2012, 13: 281-305. DOI: 10.2307/1268522
[26] SNOEK J, LAROCHELLE H, ADAMS P R. Practical Bayesian Optimization of Machine Learning Algorithms[C]//Advances in Neural Information Processing Systems. USA: IEEE, 2012
[27] SOCHER R. New Directions in Deep Learning: Structured Models, Tasks, and Datasets[C]//Neural Information Processing Systems. USA: NIPS, 2012
[28] DENG L. Design and Learning of Output Representations for Speech Recognition[C]//Neural Information Processing Systems. USA: NIPS, 2013
[29] SRIVASTAVA N, SALAKHUTDINOV R R. Discriminative Transfer Learning with Tree-Based Priors[C]//Advances in Neural Information Processing Systems. USA: NIPS, 2013