這篇文章主要是為了對深度學(xué)習(xí)(DeepLearning)有個初步了解,算是一個科普文吧,文章中去除了復(fù)雜的公式和圖表,主要內(nèi)容包括深度學(xué)習(xí)概念、國內(nèi)外研究現(xiàn)狀、深度學(xué)習(xí)模型結(jié)構(gòu)、深度學(xué)習(xí)訓(xùn)練算法、深度學(xué)習(xí)的優(yōu)點、深度學(xué)習(xí)已有的應(yīng)用、深度學(xué)習(xí)存在的問題及未來研究方向、深度學(xué)習(xí)開源軟件。
一、 深度學(xué)習(xí)概念
深度學(xué)習(xí)(Deep Learning, DL)由Hinton等人于2006年提出,是機(jī)器學(xué)習(xí)(MachineLearning, ML)的一個新領(lǐng)域。
深度學(xué)習(xí)被引入機(jī)器學(xué)習(xí)使其更接近于最初的目標(biāo)----人工智能(AI,Artificial Intelligence)。深度學(xué)習(xí)是學(xué)習(xí)樣本數(shù)據(jù)的內(nèi)在規(guī)律和表示層次,這些學(xué)習(xí)過程中獲得的信息對諸如文字、圖像和聲音等數(shù)據(jù)的解釋有很大的幫助。它的最終目標(biāo)是讓機(jī)器能夠像人一樣具有分析學(xué)習(xí)能力,能夠識別文字、圖像和聲音等數(shù)據(jù)。
深度學(xué)習(xí)是一個復(fù)雜的機(jī)器學(xué)習(xí)算法,在語言和圖像識別方面取得的效果,遠(yuǎn)遠(yuǎn)超過先前相關(guān)技術(shù)。它在搜索技術(shù)、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、機(jī)器翻譯、自然語言處理、多媒體學(xué)習(xí)、語音、推薦和個性化技術(shù),以及其它相關(guān)領(lǐng)域都取得了很多成果。深度學(xué)習(xí)使機(jī)器模仿視聽和思考等人類的活動,解決了很多復(fù)雜的模式識別難題,使得人工智能相關(guān)技術(shù)取得了很大進(jìn)步。
2006年,機(jī)器學(xué)習(xí)大師、多倫多大學(xué)教授Geoffrey Hinton及其學(xué)生Ruslan發(fā)表在世界頂級學(xué)術(shù)期刊《科學(xué)》上的一篇論文引發(fā)了深度學(xué)習(xí)在研究領(lǐng)域和應(yīng)用領(lǐng)域的發(fā)展熱潮。這篇文獻(xiàn)提出了兩個主要觀點:(1)、多層人工神經(jīng)網(wǎng)絡(luò)模型有很強(qiáng)的特征學(xué)習(xí)能力,深度學(xué)習(xí)模型學(xué)習(xí)得到的特征數(shù)據(jù)對原數(shù)據(jù)有更本質(zhì)的代表性,這將大大便于分類和可視化問題;(2)、對于深度神經(jīng)網(wǎng)絡(luò)很難訓(xùn)練達(dá)到最優(yōu)的問題,可以采用逐層訓(xùn)練方法解決。將上層訓(xùn)練好的結(jié)果作為下層訓(xùn)練過程中的初始化參數(shù)。在這一文獻(xiàn)中深度模型的訓(xùn)練過程中逐層初始化采用無監(jiān)督學(xué)習(xí)方式。
2010年,深度學(xué)習(xí)項目首次獲得來自美國國防部門DARPA計劃的資助,參與方有美國NEC研究院、紐約大學(xué)和斯坦福大學(xué)。自2011年起,谷歌和微軟研究院的語音識別方向研究專家先后采用深度神經(jīng)網(wǎng)絡(luò)技術(shù)將語音識別的錯誤率降低20%-30%,這是長期以來語音識別研究領(lǐng)域取得的重大突破。2012年,深度神經(jīng)網(wǎng)絡(luò)在圖像識別應(yīng)用方面也獲得重大進(jìn)展,在ImageNet評測問題中將原來的錯誤率降低了9%。同年,制藥公司將深度神經(jīng)網(wǎng)絡(luò)應(yīng)用于藥物活性預(yù)測問題取得世界范圍內(nèi)最好結(jié)果。2012年6月,Andrew NG帶領(lǐng)的科學(xué)家們在谷歌神秘的X實驗室創(chuàng)建了一個有16000個處理器的大規(guī)模神經(jīng)網(wǎng)絡(luò),包含數(shù)十億個網(wǎng)絡(luò)節(jié)點,讓這個神經(jīng)網(wǎng)絡(luò)處理大量隨機(jī)選擇的視頻片段。經(jīng)過充分的訓(xùn)練以后,機(jī)器系統(tǒng)開始學(xué)會自動識別貓的圖像。這是深度學(xué)習(xí)領(lǐng)域最著名的案例之一,引起各界極大的關(guān)注。
深度學(xué)習(xí)本質(zhì)上是構(gòu)建含有多隱層的機(jī)器學(xué)習(xí)架構(gòu)模型,通過大規(guī)模數(shù)據(jù)進(jìn)行訓(xùn)練,得到大量更具代表性的特征信息。從而對樣本進(jìn)行分類和預(yù)測,提高分類和預(yù)測的精度。這個過程是通過深度學(xué)習(xí)模型的手段達(dá)到特征學(xué)習(xí)的目的。深度學(xué)習(xí)模型和傳統(tǒng)淺層學(xué)習(xí)模型的區(qū)別在于:(1)、深度學(xué)習(xí)模型結(jié)構(gòu)含有更多的層次,包含隱層節(jié)點的層數(shù)通常在5層以上,有時甚至包含多達(dá)10層以上的隱藏節(jié)點;(2)、明確強(qiáng)調(diào)了特征學(xué)習(xí)對于深度模型的重要性,即通過逐層特征提取,將數(shù)據(jù)樣本在原空間的特征變換到一個新的特征空間來表示初始數(shù)據(jù),這使得分類或預(yù)測問題更加容易實現(xiàn)。和人工設(shè)計的特征提取方法相比,利用深度模型學(xué)習(xí)得到的數(shù)據(jù)特征對大數(shù)據(jù)的豐富內(nèi)在信息更有代表性。
在統(tǒng)計機(jī)器學(xué)習(xí)領(lǐng)域,值得關(guān)注的問題是如何對輸入樣本進(jìn)行特征空間的選擇。例如對行人檢測問題,需要尋找表現(xiàn)人體不同特點的特征向量。一般來說,當(dāng)輸入空間中的原始數(shù)據(jù)不能被直接分開時,則將其映射到一個線性可分的間接特征空間。而此間接空間通??捎?種方式獲得:定義核函數(shù)映射到高維線性可分空間,如支持向量機(jī)(support vector machine,SVM)、手工編碼或自動學(xué)習(xí)。前2種方式對專業(yè)知識要求很高,且耗費(fèi)大量的計算資源,不適合高維輸入空間。而第3種方式利用帶多層非線性處理能力的深度學(xué)習(xí)結(jié)構(gòu)進(jìn)行自動學(xué)習(xí),經(jīng)實際驗證被普遍認(rèn)為具有重要意義與價值。深度學(xué)習(xí)結(jié)構(gòu)相對于淺層學(xué)習(xí)結(jié)構(gòu)[如SVM、人工神經(jīng)網(wǎng)絡(luò)(artificial neural networks,ANN),能夠用更少的參數(shù)逼近高度非線性函數(shù)。
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)域一個新的研究方向,近年來在語音識別、計算機(jī)視覺等多類應(yīng)用中取得突破性的進(jìn)展。其動機(jī)在于建立模型模擬人類大腦的神經(jīng)連接結(jié)構(gòu),在處理圖像、聲音和文本這些信號時,通過多個變換階段分層對數(shù)據(jù)特征進(jìn)行描述,進(jìn)而給出數(shù)據(jù)的解釋。以圖像數(shù)據(jù)為例,靈長類的視覺系統(tǒng)中對這類信號的處理依次為:首先檢測邊緣、初始形狀、然后再逐步形成更復(fù)雜的視覺形狀,同樣地,深度學(xué)習(xí)通過組合低層特征形成更加抽象的高層表示、屬性類別或特征,給出數(shù)據(jù)的分層特征表示。
深度學(xué)習(xí)之所以被稱為“深度”,是相對支持向量機(jī)(supportvector machine, SVM)、提升方法(boosting)、最大熵方法等“淺層學(xué)習(xí)”方法而言的,深度學(xué)習(xí)所學(xué)得的模型中,非線性操作的層級數(shù)更多。淺層學(xué)習(xí)依靠人工經(jīng)驗抽取樣本特征,網(wǎng)絡(luò)模型學(xué)習(xí)后獲得的是沒有層次結(jié)構(gòu)的單層特征;而深度學(xué)習(xí)通過對原始信號進(jìn)行逐層特征變換,將樣本在原空間的特征表示變換到新的特征空間,自動地學(xué)習(xí)得到層次化的特征表示,從而更有利于分類或特征的可視化。深度學(xué)習(xí)理論的另外一個理論動機(jī)是:如果一個函數(shù)可用k層結(jié)構(gòu)以簡潔的形式表達(dá),那么用k-1層的結(jié)構(gòu)表達(dá)則可能需要指數(shù)級數(shù)量的參數(shù)(相對于輸入信號),且泛化能力不足。
深度學(xué)習(xí)算法打破了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)對層數(shù)的限制,可根據(jù)設(shè)計者需要選擇網(wǎng)絡(luò)層數(shù)。它的訓(xùn)練方法與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)相比有很大區(qū)別,傳統(tǒng)神經(jīng)網(wǎng)絡(luò)隨機(jī)設(shè)定參數(shù)初始值,采用BP算法利用梯度下降算法訓(xùn)練網(wǎng)絡(luò),直至收斂。但深度結(jié)構(gòu)訓(xùn)練很困難,傳統(tǒng)對淺層有效的方法對于深度結(jié)構(gòu)并無太大作用,隨機(jī)初始化權(quán)值極易使目標(biāo)函數(shù)收斂到局部極小值,且由于層數(shù)較多,殘差向前傳播會丟失嚴(yán)重,導(dǎo)致梯度擴(kuò)散,因此深度學(xué)習(xí)過程中采用貪婪無監(jiān)督逐層訓(xùn)練方法。即在一個深度學(xué)習(xí)設(shè)計中,每層被分開對待并以一種貪婪方式進(jìn)行訓(xùn)練,當(dāng)前一層訓(xùn)練完后,新的一層將前一層的輸出作為輸入并編碼以用于訓(xùn)練;最后每層參數(shù)訓(xùn)練完后,在整個網(wǎng)絡(luò)中利用有監(jiān)督學(xué)習(xí)進(jìn)行參數(shù)微調(diào)。
深度學(xué)習(xí)的概念最早由多倫多大學(xué)的G. E.Hinton等于2006年提出,基于樣本數(shù)據(jù)通過一定的訓(xùn)練方法得到包含多個層級的深度網(wǎng)絡(luò)結(jié)構(gòu)的機(jī)器學(xué)習(xí)過程。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)隨機(jī)初始化網(wǎng)絡(luò)中的權(quán)值,導(dǎo)致網(wǎng)絡(luò)很容易收斂到局部最小值,為解決這一問題,Hinton提出使用無監(jiān)督預(yù)訓(xùn)練方法優(yōu)化網(wǎng)絡(luò)權(quán)值的初值,再進(jìn)行權(quán)值微調(diào)的方法,拉開了深度學(xué)習(xí)的序幕。
深度學(xué)習(xí)所得到的深度網(wǎng)絡(luò)結(jié)構(gòu)包含大量的單一元素(神經(jīng)元),每個神經(jīng)元與大量其他神經(jīng)元相連接,神經(jīng)元間的連接強(qiáng)度(權(quán)值)在學(xué)習(xí)過程中修改并決定網(wǎng)絡(luò)的功能。通過深度學(xué)習(xí)得到的深度網(wǎng)絡(luò)結(jié)構(gòu)符合神經(jīng)網(wǎng)絡(luò)的特征,因此深度網(wǎng)絡(luò)就是深層次的神經(jīng)網(wǎng)絡(luò),即深度神經(jīng)網(wǎng)絡(luò)(deep neural networks, DNN)。
深度學(xué)習(xí)的概念起源于人工神經(jīng)網(wǎng)絡(luò)的研究,有多個隱層的多層感知器是深度學(xué)習(xí)模型的一個很好的范例。對神經(jīng)網(wǎng)絡(luò)而言,深度指的是網(wǎng)絡(luò)學(xué)習(xí)得到的函數(shù)中非線性運(yùn)算組合水平的數(shù)量。當(dāng)前神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法多是針對較低水平的網(wǎng)絡(luò)結(jié)構(gòu),將這種網(wǎng)絡(luò)稱為淺結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò),如一個輸入層、一個隱層和一個輸出層的神經(jīng)網(wǎng)絡(luò);與此相反,將非線性運(yùn)算組合水平較高的網(wǎng)絡(luò)稱為深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò),如一個輸入層、三個隱層和一個輸出層的神經(jīng)網(wǎng)絡(luò)。
深度學(xué)習(xí)的基本思想:假設(shè)有系統(tǒng)S,它有n層(S1,…,Sn),輸入為I,輸出為O,可形象的表示為:I=》S1=》S2=》… =》Sn=》O。為了使輸出O盡可能的接近輸入I,可以通過調(diào)整系統(tǒng)中的參數(shù),這樣就可以得到輸入I的一系列層次特征S1,S2,…,Sn。對于堆疊的多個層,其中一層的輸出作為其下一層的輸入,以實現(xiàn)對輸入數(shù)據(jù)的分級表達(dá),這就是深度學(xué)習(xí)的基本思想。
二、 國內(nèi)外研究現(xiàn)狀
深度學(xué)習(xí)極大地促進(jìn)了機(jī)器學(xué)習(xí)的發(fā)展,受到世界各國相關(guān)領(lǐng)域研究人員和高科技公司的重視,語音、圖像和自然語言處理是深度學(xué)習(xí)算法應(yīng)用最廣泛的三個主要研究領(lǐng)域:
1、深度學(xué)習(xí)在語音識別領(lǐng)域研究現(xiàn)狀
長期以來,語音識別系統(tǒng)大多是采用混合高斯模型(GMM)來描述每個建模單元的統(tǒng)計概率模型。由于這種模型估計簡單,方便使用大規(guī)模數(shù)據(jù)對其訓(xùn)練,該模型有較好的區(qū)分度訓(xùn)練算法保證了該模型能夠被很好的訓(xùn)練。在很長時間內(nèi)占據(jù)了語音識別應(yīng)用領(lǐng)域主導(dǎo)性地位。但是這種混合高斯模型實質(zhì)上是一種淺層學(xué)習(xí)網(wǎng)絡(luò)建模,特征的狀態(tài)空間分布不能夠被充分描述。而且,使用混合高斯模型建模方式數(shù)據(jù)的特征維數(shù)通常只有幾十維,這使得特征之間的相關(guān)性不能被充分描述。最后混合高斯模型建模實質(zhì)上是一種似然概率建模方式,即使一些模式分類之間的區(qū)分性能夠通過區(qū)分度訓(xùn)練模擬得到,但是效果有限。
從2009年開始,微軟亞洲研究院的語音識別專家們和深度學(xué)習(xí)領(lǐng)軍人物Hinton取得合作。2011年微軟公司推出了基于深度神經(jīng)網(wǎng)絡(luò)的語音識別系統(tǒng),這一成果將語音識別領(lǐng)域已有的技術(shù)框架完全改變。采用深度神經(jīng)網(wǎng)絡(luò)后,樣本數(shù)據(jù)特征間相關(guān)性信息得以充分表示,將連續(xù)的特征信息結(jié)合構(gòu)成高維特征,通過高維特征樣本對深度神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。由于深度神經(jīng)網(wǎng)絡(luò)采用了模擬人腦神經(jīng)架構(gòu),通過逐層地進(jìn)行數(shù)據(jù)特征提取,最終得到適合進(jìn)行模式分類處理的理想特征。深度神經(jīng)網(wǎng)絡(luò)建模技術(shù),在實際線上應(yīng)用時,能夠很好地和傳統(tǒng)語音識別技術(shù)結(jié)合,語音識別系統(tǒng)識別率大幅提升。
國際上,谷歌也使用深層神經(jīng)網(wǎng)絡(luò)對聲音進(jìn)行建模,是最早在深度神經(jīng)網(wǎng)絡(luò)的工業(yè)化應(yīng)用領(lǐng)域取得突破的企業(yè)之一。但谷歌的產(chǎn)品中使用的深度神經(jīng)網(wǎng)絡(luò)架構(gòu)只有4、5層,與之相比百度使用的深度神經(jīng)網(wǎng)絡(luò)架構(gòu)多達(dá)9層,正是這種結(jié)構(gòu)上的差別使深度神經(jīng)網(wǎng)絡(luò)在線學(xué)習(xí)的計算難題得以更好的解決。這使得百度的線上產(chǎn)品能夠采用更加復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型。這種結(jié)構(gòu)差異的核心其實是百度更好地解決了深度神經(jīng)網(wǎng)絡(luò)在線計算的技術(shù)難題,因此百度線上產(chǎn)品可以采用更復(fù)雜的網(wǎng)絡(luò)模型。這對將來拓展大規(guī)模語料數(shù)據(jù)對深度神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練有更大的幫助。
2、深度學(xué)習(xí)在圖像識別領(lǐng)域研究現(xiàn)狀
對于圖像的處理是深度學(xué)習(xí)算法最早嘗試應(yīng)用的領(lǐng)域。早在1989年,加拿大多倫多大學(xué)教授Yann LeCun就和他的同事們一起提出了卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks)。卷積神經(jīng)網(wǎng)絡(luò)也稱為CNN,它是一種包含卷積層的深度神經(jīng)網(wǎng)絡(luò)模型。通常一個卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)包含兩個可以通過訓(xùn)練產(chǎn)生的非線性卷積層,兩個固定的子采樣層和一個全連接層,隱藏層的數(shù)量一般至少在5個以上。CNN的架構(gòu)設(shè)計是受到生物學(xué)家Hubel和Wiesel的動物視覺模型啟發(fā)而發(fā)明的,尤其是模擬動物視覺皮層V1層和V2層中簡單細(xì)胞(Simple Cell)和復(fù)雜細(xì)胞(Complex Cell)在視覺系統(tǒng)的功能。起初卷積神經(jīng)網(wǎng)絡(luò)在小規(guī)模的應(yīng)用問題上取得了當(dāng)時世界最好成果。但在很長一段時間里一直沒有取得重大突破。主要原因是由于卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用在大尺寸圖像上一直不能取得理想結(jié)果,比如對于像素數(shù)很大的自然圖像內(nèi)容的理解,這使得它沒有引起計算機(jī)視覺研究領(lǐng)域足夠的重視。直到2012年10月,Hinton教授以及他的兩個學(xué)生采用更深的卷積神經(jīng)網(wǎng)絡(luò)模型在著名的ImageNet問題上取得了世界最好成果,使得對于圖像識別的研究工作前進(jìn)了一大步。Hinton構(gòu)建的深度神經(jīng)網(wǎng)絡(luò)模型是使用原始的自然圖像訓(xùn)練的,沒有使用任何人工特征提取方法。
自卷積神經(jīng)網(wǎng)絡(luò)提出以來,在圖像識別問題上并沒有取得質(zhì)的提升和突破,直到2012年Hinton構(gòu)建的深度神經(jīng)網(wǎng)絡(luò)才取得驚人成果。這主要是因為對算法的改進(jìn),在網(wǎng)絡(luò)的訓(xùn)練中引入了權(quán)重衰減的概念,有效的減小權(quán)重幅度,防止網(wǎng)絡(luò)過擬合。更關(guān)鍵的是計算機(jī)計算能力的提升,GPU加速技術(shù)的發(fā)展,這使得在訓(xùn)練過程中可以產(chǎn)生更多的訓(xùn)練數(shù)據(jù),使網(wǎng)絡(luò)能夠更好的擬合訓(xùn)練樣本。2012年國內(nèi)互聯(lián)網(wǎng)巨頭百度公司將相關(guān)最新技術(shù)成功應(yīng)用到人臉識別和自然圖像識別問題,并推出了相應(yīng)的產(chǎn)品?,F(xiàn)在深度學(xué)習(xí)網(wǎng)絡(luò)模型已能夠理解和識別一般的自然圖像。深度學(xué)習(xí)模型不僅大幅提高了圖像識別的精度,同時也避免了需要消耗大量的時間進(jìn)行人工特征提取的工作,使得在線運(yùn)算效率大大提升。深度學(xué)習(xí)將有可能取代以往人工和機(jī)器學(xué)習(xí)相結(jié)合的方式成為主流圖像識別技術(shù)。
3、深度學(xué)習(xí)在自然語言處理領(lǐng)域研究現(xiàn)狀
自然語言處理(NLP)問題是深度學(xué)習(xí)在除了語音和圖像處理之外的另一個重要應(yīng)用領(lǐng)域。數(shù)十年以來,自然語言處理的主流方法是基于統(tǒng)計的模型,人工神經(jīng)網(wǎng)絡(luò)也是基于統(tǒng)計方法模型之一,但在自然語言處理領(lǐng)域卻一直沒有被重視。語言建模是最早采用神經(jīng)網(wǎng)絡(luò)進(jìn)行自然語言處理的問題。美國的NEC研究院最早將深度學(xué)習(xí)引入到自然語言處理研究工作中,其研究人員從2008年起采用將詞匯映射到一維矢量空間方法和多層一維卷積結(jié)構(gòu)去解決詞性標(biāo)注、分詞、命名實體識別和語義角色標(biāo)注四個典型的自然語言處理問題。他們構(gòu)建了同一個網(wǎng)絡(luò)模型用于解決四個不同問題,都取得了相當(dāng)精確的結(jié)果??傮w而言,深度學(xué)習(xí)在自然語言處理問題上取得的成果和在圖像語音識別方面還有相當(dāng)?shù)牟罹?,仍有待深入探索?/p>
由于深度學(xué)習(xí)能夠很好地解決一些復(fù)雜問題,近年來許多研究人員對其進(jìn)行了深人研究,出現(xiàn)了許多有關(guān)深度學(xué)習(xí)研究的新進(jìn)展。下面分別從初始化方法、網(wǎng)絡(luò)層數(shù)和激活函數(shù)的選擇、模型結(jié)構(gòu)兩個個方面對近幾年深度學(xué)習(xí)研究的新進(jìn)展進(jìn)行介紹。
1、 初始化方法、網(wǎng)絡(luò)層數(shù)和激活函數(shù)的選擇
研究人員試圖搞清網(wǎng)絡(luò)初始值的設(shè)定與學(xué)習(xí)結(jié)果之間的關(guān)系。Erhan等人在軌跡可視化研究中指出即使從相近的值開始訓(xùn)練深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò),不同的初始值也會學(xué)習(xí)到不同的局部極值,同時發(fā)現(xiàn)用無監(jiān)督預(yù)訓(xùn)練初始化模型的參數(shù)學(xué)習(xí)得到的極值與隨機(jī)初始化學(xué)習(xí)得到的極值差異比較大,用無監(jiān)督預(yù)訓(xùn)練初始化模型的參數(shù)學(xué)習(xí)得到的模型具有更好的泛化誤差。Bengio與Krueger等人指出用特定的方法設(shè)定訓(xùn)練樣例的初始分布和排列順序可以產(chǎn)生更好的訓(xùn)練結(jié)果,用特定的方法初始化參數(shù),使其與均勻采樣得到的參數(shù)不同,會對梯度下降算法訓(xùn)練的結(jié)果產(chǎn)生很大的影響。Glorot等人指出通過設(shè)定一組初始權(quán)值使得每一層深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的Jacobian矩陣的奇異值接近1,在很大程度上減小了監(jiān)督深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)和有預(yù)訓(xùn)練過程設(shè)定初值的深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)之間的學(xué)習(xí)結(jié)果差異。另外,用于深度學(xué)習(xí)的學(xué)習(xí)算法通常包含許多超參數(shù),一些常用的超參數(shù),尤其適用于基于反向傳播的學(xué)習(xí)算法和基于梯度的優(yōu)化算法。
選擇不同的網(wǎng)絡(luò)隱層數(shù)和不同的非線性激活函數(shù)會對學(xué)習(xí)結(jié)果產(chǎn)生不同的影響。Glorot等人研究了隱層非線性映射關(guān)系的選擇和網(wǎng)絡(luò)的深度相互影響的問題,討論了隨機(jī)初始化的標(biāo)準(zhǔn)梯度下降算法用于深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)得到不好的學(xué)習(xí)性能的原因。Glorot等人觀察不同非線性激活函數(shù)對學(xué)習(xí)結(jié)果的影響,得到邏輯斯蒂S型激活單元的均值會驅(qū)使頂層和隱層進(jìn)入飽和,因而邏輯斯蒂S型激活單元不適合用隨機(jī)初始化梯度算法學(xué)習(xí)深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò);并據(jù)此提出了標(biāo)準(zhǔn)梯度下降算法的一種新的初始化方案來得到更快的收斂速度。Bengio等人從理論上說明深度學(xué)習(xí)結(jié)構(gòu)的表示能力隨著神經(jīng)網(wǎng)絡(luò)深度的增加以指數(shù)的形式增加,但是這種增加的額外表示能力會引起相應(yīng)局部極值數(shù)量的增加,使得在其中尋找最優(yōu)值變得困難。
2、 模型結(jié)構(gòu)
(1)、DBN的結(jié)構(gòu)及其變種:采用二值可見單元和隱單元RBM作為結(jié)構(gòu)單元的DBN,在MNIST等數(shù)據(jù)集上表現(xiàn)出很好的性能。近幾年,具有連續(xù)值單元的RBM,如mcRBM、mPoT模型和spike—and-slab RBM等已經(jīng)成功應(yīng)用。Spike—and—slab RBM中spike表示以0為中心的離散概率分布,slab表示在連續(xù)域上的稠密均勻分布,可以用吉布斯采樣對spike—and—slab RBM進(jìn)行有效推斷,得到優(yōu)越的學(xué)習(xí)性能。
?。?)、和--積網(wǎng)絡(luò);深度學(xué)習(xí)最主要的困難是配分函數(shù)的學(xué)習(xí),如何選擇深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)使得配分函數(shù)更容易計算? Poon等人提出一種新的深度模型結(jié)構(gòu)----和--積網(wǎng)絡(luò)(sum—product network,SPN),引入多層隱單元表示配分函數(shù),使得配分函數(shù)更容易計算。SPN是有根節(jié)點的有向無環(huán)圖,圖中的葉節(jié)點為變量,中間節(jié)點執(zhí)行和運(yùn)算與積運(yùn)算,連接節(jié)點的邊帶有權(quán)值,它們在Caltech-101和Olivetti兩個數(shù)據(jù)集上進(jìn)行實驗證明了SPN的性能優(yōu)于DBN和最近鄰方法。
?。?)、基于rectified單元的學(xué)習(xí):Glorot與Mesnil等人用降噪自編碼模型來處理高維輸入數(shù)據(jù)。與通常的S型和正切非線性隱單元相比,該自編碼模型使用rectified單元,使隱單元產(chǎn)生更加稀疏的表示。對于高維稀疏數(shù)據(jù),Dauphin等人采用抽樣重構(gòu)算法,訓(xùn)練過程只需要計算隨機(jī)選擇的很小的樣本子集的重構(gòu)和重構(gòu)誤差,在很大程度上提高了學(xué)習(xí)速度,實驗結(jié)果顯示提速了20倍。Glorot等人提出在深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)中,在圖像分類和情感分類問題中用rectified非線性神經(jīng)元代替雙曲正切或S型神經(jīng)元,指出rectified神經(jīng)元網(wǎng)絡(luò)在零點產(chǎn)生與雙曲正切神經(jīng)元網(wǎng)絡(luò)相當(dāng)或者有更好的性能,能夠產(chǎn)生有真正零點的稀疏表示,非常適合本質(zhì)稀疏數(shù)據(jù)的建模,在理解訓(xùn)練純粹深度監(jiān)督神經(jīng)網(wǎng)絡(luò)的困難,搞清使用或不使用無監(jiān)督預(yù)訓(xùn)練學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)造成的性能差異方面,可以看做新的里程碑;Glorot等人還提出用增加L1正則化項來促進(jìn)模型稀疏性,使用無窮大的激活函數(shù)防止算法運(yùn)行過程中可能引起的數(shù)值問題。在此之前,Nair等人提出在RBM環(huán)境中rectifed神經(jīng)元產(chǎn)生的效果比邏輯斯蒂S型激活單元好,他們用無限數(shù)量的權(quán)值相同但是負(fù)偏差變大的一組單元替換二值單元,生成用于RBM的更好的一類隱單元,將RBM泛化,可以用噪聲rectified線性單元(rectified linear units)有效近似這些S型單元。用這些單元組成的RBM在NORB數(shù)據(jù)集上進(jìn)行目標(biāo)識別以及在數(shù)據(jù)集上進(jìn)行已標(biāo)記人臉實際驗證,得到比二值單元更好的性能,并且可以更好地解決大規(guī)模像素強(qiáng)度值變化很大的問題。
?。?)、卷積神經(jīng)網(wǎng)絡(luò):研究了用生成式子抽樣單元組成的卷積神經(jīng)網(wǎng)絡(luò),在MNIST數(shù)字識別任務(wù)和Cahech一101目標(biāo)分類基準(zhǔn)任務(wù)上進(jìn)行實驗,顯示出非常好的學(xué)習(xí)性能。Huang等人提出一種新的卷積學(xué)習(xí)模型----局部卷積RBM,利用對象類中的總體結(jié)構(gòu)學(xué)習(xí)特征,不假定圖像具有平穩(wěn)特征,在實際人臉數(shù)據(jù)集上進(jìn)行實驗,得到性能很好的實驗結(jié)果。
三、 深度學(xué)習(xí)模型結(jié)構(gòu)
深度神經(jīng)網(wǎng)絡(luò)是由多個單層非線性網(wǎng)絡(luò)疊加而成的,常見的單層網(wǎng)絡(luò)按照編碼解碼情況分為3類:只包含編碼器部分、只包含解碼器部分、既有編碼器部分也有解碼器部分。編碼器提供從輸入到隱含特征空間的自底向上的映射,解碼器以重建結(jié)果盡可能接近原始輸入為目標(biāo)將隱含特征映射到輸入空間。
人的視覺系統(tǒng)對信息的處理是分級的。從低級的提取邊緣特征到形狀(或者目標(biāo)等),再到更高層的目標(biāo)、目標(biāo)的行為等,即底層特征組合成了高層特征,由低到高的特征表示越來越抽象。深度學(xué)習(xí)借鑒的這個過程就是建模的過程。
深度神經(jīng)網(wǎng)絡(luò)可以分為3類,前饋深度網(wǎng)絡(luò)(feed-forwarddeep networks, FFDN),由多個編碼器層疊加而成,如多層感知機(jī)(multi-layer perceptrons, MLP)、卷積神經(jīng)網(wǎng)絡(luò)(convolutionalneural networks, CNN)等。反饋深度網(wǎng)絡(luò)(feed-back deep networks, FBDN),由多個解碼器層疊加而成,如反卷積網(wǎng)絡(luò)(deconvolutionalnetworks, DN)、層次稀疏編碼網(wǎng)絡(luò)(hierarchical sparse coding, HSC)等。雙向深度網(wǎng)絡(luò)(bi-directionaldeep networks, BDDN),通過疊加多個編碼器層和解碼器層構(gòu)成(每層可能是單獨(dú)的編碼過程或解碼過程,也可能既包含編碼過程也包含解碼過程),如深度玻爾茲曼機(jī)(deep Boltzmann machines, DBM)、深度信念網(wǎng)絡(luò)(deep beliefnetworks, DBN)、棧式自編碼器(stacked auto-encoders, SAE)等。
1、 前潰深度網(wǎng)絡(luò)
前饋神經(jīng)網(wǎng)絡(luò)是最初的人工神經(jīng)網(wǎng)絡(luò)模型之一。在這種網(wǎng)絡(luò)中,信息只沿一個方向流動,從輸入單元通過一個或多個隱層到達(dá)輸出單元,在網(wǎng)絡(luò)中沒有封閉環(huán)路。典型的前饋神經(jīng)網(wǎng)絡(luò)有多層感知機(jī)和卷積神經(jīng)網(wǎng)絡(luò)等。F. Rosenblatt提出的感知機(jī)是最簡單的單層前向人工神經(jīng)網(wǎng)絡(luò),但隨后M. Minsky等證明單層感知機(jī)無法解決線性不可分問題(如異或操作),這一結(jié)論將人工神經(jīng)網(wǎng)絡(luò)研究領(lǐng)域引入到一個低潮期,直到研究人員認(rèn)識到多層感知機(jī)可解決線性不可分問題,以及反向傳播算法與神經(jīng)網(wǎng)絡(luò)結(jié)合的研究,使得神經(jīng)網(wǎng)絡(luò)的研究重新開始成為熱點。但是由于傳統(tǒng)的反向傳播算法,具有收斂速度慢、需要大量帶標(biāo)簽的訓(xùn)練數(shù)據(jù)、容易陷入局部最優(yōu)等缺點,多層感知機(jī)的效果并不是十分理想。1984年日本學(xué)者K. Fukushima等基于感受野概念,提出的神經(jīng)認(rèn)知機(jī)可看作卷積神經(jīng)網(wǎng)絡(luò)的一種特例。Y. Lecun等提出的卷積神經(jīng)網(wǎng)絡(luò)是神經(jīng)認(rèn)知機(jī)的推廣形式。卷積神經(jīng)網(wǎng)絡(luò)是由多個單層卷積神經(jīng)網(wǎng)絡(luò)組成的可訓(xùn)練的多層網(wǎng)絡(luò)結(jié)構(gòu)。每個單層卷積神經(jīng)網(wǎng)絡(luò)包括卷積、非線性變換和下采樣3個階段,其中下采樣階段不是每層都必需的。每層的輸入和輸出為一組向量構(gòu)成的特征圖(feature map)(第一層的原始輸入信號可以看作一個具有高稀疏度的高維特征圖)。例如,輸入部分是一張彩色圖像,每個特征圖對應(yīng)的則是一個包含輸入圖像彩色通道的二維數(shù)組(對于音頻輸入,特征圖對應(yīng)的是一維向量;對于視頻或立體影像,對應(yīng)的是三維數(shù)組);對應(yīng)的輸出部分,每個特征圖對應(yīng)的是表示從輸入圖片所有位置上提取的特定特征。
?。?)、單層卷積神經(jīng)網(wǎng)絡(luò):卷積階段,通過提取信號的不同特征實現(xiàn)輸入信號進(jìn)行特定模式的觀測。其觀測模式也稱為卷積核,其定義源于由D. H. Hubel等基于對貓視覺皮層細(xì)胞研究提出的局部感受野概念。每個卷積核檢測輸入特征圖上所有位置上的特定特征,實現(xiàn)同一個輸入特征圖上的權(quán)值共享。為了提取輸入特征圖上不同的特征,使用不同的卷積核進(jìn)行卷積操作。卷積階段的輸入是由n1個n2*n3大小的二維特征圖構(gòu)成的三維數(shù)組。每個特征圖記為xi,該階段的輸出y,也是個三維數(shù)組,由m1個m2*m3大小的特征圖構(gòu)成。在卷積階段,連接輸入特征圖xi和輸出特征圖yj的權(quán)值記為wij,即可訓(xùn)練的卷積核(局部感受野),卷積核的大小為k2*k3,輸出特征圖為yj。
非線性階段,對卷積階段得到的特征按照一定的原則進(jìn)行篩選,篩選原則通常采用非線性變換的方式,以避免線性模型表達(dá)能力不夠的問題。非線性階段將卷積階段提取的特征作為輸入,進(jìn)行非線性映射R=h(y)。傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)中非線性操作采用sigmoid、tanh 或softsign等飽和非線性(saturating nonlinearities)函數(shù),近幾年的卷積神經(jīng)網(wǎng)絡(luò)中多采用不飽和非線性(non-saturating nonlinearity)函數(shù)ReLU(rectifiedlinear units)。在訓(xùn)練梯度下降時,ReLU比傳統(tǒng)的飽和非線性函數(shù)有更快的收斂速度,因此在訓(xùn)練整個網(wǎng)絡(luò)時,訓(xùn)練速度也比傳統(tǒng)的方法快很多。
下采樣階段,對每個特征圖進(jìn)行獨(dú)立操作,通常采用平均池化(average pooling)或者最大池化(max pooling)的操作。平均池化依據(jù)定義的鄰域窗口計算特定范圍內(nèi)像素的均值PA,鄰域窗口平移步長大于1(小于等于池化窗口的大小);最大池化則將均值PA替換為最值PM輸出到下個階段。池化操作后,輸出特征圖的分辨率降低,但能較好地保持高分辨率特征圖描述的特征。一些卷積神經(jīng)網(wǎng)絡(luò)完全去掉下采樣階段,通過在卷積階段設(shè)置卷積核窗口滑動步長大于1達(dá)到降低分辨率的目的。
?。?)、卷積神經(jīng)網(wǎng)絡(luò):將單層的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行多次堆疊,前一層的輸出作為后一層的輸入,便構(gòu)成卷積神經(jīng)網(wǎng)絡(luò)。其中每2個節(jié)點間的連線,代表輸入節(jié)點經(jīng)過卷積、非線性變換、下采樣3個階段變?yōu)檩敵龉?jié)點,一般最后一層的輸出特征圖后接一個全連接層和分類器。為了減少數(shù)據(jù)的過擬合,最近的一些卷積神經(jīng)網(wǎng)絡(luò),在全連接層引入“Dropout”或“DropConnect”的方法,即在訓(xùn)練過程中以一定概率P將隱含層節(jié)點的輸出值(對于“DropConnect”為輸入權(quán)值)清0,而用反向傳播算法更新權(quán)值時,不再更新與該節(jié)點相連的權(quán)值。但是這2種方法都會降低訓(xùn)練速度。在訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)時,最常用的方法是采用反向傳播法則以及有監(jiān)督的訓(xùn)練方式。網(wǎng)絡(luò)中信號是前向傳播的,即從輸入特征向輸出特征的方向傳播,第1層的輸入X,經(jīng)過多個卷積神經(jīng)網(wǎng)絡(luò)層,變成最后一層輸出的特征圖O。將輸出特征圖O與期望的標(biāo)簽T進(jìn)行比較,生成誤差項E。通過遍歷網(wǎng)絡(luò)的反向路徑,將誤差逐層傳遞到每個節(jié)點,根據(jù)權(quán)值更新公式,更新相應(yīng)的卷積核權(quán)值wij。在訓(xùn)練過程中,網(wǎng)絡(luò)中權(quán)值的初值通常隨機(jī)初始化(也可通過無監(jiān)督的方式進(jìn)行預(yù)訓(xùn)練),網(wǎng)絡(luò)誤差隨迭代次數(shù)的增加而減少,并且這一過程收斂于一個穩(wěn)定的權(quán)值集合,額外的訓(xùn)練次數(shù)呈現(xiàn)出較小的影響。
?。?)、卷積神經(jīng)網(wǎng)絡(luò)的特點:卷積神經(jīng)網(wǎng)絡(luò)的特點在于,采用原始信號(一般為圖像)直接作為網(wǎng)絡(luò)的輸入,避免了傳統(tǒng)識別算法中復(fù)雜的特征提取和圖像重建過程。局部感受野方法獲取的觀測特征與平移、縮放和旋轉(zhuǎn)無關(guān)。卷積階段利用權(quán)值共享結(jié)構(gòu)減少了權(quán)值的數(shù)量進(jìn)而降低了網(wǎng)絡(luò)模型的復(fù)雜度,這一點在輸入特征圖是高分辨率圖像時表現(xiàn)得更為明顯。同時,下采樣階段利用圖像局部相關(guān)性的原理對特征圖進(jìn)行子抽樣,在保留有用結(jié)構(gòu)信息的同時有效地減少數(shù)據(jù)處理量。
CNN(convolutional neuralnetworks)是一種有監(jiān)督深度的模型架構(gòu),尤其適合二維數(shù)據(jù)結(jié)構(gòu)。目前研究與應(yīng)用都較廣泛,在行人檢測、人臉識別、信號處理等領(lǐng)域均有新的成果與進(jìn)展。它是帶有卷積結(jié)構(gòu)的深度神經(jīng)網(wǎng)絡(luò),也是首個真正意義上成功訓(xùn)練多層網(wǎng)絡(luò)的識別算法。CNN與傳統(tǒng)ANN 算法的主要區(qū)別在于權(quán)值共享以及非全連接。權(quán)值共享能夠避免算法過擬合,通過拓?fù)浣Y(jié)構(gòu)建立層與層間非全連接空間關(guān)系來降低訓(xùn)練參數(shù)的數(shù)目,同時也是CNN的基本思想。CNN的實質(zhì)是學(xué)習(xí)多個能夠提取輸入數(shù)據(jù)特征的濾波器,通過這些濾波器與輸入數(shù)據(jù)進(jìn)行逐層卷積及池化,逐級提取隱藏在數(shù)據(jù)中拓?fù)浣Y(jié)構(gòu)特征。隨網(wǎng)絡(luò)結(jié)構(gòu)層層深入,提取的特征也逐漸變得抽象,最終獲得輸入數(shù)據(jù)的平移、旋轉(zhuǎn)及縮放不變性的特征表示。較傳統(tǒng)神經(jīng)網(wǎng)絡(luò)來說,CNN將特征提取與分類過程同時進(jìn)行,避免了兩者在算法匹配上的難點。
CNN主要由卷積層與下采樣層交替重復(fù)出現(xiàn)構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu),卷積層用來提取輸入神經(jīng)元數(shù)據(jù)的局部特征,下采樣層用來對其上一層提取的數(shù)據(jù)進(jìn)行縮放映射以減少訓(xùn)練數(shù)據(jù)量,也使提取的特征具有縮放不變性。一般來說,可以選擇不同尺度的卷積核來提取多尺度特征,使提取的特征具有旋轉(zhuǎn)、平移不變性。輸入圖像與可學(xué)習(xí)的核進(jìn)行卷積,卷積后的數(shù)據(jù)經(jīng)過激活函數(shù)得到一個特征圖。卷積層的特征圖可以由多個輸入圖組合獲得,但對于同一幅輸入圖其卷積核參數(shù)是一致的,這也是權(quán)值共享的意義所在。卷積核的初始值并非隨機(jī)設(shè)置,而是通過訓(xùn)練或者按照一定標(biāo)準(zhǔn)預(yù)先給定,如仿照生物視覺特征用Gabor 濾波器進(jìn)行預(yù)處理。下采樣層通過降低網(wǎng)絡(luò)空間分辨率來增強(qiáng)縮放不變性。
CNN的輸出層一般采用線性全連接,目前最常用的就是Softmax 分類方法。CNN的參數(shù)訓(xùn)練過程與傳統(tǒng)的人工神經(jīng)網(wǎng)絡(luò)類似,采用反向傳播算法,包括前向傳播與反向傳播2個重要階段。
CNN實際應(yīng)用中會遇到諸多問題,如網(wǎng)絡(luò)權(quán)值的預(yù)學(xué)習(xí)問題,收斂條件以及非全連接規(guī)則等,這些均需要實際應(yīng)用中進(jìn)一步解決與優(yōu)化。
卷積神經(jīng)網(wǎng)絡(luò)模型:在無監(jiān)督預(yù)訓(xùn)練出現(xiàn)之前,訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)通常非常困難,而其中一個特例是卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)受視覺系統(tǒng)的結(jié)構(gòu)啟發(fā)而產(chǎn)生。第一個卷積神經(jīng)網(wǎng)絡(luò)計算模型是在Fukushima的神經(jīng)認(rèn)知機(jī)中提出的,基于神經(jīng)元之間的局部連接和分層組織圖像轉(zhuǎn)換,將有相同參數(shù)的神經(jīng)元應(yīng)用于前一層神經(jīng)網(wǎng)絡(luò)的不同位置,得到一種平移不變神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)形式。后來,LeCun等人在該思想的基礎(chǔ)上,用誤差梯度設(shè)計并訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),在一些模式識別任務(wù)上得到優(yōu)越的性能。至今,基于卷積神經(jīng)網(wǎng)絡(luò)的模式識別系統(tǒng)是最好的實現(xiàn)系統(tǒng)之一,尤其在手寫體字符識別任務(wù)上表現(xiàn)出非凡的性能。LeCun的卷積神經(jīng)網(wǎng)絡(luò)由卷積層和子抽樣層兩種類型的神經(jīng)網(wǎng)絡(luò)層組成。每一層有一個拓?fù)鋱D結(jié)構(gòu),即在接收域內(nèi),每個神經(jīng)元與輸入圖像中某個位置對應(yīng)的固定二維位置編碼信息關(guān)聯(lián)。在每層的各個位置分布著許多不同的神經(jīng)元,每個神經(jīng)元有一組輸入權(quán)值,這些權(quán)值與前一層神經(jīng)網(wǎng)絡(luò)矩形塊中的神經(jīng)元關(guān)聯(lián);同一組權(quán)值和不同輸入矩形塊與不同位置的神經(jīng)元關(guān)聯(lián)。卷積神經(jīng)網(wǎng)絡(luò)是多層的感知器神經(jīng)網(wǎng)絡(luò),每層由多個二維平面塊組成,每個平面塊由多個獨(dú)立神經(jīng)元組成。為了使網(wǎng)絡(luò)對平移、旋轉(zhuǎn)、比例縮放以及其他形式的變換具有不變性,對網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行一些約束限制:(1)、特征提?。好恳粋€神經(jīng)元從上一層的局部接收域得到輸入,迫使其提取局部特征。(2)、特征映射:網(wǎng)絡(luò)的每一個計算層由多個特征映射組成,每個特征映射都以二維平面的形式存在,平面中的神經(jīng)元在約束下共享相同的權(quán)值集。(3)、子抽樣:該計算層跟隨在卷積層后,實現(xiàn)局部平均和子抽樣,使特征映射的輸出對平移等變換的敏感度下降。卷積神經(jīng)網(wǎng)絡(luò)通過使用接收域的局部連接,限制了網(wǎng)絡(luò)結(jié)構(gòu)。卷積神經(jīng)網(wǎng)絡(luò)的另一個特點是權(quán)值共享,但是由于同一隱層的神經(jīng)元共享同一權(quán)值集,大大減少了自由參數(shù)的數(shù)量。卷積神經(jīng)網(wǎng)絡(luò)本質(zhì)上實現(xiàn)一種輸入到輸出的映射關(guān)系,能夠?qū)W習(xí)大量輸入與輸出之間的映射關(guān)系,不需要任何輸入和輸出之間的精確數(shù)學(xué)表達(dá)式,只要用已知的模式對卷積神經(jīng)網(wǎng)絡(luò)加以訓(xùn)練,就可以使網(wǎng)絡(luò)具有輸入輸出之間的映射能力。卷積神經(jīng)網(wǎng)絡(luò)執(zhí)行的是有監(jiān)督訓(xùn)練,在開始訓(xùn)練前,用一些不同的小隨機(jī)數(shù)對網(wǎng)絡(luò)的所有權(quán)值進(jìn)行初始化。
卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練分為兩個階段:(1)、向前傳播階段:從樣本集中抽取一個樣本(X,Yp),將x輸入給網(wǎng)絡(luò),信息從輸入層經(jīng)過逐級變換傳送到輸出層,計算相應(yīng)的實際輸出Op;(2)、向后傳播階段:也稱為誤差傳播階段。計算實際輸出Op與理想輸出Yp的差異。并按最小化誤差的方法調(diào)整權(quán)值矩陣。
卷積神經(jīng)網(wǎng)絡(luò)的特征檢測層通過訓(xùn)練數(shù)據(jù)來進(jìn)行學(xué)習(xí),避免了顯式的特征提取,而是隱式地從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)特征,而且同一特征映射面上的神經(jīng)元權(quán)值相同,網(wǎng)絡(luò)可以并行學(xué)習(xí),這也是卷積神經(jīng)網(wǎng)絡(luò)相對于其他神經(jīng)網(wǎng)絡(luò)的一個優(yōu)勢。權(quán)值共享降低了網(wǎng)絡(luò)的復(fù)雜性,特別是多維向量的圖像可以直接輸入網(wǎng)絡(luò)這一特點避免了特征提取和分類過程中數(shù)據(jù)重建的復(fù)雜度。
卷積神經(jīng)網(wǎng)絡(luò)的成功依賴于兩個假設(shè):(1)、每個神經(jīng)元有非常少的輸入,這有助于將梯度在盡可能多的層中進(jìn)行傳播;(2)、分層局部連接結(jié)構(gòu)是非常強(qiáng)的先驗結(jié)構(gòu),特別適合計算機(jī)視覺任務(wù),如果整個網(wǎng)絡(luò)的參數(shù)處于合適的區(qū)域,基于梯度的優(yōu)化算法能得到很好的學(xué)習(xí)效果。卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)更接近實際的生物神經(jīng)網(wǎng)絡(luò),在語音識別和圖像處理方面具有獨(dú)特的優(yōu)越性,尤其是在視覺圖像處理領(lǐng)域進(jìn)行的實驗,得到了很好的結(jié)果。
2、 反饋深度網(wǎng)絡(luò)
與前饋網(wǎng)絡(luò)不同,反饋網(wǎng)絡(luò)并不是對輸入信號進(jìn)行編碼,而是通過解反卷積或?qū)W習(xí)數(shù)據(jù)集的基,對輸入信號進(jìn)行反解。前饋網(wǎng)絡(luò)是對輸入信號進(jìn)行編碼的過程,而反饋網(wǎng)絡(luò)則是對輸入信號解碼的過程。典型的反饋深度網(wǎng)絡(luò)有反卷積網(wǎng)絡(luò)、層次稀疏編碼網(wǎng)絡(luò)等。以反卷積網(wǎng)絡(luò)為例,M. D. Zeiler等提出的反卷積網(wǎng)絡(luò)模型和Y. LeCun等提出的卷積神經(jīng)網(wǎng)絡(luò)思想類似,但在實際的結(jié)構(gòu)構(gòu)件和實現(xiàn)方法上有所不同。卷積神經(jīng)網(wǎng)絡(luò)是一種自底向上的方法,該方法的每層輸入信號經(jīng)過卷積、非線性變換和下采樣3個階段處理,進(jìn)而得到多層信息。相比之下,反卷積網(wǎng)絡(luò)模型的每層信息是自頂向下的,組合通過濾波器組學(xué)習(xí)得到的卷積特征來重構(gòu)輸入信號。層次稀疏編碼網(wǎng)絡(luò)和反卷積網(wǎng)絡(luò)非常相似,只是在反卷積網(wǎng)絡(luò)中對圖像的分解采用矩陣卷積的形式,而在稀疏編碼中采用矩陣乘積的方式。
(1)、單層反卷積網(wǎng)絡(luò):反卷積網(wǎng)絡(luò)是通過先驗學(xué)習(xí),對信號進(jìn)行稀疏分解和重構(gòu)的正則化方法。
?。?)、反卷積網(wǎng)絡(luò):單層反卷積網(wǎng)絡(luò)進(jìn)行多層疊加,可得到反卷積網(wǎng)絡(luò)。多層模型中,在學(xué)習(xí)濾波器組的同時進(jìn)行特征圖的推導(dǎo),第L層的特征圖和濾波器是由第L-1層的特征圖通過反卷積計算分解獲得。反卷積網(wǎng)絡(luò)訓(xùn)練時,使用一組不同的信號y,求解C(y),進(jìn)行濾波器組f和特征圖z的迭代交替優(yōu)化。訓(xùn)練從第1層開始,采用貪心算法,逐層向上進(jìn)行優(yōu)化,各層間的優(yōu)化是獨(dú)立的。
?。?)、反卷積網(wǎng)絡(luò)的特點:反卷積網(wǎng)絡(luò)的特點在于,通過求解最優(yōu)化輸入信號分解問題計算特征,而不是利用編碼器進(jìn)行近似,這樣能使隱層的特征更加精準(zhǔn),更有利于信號的分類或重建。
自動編碼器:對于一個給定的神經(jīng)網(wǎng)絡(luò),假設(shè)其輸出等于輸入(理想狀態(tài)下),然后通過訓(xùn)練調(diào)整其參數(shù)得到每一層的權(quán)重,這樣就可以得到輸入的幾種不同的表示,這些表示就是特征。當(dāng)在原有特征的基礎(chǔ)上加入這些通過自動學(xué)習(xí)得到的特征時,可以大大提高精確度,這就是自動編碼(AutoEncoder)。如果再繼續(xù)加上一些約束條件的話,就可以得到新的深度學(xué)習(xí)方法。比如在自動編碼的基礎(chǔ)上加上稀疏性限制,就可得到稀疏自動編碼器(Sparse AutoEncoder)。
稀疏自動編碼器:與CNN不同,深度自動編碼器是一種無監(jiān)督的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)架構(gòu)。此類架構(gòu)的基本結(jié)構(gòu)單元為自動編碼器,它通過對輸入特征X按照一定規(guī)則及訓(xùn)練算法進(jìn)行編碼,將其原始特征利用低維向量重新表示。自動編碼器通過構(gòu)建類似傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的層次結(jié)構(gòu),并假設(shè)輸出Y與輸入X相等,反復(fù)訓(xùn)練調(diào)整參數(shù)得到網(wǎng)絡(luò)參數(shù)值。上述自編碼器若僅要求X≈Y,且對隱藏神經(jīng)元進(jìn)行稀疏約束,從而使大部分節(jié)點值為0或接近0的無效值,便得到稀疏自動編碼算法。一般情況下,隱含層的神經(jīng)元數(shù)應(yīng)少于輸入X的個數(shù),因為此時才能保證這個網(wǎng)絡(luò)結(jié)構(gòu)的價值。正如主成分分析(principal component analysis,PCA)算法,通過降低空間維數(shù)去除冗余,利用更少的特征來盡可能完整的描述數(shù)據(jù)信息。實際應(yīng)用中將學(xué)習(xí)得到的多種隱層特征(隱層數(shù)通常多個)與原始特征共同使用,可以明顯提高算法的識別精度。
自動編碼器參數(shù)訓(xùn)練方法有很多,幾乎可以采用任何連續(xù)化訓(xùn)練方法來訓(xùn)練參數(shù)。但由于其模型結(jié)構(gòu)不偏向生成型,無法通過聯(lián)合概率等定量形式確定模型合理性。稀疏性約束在深度學(xué)習(xí)算法優(yōu)化中的地位越來越重要,主要與深度學(xué)習(xí)特點有關(guān)。大量的訓(xùn)練參數(shù)使訓(xùn)練過程復(fù)雜,且訓(xùn)練輸出的維數(shù)遠(yuǎn)比輸入的維數(shù)高,會產(chǎn)生許多冗余數(shù)據(jù)信息。加入稀疏性限制,會使學(xué)習(xí)到的特征更加有價值,同時這也符合人腦神經(jīng)元響應(yīng)稀疏性特點。
3、 雙向深度網(wǎng)絡(luò)
雙向網(wǎng)絡(luò)由多個編碼器層和解碼器層疊加形成,每層可能是單獨(dú)的編碼過程或解碼過程,也可能同時包含編碼過程和解碼過程。雙向網(wǎng)絡(luò)的結(jié)構(gòu)結(jié)合了編碼器和解碼器2類單層網(wǎng)絡(luò)結(jié)構(gòu),雙向網(wǎng)絡(luò)的學(xué)習(xí)則結(jié)合了前饋網(wǎng)絡(luò)和反饋網(wǎng)絡(luò)的訓(xùn)練方法,通常包括單層網(wǎng)絡(luò)的預(yù)訓(xùn)練和逐層反向迭代誤差2個部分,單層網(wǎng)絡(luò)的預(yù)訓(xùn)練多采用貪心算法:每層使用輸入信號IL與權(quán)值w計算生成信號IL+1傳遞到下一層,信號IL+1再與相同的權(quán)值w計算生成重構(gòu)信號I‘L 映射回輸入層,通過不斷縮小IL與I’L間的誤差,訓(xùn)練每層網(wǎng)絡(luò)。網(wǎng)絡(luò)結(jié)構(gòu)中各層網(wǎng)絡(luò)結(jié)構(gòu)都經(jīng)過預(yù)訓(xùn)練之后,再通過反向迭代誤差對整個網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行權(quán)值微調(diào)。其中單層網(wǎng)絡(luò)的預(yù)訓(xùn)練是對輸入信號編碼和解碼的重建過程,這與反饋網(wǎng)絡(luò)訓(xùn)練方法類似;而基于反向迭代誤差的權(quán)值微調(diào)與前饋網(wǎng)絡(luò)訓(xùn)練方法類似。典型的雙向深度網(wǎng)絡(luò)有深度玻爾茲曼機(jī)、深度信念網(wǎng)絡(luò)、棧式自編碼器等。以深度玻爾茲曼機(jī)為例,深度玻爾茲曼機(jī)由R. Salakhutdinov等提出,它由多層受限玻爾茲曼機(jī)(restricted Boltzmann machine, RBM )疊加構(gòu)成。
?。?)、受限玻爾茲曼機(jī):玻爾茲曼機(jī)(Boltzmann machine, BM)是一種隨機(jī)的遞歸神經(jīng)網(wǎng)絡(luò),由G. E.Hinton等提出,是能通過學(xué)習(xí)數(shù)據(jù)固有內(nèi)在表示、解決復(fù)雜學(xué)習(xí)問題的最早的人工神經(jīng)網(wǎng)絡(luò)之一。玻爾茲曼機(jī)由二值神經(jīng)元構(gòu)成,每個神經(jīng)元只取0或1兩種狀態(tài),狀態(tài)1代表該神經(jīng)元處于激活狀態(tài),0表示該神經(jīng)元處于抑制狀態(tài)。然而,即使使用模擬退火算法,這個網(wǎng)絡(luò)的學(xué)習(xí)過程也十分慢。Hinton等提出的受限玻爾茲曼機(jī)去掉了玻爾茲曼機(jī)同層之間的連接,從而大大提高了學(xué)習(xí)效率。受限玻爾茲曼機(jī)分為可見層v以及隱層h,可見層和隱層的節(jié)點通過權(quán)值w相連接,2層節(jié)點之間是全連接,同層節(jié)點間互不相連。
受限玻爾茲曼機(jī)一種典型的訓(xùn)練方法:首先隨機(jī)初始化可見層,然后在可見層與隱層之間交替進(jìn)行吉布斯采樣:用條件分布概率P(h|v)計算隱層;再根據(jù)隱層節(jié)點,同樣用條件分布概率P(v|h)來計算可見層;重復(fù)這一采樣過程直到可見層和隱層達(dá)到平穩(wěn)分布。而Hinton提出了一種快速算法,稱作對比離差(contrastive divergence, CD)學(xué)習(xí)算法。這種算法使用訓(xùn)練數(shù)據(jù)初始化可見層,只需迭代k次上述采樣過程(即每次迭代包括從可見層更新隱層,以及從隱層更新可見層),就可獲得對模型的估計。
?。?)、深度玻爾茲曼機(jī):將多個受限玻爾茲曼機(jī)堆疊,前一層的輸出作為后一層的輸入,便構(gòu)成了深度玻爾茲曼機(jī)。網(wǎng)絡(luò)中所有節(jié)點間的連線都是雙向的。深度玻爾茲曼機(jī)訓(xùn)練分為2個階段:預(yù)訓(xùn)練階段和微調(diào)階段。在預(yù)訓(xùn)練階段,采用無監(jiān)督的逐層貪心訓(xùn)練方法來訓(xùn)練網(wǎng)絡(luò)每層的參數(shù),即先訓(xùn)練網(wǎng)絡(luò)的第1個隱含層,然后接著訓(xùn)練第2,3,…個隱含層,最后用這些訓(xùn)練好的網(wǎng)絡(luò)參數(shù)值作為整體網(wǎng)絡(luò)參數(shù)的初始值。預(yù)訓(xùn)練之后,將訓(xùn)練好的每層受限玻爾茲曼機(jī)疊加形成深度玻爾茲曼機(jī),利用有監(jiān)督的學(xué)習(xí)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練(一般采用反向傳播算法)。由于深度玻爾茲曼機(jī)隨機(jī)初始化權(quán)值以及微調(diào)階段采用有監(jiān)督的學(xué)習(xí)方法,這些都容易使網(wǎng)絡(luò)陷入局部最小值。而采用無監(jiān)督預(yù)訓(xùn)練的方法,有利于避免陷入局部最小值問題。
受限玻爾茲曼機(jī)(RBM,RestrictBoltzmann Machine):假設(shè)有一個二部圖(二分圖),一層是可視層v(即輸入層),一層是隱層h,每層內(nèi)的節(jié)點之間設(shè)有連接。在已知v時,全部的隱藏節(jié)點之間都是條件獨(dú)立的(因為這個模型是二部圖),即p(h|v) = p(h1|v1) … p(hn|v)。同樣的,在已知隱層h的情況下,可視節(jié)點又都是條件獨(dú)立的,又因為全部的h和v滿足玻爾茲曼分布,所以當(dāng)輸入v的時候,通過p(h|v)可得到隱層h,得到h之后,通過p(v|h)又可以重構(gòu)可視層v。通過調(diào)整參數(shù),使得從隱層計算得到的可視層與原來的可視層有相同的分布。這樣的話,得到的隱層就是可視層的另外一種表達(dá),即可視層的特征表示。若增加隱層的層數(shù),可得到深度玻爾茲曼機(jī)(DBM,Deep Boltzmann Machine)。若在靠近可視層v的部分使用貝葉斯信念網(wǎng),遠(yuǎn)離可視層的部分使用RBM,那么就可以得到一個深度信念網(wǎng)絡(luò)(DBNs,Deep Belief Nets)。
受限玻爾茲曼機(jī)模型是玻爾茲曼機(jī)(BM,BoltzmannMachine)模型的一種特殊形式,其特殊性就在于同層內(nèi)的節(jié)點沒有連接,是以二部圖的形式存在。
由于受限玻爾茲曼機(jī)是一種隨機(jī)網(wǎng)絡(luò),而隨機(jī)神經(jīng)網(wǎng)絡(luò)又是根植于統(tǒng)計力學(xué)的,所以受統(tǒng)計力學(xué)能量泛函的啟發(fā)引入了能量函數(shù)。在隨機(jī)神經(jīng)網(wǎng)絡(luò)中,能量函數(shù)是用來描述整個系統(tǒng)狀態(tài)的測度。網(wǎng)絡(luò)越有序或概率分布越集中,網(wǎng)絡(luò)的能量就越小;反之,網(wǎng)絡(luò)越無序或概率分布不集中,那么網(wǎng)絡(luò)的能量就越大。所以當(dāng)網(wǎng)絡(luò)最穩(wěn)定時,能量函數(shù)的值最小。
深度信念神經(jīng)網(wǎng)絡(luò):深度結(jié)構(gòu)的訓(xùn)練大致有無監(jiān)督的訓(xùn)練和有監(jiān)督的訓(xùn)練兩種,而且兩者擁有不一樣的模型架構(gòu)。比如卷積神經(jīng)網(wǎng)絡(luò)就是一種有監(jiān)督下的深度結(jié)構(gòu)學(xué)習(xí)模型(即需要大量有標(biāo)簽的訓(xùn)練樣本),但深度信念網(wǎng)絡(luò)是一種無監(jiān)督和有監(jiān)督混合下的深度結(jié)構(gòu)學(xué)習(xí)模型(即需要一部分無標(biāo)簽的訓(xùn)練樣本和一部分有標(biāo)簽的樣本)。
一個典型的深度信念網(wǎng)絡(luò)可看成多個受限玻爾茲曼機(jī)的累加,而DBNs則是一個復(fù)雜度較高的有向無環(huán)圖。
深度信念網(wǎng)絡(luò)在訓(xùn)練的過程中,所需要學(xué)習(xí)的即是聯(lián)合概率分布。在機(jī)器學(xué)習(xí)領(lǐng)域中,其所表示的就是對象的生成模型。如果想要全局優(yōu)化具有多隱層的深度信念網(wǎng)絡(luò)是比較困難的。這個時候,可以運(yùn)用貪婪算法,即逐層進(jìn)行優(yōu)化,每次只訓(xùn)練相鄰兩層的模型參數(shù),通過逐層學(xué)習(xí)來獲得全局的網(wǎng)絡(luò)參數(shù)。這種訓(xùn)練方法(非監(jiān)督逐層貪婪訓(xùn)練)已經(jīng)被Hinton證明是有效的,并稱其為相對收斂(contrastive divergence)。
深度信任網(wǎng)絡(luò)模型:DBN可以解釋為貝葉斯概率生成模型,由多層隨機(jī)隱變量組成,上面的兩層具有無向?qū)ΨQ連接,下面的層得到來自上一層的自頂向下的有向連接,最底層單元的狀態(tài)為可見輸入數(shù)據(jù)向量。DBN由若干結(jié)構(gòu)單元堆棧組成,結(jié)構(gòu)單元通常為RBM。堆棧中每個RBM單元的可視層神經(jīng)元數(shù)量等于前一RBM單元的隱層神經(jīng)元數(shù)量。根據(jù)深度學(xué)習(xí)機(jī)制,采用輸入樣例訓(xùn)練第一層RBM單元,并利用其輸出訓(xùn)練第二層RBM模型,將RBM模型進(jìn)行堆棧通過增加層來改善模型性能。在無監(jiān)督預(yù)訓(xùn)練過程中,DBN編碼輸入到頂層RBM后解碼頂層的狀態(tài)到最底層的單元實現(xiàn)輸入的重構(gòu)。作為DBN的結(jié)構(gòu)單元,RBM與每一層DBN共享參數(shù)。
RBM是一種特殊形式的玻爾茲曼機(jī)(Boltzmannmachine,BM),變量之間的圖模型連接形式有限制,只有可見層節(jié)點與隱層節(jié)點之間有連接權(quán)值,而可見層節(jié)點與可見層節(jié)點及隱層節(jié)點與隱層節(jié)點之間無連接。BM是基于能量的無向圖概率模型。
BM的典型訓(xùn)練算法有變分近似法、隨機(jī)近似法(stochastic approximation procedure,SAP)、對比散度算法(contrastivedivergence,CD)、持續(xù)對比散度算法(persistent contrastive divergence,PCD)、快速持續(xù)對比散度算法(fastpersistent contrastive divergence,FPCD)和回火MCMC算法等。
堆棧自編碼網(wǎng)絡(luò)模型:堆棧自編碼網(wǎng)絡(luò)的結(jié)構(gòu)與DBN類似,由若干結(jié)構(gòu)單元堆棧組成,不同之處在于其結(jié)構(gòu)單元為自編碼模型(auto—en—coder)而不是RBM。自編碼模型是一個兩層的神經(jīng)網(wǎng)絡(luò),第一層稱為編碼層,第二層稱為解碼層。
堆棧自編碼網(wǎng)絡(luò)的結(jié)構(gòu)單元除了自編碼模型之外,還可以使用自編碼模型的一些變形,如降噪自編碼模型和收縮自編碼模型等。降噪自編碼模型避免了一般的自編碼模型可能會學(xué)習(xí)得到無編碼功能的恒等函數(shù)和需要樣本的個數(shù)大于樣本的維數(shù)的限制,嘗試通過最小化降噪重構(gòu)誤差,從含隨機(jī)噪聲的數(shù)據(jù)中重構(gòu)真實的原始輸入。降噪自編碼模型使用由少量樣本組成的微批次樣本執(zhí)行隨機(jī)梯度下降算法,這樣可以充分利用圖處理單元(graphical processing unit,GPU)的矩陣到矩陣快速運(yùn)算使得算法能夠更快地收斂。
收縮自編碼模型的訓(xùn)練目標(biāo)函數(shù)是重構(gòu)誤差和收縮罰項(contraction penalty)的總和,通過最小化該目標(biāo)函數(shù)使已學(xué)習(xí)到的表示C(x)盡量對輸入x保持不變。為了避免出現(xiàn)平凡解,編碼器權(quán)值趨于零而解碼器權(quán)值趨于無窮,并且收縮自編碼模型采用固定的權(quán)值,令解碼器權(quán)值為編碼器權(quán)值的置換陣。與其他自編碼模型相比,收縮自編碼模型趨于找到盡量少的幾個特征值,特征值的數(shù)量對應(yīng)局部秩和局部維數(shù)。收縮自編碼模型可以利用隱單元建立復(fù)雜非線性流形模型。
MKMs:受SVM算法中核函數(shù)的啟發(fā),在深度模型結(jié)構(gòu)中加入核函數(shù),構(gòu)建一種基于核函數(shù)的深度學(xué)習(xí)模型。MKMs深度模型,如同深度信念網(wǎng)絡(luò)(deep belief network,DBNs),反復(fù)迭代核PCA 來逼近高階非線性函數(shù),每一層核PCA 的輸出作為下一層核PCA 的輸入。作者模擬大型神經(jīng)網(wǎng)絡(luò)計算方法創(chuàng)建核函數(shù)族,并將其應(yīng)用在訓(xùn)練多層深度學(xué)習(xí)模型中。L層MKMs深度模型的訓(xùn)練過程如下:
?。?)、去除輸入特征中無信息含量的特征;
?。?)、重復(fù)L次:A、計算有非線性核產(chǎn)生特征的主成分;B、去除無信息含量的主成分特征;
?。?)、采用Mahalanobis距離進(jìn)行最近鄰分類。
在參數(shù)訓(xùn)練階段,采用核主成分分析法(kernelprincipal component analysis,KPCA)進(jìn)行逐層貪婪無監(jiān)督學(xué)習(xí),并提取第k層數(shù)據(jù)特征中的前nk 主成分,此時第k+1層便獲得第k層的低維空間特征。為進(jìn)一步降低每層特征的維數(shù),采用有監(jiān)督的訓(xùn)練機(jī)制進(jìn)行二次篩選:首先,根據(jù)離散化特征點邊緣直方圖,估計它與類標(biāo)簽之間的互信息,將nk 主成分進(jìn)行排序;其次,對于不同的k 和w 采用KNN 聚類方法,每次選取排序最靠前的w驗證集上的特征并計算其錯誤率,最終選擇錯誤率最低的w個特征。該模型由于特征選取階段無法并行計算,導(dǎo)致交叉驗證階段需耗費(fèi)大量時間。據(jù)此,提出了一種改進(jìn)方法,通過在隱藏層采用有監(jiān)督的核偏最小二乘法(kernel partial least squares,KPLS)來優(yōu)化此問題。
DeSTIN:目前較成熟的深度學(xué)習(xí)模型大多建立在空間層次結(jié)構(gòu)上,很少對時效性(temporal)有所體現(xiàn)。相關(guān)研究表明,人類大腦的運(yùn)行模式是將感受到的模式與記憶存儲的模式進(jìn)行匹配,并對下一時刻的模式進(jìn)行預(yù)測,反復(fù)進(jìn)行上述步驟,這個過程包含了時空信息。因此在深度結(jié)構(gòu)中將時效性考慮在內(nèi),會更接近人腦的工作模式。DeSTIN便是基于這種理念被提出的。DeSTIN 是一種基于貝葉斯推理理論、動態(tài)進(jìn)行模式分類的深度學(xué)習(xí)架構(gòu),它是一種區(qū)分性的層次網(wǎng)絡(luò)結(jié)構(gòu)。在該深度模型中,數(shù)據(jù)間的時空相關(guān)性通過無監(jiān)督方式來學(xué)習(xí)。網(wǎng)絡(luò)的每一層的每個節(jié)點結(jié)構(gòu)一致,且包含多個聚類中心,通過聚類和動態(tài)建模來模擬輸入。每個節(jié)點通過貝葉斯信念推理輸出該節(jié)點信念值,根據(jù)信念值提取整個DeSTIN網(wǎng)絡(luò)的模式特征,最后一層網(wǎng)絡(luò)輸出特征可以輸入分類器如SVM中進(jìn)行模式分類。
DeSTIN 模型的每一個節(jié)點都用來學(xué)習(xí)一個模式時序,底層節(jié)點通過對輸入數(shù)據(jù)的時間與空間特征進(jìn)行提取,改變其信念值,輸入到下一層。由于每一個節(jié)點結(jié)構(gòu)相同,訓(xùn)練時可采樣并行計算,節(jié)約運(yùn)算資源。該模型最重要的步驟就是信念值更新算法。信念值更新算法同時考慮了數(shù)據(jù)的時間與空間特征。目前將時效性考慮在內(nèi)的深度學(xué)習(xí)架構(gòu)雖然不是很成熟,但也逐漸應(yīng)用在不同領(lǐng)域,也是深度學(xué)習(xí)模型未來發(fā)展的一個新方向。
四、 深度學(xué)習(xí)訓(xùn)練算法
實驗結(jié)果表明,對深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)采用隨機(jī)初始化的方法,基于梯度的優(yōu)化使訓(xùn)練結(jié)果陷入局部極值,而找不到全局最優(yōu)值,并且隨著網(wǎng)絡(luò)結(jié)構(gòu)層次的加深,更難以得到好的泛化性能,使得深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)在隨機(jī)初始化后得到的學(xué)習(xí)結(jié)果甚至不如只有一個或兩個隱層的淺結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)得到的學(xué)習(xí)結(jié)果好。由于隨機(jī)初始化深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的參數(shù)得到的訓(xùn)練結(jié)果和泛化性能都很不理想,在2006年以前,深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)在機(jī)器學(xué)習(xí)領(lǐng)域文獻(xiàn)中并沒有進(jìn)行過多討論。通過實驗研究發(fā)現(xiàn),用無監(jiān)督學(xué)習(xí)算法對深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)進(jìn)行逐層預(yù)訓(xùn)練,能夠得到較好的學(xué)習(xí)結(jié)果。最初的實驗對每層采用RBM生成模型,后來的實驗采用自編碼模型來訓(xùn)練每一層,兩種模型得到相似的實驗結(jié)果。一些實驗和研究結(jié)果證明了無監(jiān)督預(yù)訓(xùn)練相比隨機(jī)初始化具有很大的優(yōu)勢,無監(jiān)督預(yù)訓(xùn)練不僅初始化網(wǎng)絡(luò)得到好的初始參數(shù)值,而且可以提取關(guān)于輸入分布的有用信息,有助于網(wǎng)絡(luò)找到更好的全局最優(yōu)解。對深度學(xué)習(xí)來說,無監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí)是成功的學(xué)習(xí)算法的關(guān)鍵組成部分,主要原因包括以下幾個方面:
?。?)、與半監(jiān)督學(xué)習(xí)類似,深度學(xué)習(xí)中缺少有類標(biāo)簽的樣本,并且樣例大多無類標(biāo)簽;
?。?)、逐層的無監(jiān)督學(xué)習(xí)利用結(jié)構(gòu)層上的可用信息進(jìn)行學(xué)習(xí),避免了監(jiān)督學(xué)習(xí)梯度傳播的問題,可減少對監(jiān)督準(zhǔn)則函數(shù)梯度給出的不可靠更新方向的依賴;
(3)、無監(jiān)督學(xué)習(xí)使得監(jiān)督學(xué)習(xí)的參數(shù)進(jìn)入一個合適的預(yù)置區(qū)域內(nèi),在此區(qū)域內(nèi)進(jìn)行梯度下降能夠得到很好的解;
?。?)、在利用深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)構(gòu)造一個監(jiān)督分類器時,無監(jiān)督學(xué)習(xí)可看做學(xué)習(xí)先驗信息,使得深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果的參數(shù)在大多情況下都具有意義;
(5)、在深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的每一層采用無監(jiān)督學(xué)習(xí)將一個問題分解成若干與多重表示水平提取有關(guān)的子問題,是一種常用的可行方法,可提取輸入分布較高水平表示的重要特征信息。
基于上述思想,Hinton等人在2006年引入了DBN并給出了一種訓(xùn)練該網(wǎng)絡(luò)的貪婪逐層預(yù)訓(xùn)練算法。貪婪逐層無監(jiān)督預(yù)訓(xùn)練學(xué)習(xí)的基本思想為:首先采用無監(jiān)督學(xué)習(xí)算法對深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的較低層進(jìn)行訓(xùn)練,生成第一層深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的初始參數(shù)值;然后將第一層的輸出作為另外一層的輸入,同樣采用無監(jiān)督學(xué)習(xí)算法對該層參數(shù)進(jìn)行初始化。在對多層進(jìn)行初始化后,用監(jiān)督學(xué)習(xí)算法對整個深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)進(jìn)行微調(diào),得到的學(xué)習(xí)性能具有很大程度的提高。
以堆棧自編碼網(wǎng)絡(luò)為例,深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程如下:
?。?)、將第一層作為一個自編碼模型,采用無監(jiān)督訓(xùn)練,使原始輸入的重建誤差最小;
?。?)、將自編碼模型的隱單元輸出作為另一層的輸入;
?。?)、按步驟(2)迭代初始化每一層的參數(shù);
?。?)、采用最后一個隱層的輸出作為輸入施加于一個有監(jiān)督的層(通常為輸出層),并初始化該層的參數(shù);
?。?)、根據(jù)監(jiān)督準(zhǔn)則調(diào)整深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的所有參數(shù),堆棧所有自編碼模型組成堆棧自編碼網(wǎng)絡(luò)。
基本的無監(jiān)督學(xué)習(xí)方法在2006年被Hinton等人提出用于訓(xùn)練深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò),該方法的學(xué)習(xí)步驟如下:
(1)、令h0(x)=x為可觀察的原始輸入x的最低階表示;
?。?)、對l=1,。..,L,訓(xùn)練無監(jiān)督學(xué)習(xí)模型,將可觀察數(shù)據(jù)看做l-1階上表示的訓(xùn)練樣例hl-1(x),訓(xùn)練后產(chǎn)生下一階的表示hl(x)=Rl(hl-1(x))。
隨后出現(xiàn)了一些該算法的變形拓展,最常見的是有監(jiān)督的微調(diào)方法,該方法的學(xué)習(xí)步驟如下所示:
(1)、初始化監(jiān)督預(yù)測器:a、用參數(shù)表示函數(shù)hL(x);b、將hL(x)作為輸入得到線性或非線性預(yù)測器;
?。?)、基于已標(biāo)記訓(xùn)練樣本對(x,y)采用監(jiān)督訓(xùn)練準(zhǔn)則微調(diào)監(jiān)督預(yù)測器,在表示階段和預(yù)測器階段優(yōu)化參數(shù)。
深度學(xué)習(xí)的訓(xùn)練過程:
1、自下向上的非監(jiān)督學(xué)習(xí):采用無標(biāo)簽數(shù)據(jù)分層訓(xùn)練各層參數(shù),這是一個無監(jiān)督訓(xùn)練的過程(也是一個特征學(xué)習(xí)的過程),是和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)區(qū)別最大的部分。具體是:用無標(biāo)簽數(shù)據(jù)去訓(xùn)練第一層,這樣就可以學(xué)習(xí)到第一層的參數(shù),在學(xué)習(xí)得到第n-1層后,再將第n-1層的輸出作為第n層的輸入,訓(xùn)練第n層,進(jìn)而分別得到各層的參數(shù)。這稱為網(wǎng)絡(luò)的預(yù)訓(xùn)練。
2、自頂向下的監(jiān)督學(xué)習(xí):在預(yù)訓(xùn)練后,采用有標(biāo)簽的數(shù)據(jù)來對網(wǎng)絡(luò)進(jìn)行區(qū)分性訓(xùn)練,此時誤差自頂向下傳輸。預(yù)訓(xùn)練類似傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的隨機(jī)初始化,但由于深度學(xué)習(xí)的第一步不是隨機(jī)初始化而是通過學(xué)習(xí)無標(biāo)簽數(shù)據(jù)得到的,因此這個初值比較接近全局最優(yōu),所以深度學(xué)習(xí)效果好很多程序上歸功于第一步的特征學(xué)習(xí)過程。
使用到的學(xué)習(xí)算法包括:
?。?)、深度費(fèi)希爾映射方法:Wong等人提出一種新的特征提取方法----正則化深度費(fèi)希爾映射(regularized deep Fisher mapping,RDFM)方法,學(xué)習(xí)從樣本空間到特征空間的顯式映射,根據(jù)Fisher準(zhǔn)則用深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)提高特征的區(qū)分度。深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)具有深度非局部學(xué)習(xí)結(jié)構(gòu),從更少的樣本中學(xué)習(xí)變化很大的數(shù)據(jù)集中的特征,顯示出比核方法更強(qiáng)的特征識別能力,同時RDFM方法的學(xué)習(xí)過程由于引入正則化因子,解決了學(xué)習(xí)能力過強(qiáng)帶來的過擬合問題。在各種類型的數(shù)據(jù)集上進(jìn)行實驗,得到的結(jié)果說明了在深度學(xué)習(xí)微調(diào)階段運(yùn)用無監(jiān)督正則化的必要性。
?。?)、非線性變換方法:Raiko等人提出了一種非線性變換方法,該變換方法使得多層感知器(multi—layer perceptron,MLP)網(wǎng)絡(luò)的每個隱神經(jīng)元的輸出具有零輸出和平均值上的零斜率,使學(xué)習(xí)MLP變得更容易。將學(xué)習(xí)整個輸入輸出映射函數(shù)的線性部分和非線性部分盡可能分開,用shortcut權(quán)值(shortcut weight)建立線性映射模型,令Fisher信息陣接近對角陣,使得標(biāo)準(zhǔn)梯度接近自然梯度。通過實驗證明非線性變換方法的有效性,該變換使得基本隨機(jī)梯度學(xué)習(xí)與當(dāng)前的學(xué)習(xí)算法在速度上不相上下,并有助于找到泛化性能更好的分類器。用這種非線性變換方法實現(xiàn)的深度無監(jiān)督自編碼模型進(jìn)行圖像分類和學(xué)習(xí)圖像的低維表示的實驗,說明這些變換有助于學(xué)習(xí)深度至少達(dá)到五個隱層的深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò),證明了變換的有效性,提高了基本隨機(jī)梯度學(xué)習(xí)算法的速度,有助于找到泛化性更好的分類器。
(3)、稀疏編碼對稱機(jī)算法:Ranzato等人提出一種新的有效的無監(jiān)督學(xué)習(xí)算法----稀疏編碼對稱機(jī)(sparse encoding symmetric machine,SESM),能夠在無須歸一化的情況下有效產(chǎn)生稀疏表示。SESM的損失函數(shù)是重構(gòu)誤差和稀疏罰函數(shù)的加權(quán)總和,基于該損失函數(shù)比較和選擇不同的無監(jiān)督學(xué)習(xí)機(jī),提出一種相關(guān)的迭代在線學(xué)習(xí)算法,并在理論和實驗上將SESM與RBM和PCA進(jìn)行比較,在手寫體數(shù)字識別MNIST數(shù)據(jù)集和實際圖像數(shù)據(jù)集上進(jìn)行實驗,表明該方法的優(yōu)越性。
?。?)、遷移學(xué)習(xí)算法:在許多常見學(xué)習(xí)場景中訓(xùn)練和測試數(shù)據(jù)集中的類標(biāo)簽不同,必須保證訓(xùn)練和測試數(shù)據(jù)集中的相似性進(jìn)行遷移學(xué)習(xí)。Mesnil等人研究了用于無監(jiān)督遷移學(xué)習(xí)場景中學(xué)習(xí)表示的不同種類模型結(jié)構(gòu),將多個不同結(jié)構(gòu)的層堆棧使用無監(jiān)督學(xué)習(xí)算法用于五個學(xué)習(xí)任務(wù),并研究了用于少量已標(biāo)記訓(xùn)練樣本的簡單線性分類器堆棧深度結(jié)構(gòu)學(xué)習(xí)算法。Bengio等人研究了無監(jiān)督遷移學(xué)習(xí)問題,討論了無監(jiān)督預(yù)訓(xùn)練有用的原因,如何在遷移學(xué)習(xí)場景中利用無監(jiān)督預(yù)訓(xùn)練,以及在什么情況下需要注意從不同數(shù)據(jù)分布得到的樣例上的預(yù)測問題。
?。?)、自然語言解析算法:Collobert基于深度遞歸卷積圖變換網(wǎng)絡(luò)(graphtransformer network,GTN)提出一種快速可擴(kuò)展的判別算法用于自然語言解析,將文法解析樹分解到堆棧層中,只用極少的基本文本特征,得到的性能與現(xiàn)有的判別解析器和標(biāo)準(zhǔn)解析器的性能相似,而在速度上有了很大提升。
?。?)、學(xué)習(xí)率自適應(yīng)方法:學(xué)習(xí)率自適應(yīng)方法可用于提高深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)訓(xùn)練的收斂性并且去除超參數(shù)中的學(xué)習(xí)率參數(shù),其中包括全局學(xué)習(xí)率、層次學(xué)習(xí)率、神經(jīng)元學(xué)習(xí)率和參數(shù)學(xué)習(xí)率等。最近研究人員提出了一些新的學(xué)習(xí)率自適應(yīng)方法,如Duchi等人提出的自適應(yīng)梯度方法和Schaul等人提出的學(xué)習(xí)率自適應(yīng)方法;Hinton提出了收縮學(xué)習(xí)率方法使得平均權(quán)值更新在權(quán)值大小的1/1000數(shù)量級上;LeRoux等人提出自然梯度的對角低秩在線近似方法,并說明該算法在一些學(xué)習(xí)場景中能加速訓(xùn)練過程。
五、 深度學(xué)習(xí)的優(yōu)點
深度學(xué)習(xí)與淺學(xué)習(xí)相比具有許多優(yōu)點:
1、 在網(wǎng)絡(luò)表達(dá)復(fù)雜目標(biāo)函數(shù)的能力方面,淺結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)有時無法很好地實現(xiàn)高變函數(shù)等復(fù)雜高維函數(shù)的表示,而用深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)能夠較好地表征。
2、 在網(wǎng)絡(luò)結(jié)構(gòu)的計算復(fù)雜度方面,當(dāng)用深度為k的網(wǎng)絡(luò)結(jié)構(gòu)能夠緊湊地表達(dá)某一函數(shù)時,在采用深度小于k的網(wǎng)絡(luò)結(jié)構(gòu)表達(dá)該函數(shù)時,可能需要增加指數(shù)級規(guī)模數(shù)量的計算因子,大大增加了計算的復(fù)雜度。另外,需要利用訓(xùn)練樣本對計算因子中的參數(shù)值進(jìn)行調(diào)整,當(dāng)一個網(wǎng)絡(luò)結(jié)構(gòu)的訓(xùn)練樣本數(shù)量有限而計算因子數(shù)量增加時,其泛化能力會變得很差。
3、 在仿生學(xué)角度方面,深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)是對人類大腦皮層的最好模擬。與大腦皮層一樣,深度學(xué)習(xí)對輸入數(shù)據(jù)的處理是分層進(jìn)行的,用每一層神經(jīng)網(wǎng)絡(luò)提取原始數(shù)據(jù)不同水平的特征。
4、 在信息共享方面,深度學(xué)習(xí)獲得的多重水平的提取特征可以在類似的不同任務(wù)中重復(fù)使用,相當(dāng)于對任務(wù)求解提供了一些無監(jiān)督的數(shù)據(jù),可以獲得更多的有用信息。
5、 深度學(xué)習(xí)比淺學(xué)習(xí)具有更強(qiáng)的表示能力,而由于深度的增加使得非凸目標(biāo)函數(shù)產(chǎn)生的局部最優(yōu)解是造成學(xué)習(xí)困難的主要因素。反向傳播基于局部梯度下降,從一些隨機(jī)初始點開始運(yùn)行,通常陷入局部極值,并隨著網(wǎng)絡(luò)深度的增加而惡化,不能很好地求解深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)問題。2006年,Hinton等人提出的用于深度信任網(wǎng)絡(luò)(deep belief network,DBN)的無監(jiān)督學(xué)習(xí)算法,解決了深度學(xué)習(xí)模型優(yōu)化困難的問題。求解DBN方法的核心是貪婪逐層預(yù)訓(xùn)練算法,在與網(wǎng)絡(luò)大小和深度呈線性的時間復(fù)雜度上優(yōu)化DBN的權(quán)值,將求解的問題分解成為若干更簡單的子問題進(jìn)行求解。
6、 深度學(xué)習(xí)方法試圖找到數(shù)據(jù)的內(nèi)部結(jié)構(gòu),發(fā)現(xiàn)變量之間的真正關(guān)系形式。大量研究表明,數(shù)據(jù)表示的方式對訓(xùn)練學(xué)習(xí)的成功產(chǎn)生很大的影響,好的表示能夠消除輸入數(shù)據(jù)中與學(xué)習(xí)任務(wù)無關(guān)因素的改變對學(xué)習(xí)性能的影響,同時保留對學(xué)習(xí)任務(wù)有用的信息。深度學(xué)習(xí)中數(shù)據(jù)的表示有局部表示(local representation)、分布表示(distributed representation),和稀疏分布表示(sparsedistributed representation) 三種表示形式。學(xué)習(xí)輸入層、隱層和輸出層的單元均取值0或1。舉個簡單的例子,整數(shù)i∈{1,2,。..,N}的局部表示為向量R(i),該向量有N位,由1個1和N-1個0組成,即Rj(i)=1i=j。分布表示中的輸入模式由一組特征表示,這些特征可能存在相互包含關(guān)系,并且在統(tǒng)計意義上相互獨(dú)立。對于例子中相同整數(shù)的分布表示有l(wèi)og2N位的向量,這種表示更為緊湊,在解決降維和局部泛化限制方面起到幫助作用。稀疏分布表示介于完全局部表示和非稀疏分布表示之間,稀疏性的意思為表示向量中的許多單元取值為0。對于特定的任務(wù)需要選擇合適的表示形式才能對學(xué)習(xí)性能起到改進(jìn)的作用。當(dāng)表示一個特定的輸入分布時,一些結(jié)構(gòu)是不可能的,因為它們不相容。例如在語言建槨中,運(yùn)用局部表示可以直接用詞匯表中的索引編碼詞的特性,而在句法特征、形態(tài)學(xué)特征和語義特征提取中,運(yùn)用分布表示可以通過連接一個向量指示器來表示一個詞。分布表示由于其具有的優(yōu)點,常常用于深度學(xué)習(xí)中表示數(shù)據(jù)的結(jié)構(gòu)。由于聚類簇之間在本質(zhì)上互相不存在包含關(guān)系,因此聚類算法不專門建立分布表示,而獨(dú)立成分分析(independent component analysis,ICA)和主成分分析(principalcomponent analysis,PCA)通常用來構(gòu)造數(shù)據(jù)的分布表示。
六、 深度學(xué)習(xí)已有的應(yīng)用
深度學(xué)習(xí)架構(gòu)由多層非線性運(yùn)算單元組成,每個較低層的輸出作為更高層的輸入,可以從大量輸入數(shù)據(jù)中學(xué)習(xí)有效的特征表示,學(xué)習(xí)到的高階表示中包含輸入數(shù)據(jù)的許多結(jié)構(gòu)信息,是一種從數(shù)據(jù)中提取表示的好方法,能夠用于分類、回歸和信息檢索等特定問題中。
深度學(xué)習(xí)目前在很多領(lǐng)域都優(yōu)于過去的方法。如語音和音頻識別、圖像分類及識別、人臉識別、視頻分類、行為識別、圖像超分辨率重建、紋理識別、行人檢測、場景標(biāo)記、門牌識別、手寫體字符識別、圖像檢索、人體運(yùn)行行為識別等。
1、 深度學(xué)習(xí)在語音識別、合成及機(jī)器翻譯中的應(yīng)用
微軟研究人員使用深度信念網(wǎng)絡(luò)對數(shù)以千計的senones(一種比音素小很多的建模單元)直接建模,提出了第1個成功應(yīng)用于大詞匯量語音識別系統(tǒng)的上下文相關(guān)的深層神經(jīng)網(wǎng)絡(luò)--隱馬爾可夫混合模型(CD-DNN-HMM),比之前最領(lǐng)先的基于常規(guī)CD-GMM-HMM的大詞匯量語音識別系統(tǒng)相對誤差率減少16%以上。隨后又在含有300h語音訓(xùn)練數(shù)據(jù)的Switchboard標(biāo)準(zhǔn)數(shù)據(jù)集上對CD-DNN-HMM模型進(jìn)行評測?;鶞?zhǔn)測試字詞錯誤率為18.5%,與之前最領(lǐng)先的常規(guī)系統(tǒng)相比,相對錯誤率減少了33%。
H. Zen等提出一種基于多層感知機(jī)的語音合成模型。該模型先將輸入文本轉(zhuǎn)換為一個輸入特征序列,輸入特征序列的每幀分別經(jīng)過多層感知機(jī)映射到各自的輸出特征,然后采用算法,生成語音參數(shù),最后經(jīng)過聲紋合成生成語音。訓(xùn)練數(shù)據(jù)包含由一名女性專業(yè)演講者以美國英語錄制的3.3萬段語音素材,其合成結(jié)果的主觀評價和客觀評價均優(yōu)于基于HMM方法的模型。
K. Cho等提出一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrentneural network, RNN)的向量化定長表示模型(RNNenc模型),應(yīng)用于機(jī)器翻譯。該模型包含2個RNN,一個RNN用于將一組源語言符號序列編碼為一組固定長度的向量,另一個RNN將該向量解碼為一組目標(biāo)語言的符號序列。在該模型的基礎(chǔ)上,D. Bahdanau等克服了固定長度的缺點(固定長度是其效果提升的瓶頸),提出了RNNsearch的模型。該模型在翻譯每個單詞時,根據(jù)該單詞在源文本中最相關(guān)信息的位置以及已翻譯出的其他單詞,預(yù)測對應(yīng)于該單詞的目標(biāo)單詞。該模型包含一個雙向RNN作為編碼器,以及一個用于單詞翻譯的解碼器。在進(jìn)行目標(biāo)單詞位置預(yù)測時,使用一個多層感知機(jī)模型進(jìn)行位置對齊。采用BLEU評價指標(biāo),RNNsearch模型在ACL2014機(jī)器翻譯研討會(ACL WMT 2014)提供的英/法雙語并行語料庫上的翻譯結(jié)果評分均高于RNNenc模型的評分,略低于傳統(tǒng)的基于短語的翻譯系統(tǒng)Moses(本身包含具有4.18 億個單詞的多語言語料庫)。另外,在剔除包含未知詞匯語句的測試預(yù)料庫上,RNNsearch的評分甚至超過了Moses。
2、 深度學(xué)習(xí)在圖像分類及識別中的應(yīng)用
?。?)、深度學(xué)習(xí)在大規(guī)模圖像數(shù)據(jù)集中的應(yīng)用:
A. Krizhevsky等首次將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于ImageNet大規(guī)模視覺識別挑戰(zhàn)賽(ImageNetlargescale visual recognition challenge, ILSVRC)中,所訓(xùn)練的深度卷積神經(jīng)網(wǎng)絡(luò)在ILSVRC—2012挑戰(zhàn)賽中,取得了圖像分類和目標(biāo)定位任務(wù)的第一。其中,圖像分類任務(wù)中,前5選項錯誤率為15.3%,遠(yuǎn)低于第2名的26.2%的錯誤率;在目標(biāo)定位任務(wù)中,前5選項錯誤率34%,也遠(yuǎn)低于第2名的50%。在ILSVRC—2013比賽中,M. D. Zeiler等采用卷積神經(jīng)網(wǎng)絡(luò)的方法,對A. Krizhevsky的方法進(jìn)行了改進(jìn),并在每個卷積層上附加一個反卷積層用于中間層特征的可視化,取得了圖像分類任務(wù)的第一名。其前5 選項錯誤率為11.7%,如果采用ILSVRC—2011 數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練,錯誤率則降低到11.2%。在目標(biāo)定位任務(wù)中,P. Sermanet等采用卷積神經(jīng)網(wǎng)絡(luò)結(jié)合多尺度滑動窗口的方法,可同時進(jìn)行圖像分類、定位和檢測,是比賽中唯一一個同時參加所有任務(wù)的隊伍。多目標(biāo)檢測任務(wù)中,獲勝隊伍的方法在特征提取階段沒有使用深度學(xué)習(xí)模型,只在分類時采用卷積網(wǎng)絡(luò)分類器進(jìn)行重打分。在ILSVRC—2014比賽中,幾乎所有的參賽隊伍都采用了卷積神經(jīng)網(wǎng)絡(luò)及其變形方法。其中GoogLeNet小組采用卷積神經(jīng)網(wǎng)絡(luò)結(jié)合Hebbian理論提出的多尺度的模型,以6.7%的分類錯誤,取得圖形分類“指定數(shù)據(jù)”組的第一名;CASIAWS小組采用弱監(jiān)督定位和卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的方法,取得圖形分類“額外數(shù)據(jù)”組的第一名,其分類錯誤率為11%。
在目標(biāo)定位任務(wù)中,VGG小組在深度學(xué)習(xí)框架Caffe的基礎(chǔ)上,采用3個結(jié)構(gòu)不同的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行平均評估,以26%的定位錯誤率取得“指定數(shù)據(jù)”組的第一名;Adobe 組選用額外的2000類ImageNet數(shù)據(jù)訓(xùn)練分類器,采用卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)進(jìn)行分類和定位,以30%的錯誤率,取得了“額外數(shù)據(jù)”組的第一名。
在多目標(biāo)檢測任務(wù)中,NUS小組采用改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)----網(wǎng)中網(wǎng)(networkin network, NIN)與多種其他方法融合的模型,以37%的平均準(zhǔn)確率(mean average precision, mAP)取得“提供數(shù)據(jù)”組的第一名;GoogLeNet以44%的平均準(zhǔn)確率取得“額外數(shù)據(jù)”組的第一名。
從深度學(xué)習(xí)首次應(yīng)用于ILSVRC挑戰(zhàn)賽并取得突出的成績,到2014年挑戰(zhàn)賽中幾乎所有參賽隊伍都采用深度學(xué)習(xí)方法,并將分類識錯率降低到6.7%,可看出深度學(xué)習(xí)方法相比于傳統(tǒng)的手工提取特征的方法在圖像識別領(lǐng)域具有巨大優(yōu)勢。
?。?)、深度學(xué)習(xí)在人臉識別中的應(yīng)用:
基于卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法,香港中文大學(xué)的DeepID項目以及Facebook的DeepFace項目在戶外人臉識別(labeledfaces in the wild, LFW)數(shù)據(jù)庫上的人臉識別正確率分別達(dá)97.45%和97.35%,只比人類識別97.5%的正確率略低一點點。DeepID項目采用4層卷積神經(jīng)網(wǎng)絡(luò)(不含輸入層和輸出層)結(jié)構(gòu),DeepFace采用5層卷積神經(jīng)網(wǎng)絡(luò)(不含輸入層和輸出層,其中后3層沒有采用權(quán)值共享以獲得不同的局部統(tǒng)計特征)結(jié)構(gòu),之后,采用基于卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法。香港中文大學(xué)的DeepID2項目將識別率提高到了99.15%,超過目前所有領(lǐng)先的深度學(xué)習(xí)和非深度學(xué)習(xí)算法在LFW 數(shù)據(jù)庫上的識別率以及人類在該數(shù)據(jù)庫的識別率。DeepID2項目采用和DeepID項目類似的深度結(jié)構(gòu),包含4個卷積層,其中第3層采用2*2鄰域的局部權(quán)值共享,第4層沒有采用權(quán)值共享,且輸出層與第3、4層都全連接。
?。?)、深度學(xué)習(xí)在手寫體字符識別中的應(yīng)用:
Bengio等人運(yùn)用統(tǒng)計學(xué)習(xí)理論和大量的實驗工作證明了深度學(xué)習(xí)算法非常具有潛力,說明數(shù)據(jù)中間層表示可以被來自不同分布而相關(guān)的任務(wù)和樣例共享,產(chǎn)生更好的學(xué)習(xí)效果,并且在有62個類別的大規(guī)模手寫體字符識別場景上進(jìn)行實驗,用多任務(wù)場景和擾動樣例來得到分布外樣例,并得到非常好的實驗結(jié)果。Lee等人對RBM進(jìn)行拓展,學(xué)習(xí)到的模型使其具有稀疏性,可用于有效地學(xué)習(xí)數(shù)字字符和自然圖像特征。Hinton等人關(guān)于深度學(xué)習(xí)的研究說明了如何訓(xùn)練深度s型神經(jīng)網(wǎng)絡(luò)來產(chǎn)生對手寫體數(shù)字文本有用的表示,用到的主要思想是貪婪逐層預(yù)訓(xùn)練RBM之后再進(jìn)行微調(diào)。
3、 深度學(xué)習(xí)在行人檢測中的應(yīng)用
將CNN應(yīng)用到行人檢測中,提出一種聯(lián)合深度神經(jīng)網(wǎng)絡(luò)模型(unified deep net,UDN)。輸入層有3個通道,均為對YUV空間進(jìn)行相關(guān)變換得到,實驗結(jié)果表明在此實驗平臺前提下,此輸入方式較灰色像素輸入方式正確率提高8%。第一層卷積采用64個不同卷積核,初始化采用Gabor濾波器,第二層卷積采用不同尺度的卷積核,提取人體的不同部位的具體特征,訓(xùn)練過程作者采用聯(lián)合訓(xùn)練方法。最終實驗結(jié)果在Caltech及ETH 數(shù)據(jù)集上錯失率較傳統(tǒng)的人體檢測HOG-SVM算法均有明顯下降,在Caltech庫上較目前最好的算法錯失率降低9%。
4、 深度學(xué)習(xí)在視頻分類及行為識別中的應(yīng)用
A. Karpathy等基于卷積神經(jīng)網(wǎng)絡(luò)提供了一種應(yīng)用于大規(guī)模視頻分類上的經(jīng)驗評估模型,將Sports-1M數(shù)據(jù)集的100萬段YouTube視頻數(shù)據(jù)分為487類。該模型使用4種時空信息融合方法用于卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,融合方法包括單幀(single frame)、不相鄰兩幀(late fusion)、相鄰多幀(early fusion)以及多階段相鄰多幀(slow fusion);此外提出了一種多分辨率的網(wǎng)絡(luò)結(jié)構(gòu),大大提升了神經(jīng)網(wǎng)絡(luò)應(yīng)用于大規(guī)模數(shù)據(jù)時的訓(xùn)練速度。該模型在Sports-1M上的分類準(zhǔn)確率達(dá)63.9%,相比于基于人工特征的方法(55.3%),有很大提升。此外,該模型表現(xiàn)出較好的泛化能力,單獨(dú)使用slow fusion融合方法所得模型在UCF-101動作識別數(shù)據(jù)集上的識別率為65.4%,而該數(shù)據(jù)集的基準(zhǔn)識別率為43.9%。
S. Ji等提出一個三維卷積神經(jīng)網(wǎng)絡(luò)模型用于行為識別。該模型通過在空間和時序上運(yùn)用三維卷積提取特征,從而獲得多個相鄰幀間的運(yùn)動信息。該模型基于輸入幀生成多個特征圖通道,將所有通道的信息結(jié)合獲得最后的特征表示。該三維卷積神經(jīng)網(wǎng)絡(luò)模型在TRECVID數(shù)據(jù)上優(yōu)于其他方法,表明該方法對于真實環(huán)境數(shù)據(jù)有較好的效果;該模型在KTH數(shù)據(jù)上的表現(xiàn),遜于其他方法,原因是為了簡化計算而縮小了輸入數(shù)據(jù)的分辨率。
M. Baccouche等提出一種時序的深度學(xué)習(xí)模型,可在沒有任何先驗知識的前提下,學(xué)習(xí)分類人體行為。模型的第一步,是將卷積神經(jīng)網(wǎng)絡(luò)拓展到三維,自動學(xué)習(xí)時空特征。接下來使用RNN方法訓(xùn)練分類每個序列。該模型在KTH上的測試結(jié)果優(yōu)于其他已知深度模型,KTH1和KTH2上的精度分別為94.39%和92.17%。
七、 深度學(xué)習(xí)存在的問題及未來研究方向
1、 深度學(xué)習(xí)目前存在的問題:
?。?)、理論問題:深度學(xué)習(xí)在理論方面存在的困難主要有兩個,第一個是關(guān)于統(tǒng)計學(xué)習(xí),另一個和計算量相關(guān)。相對淺層學(xué)習(xí)模型來說,深度學(xué)習(xí)模型對非線性函數(shù)的表示能力更好。根據(jù)通用的神經(jīng)網(wǎng)絡(luò)逼近理論,對任何一個非線性函數(shù)來說,都可以由一個淺層模型和一個深度學(xué)習(xí)模型很好的表示,但相對淺層模型,深度學(xué)習(xí)模型需要較少的參數(shù)。關(guān)于深度學(xué)習(xí)訓(xùn)練的計算復(fù)雜度也是我們需要關(guān)心的問題,即我們需要多大參數(shù)規(guī)模和深度的神經(jīng)網(wǎng)絡(luò)模型去解決相應(yīng)的問題,在對構(gòu)建好的網(wǎng)絡(luò)進(jìn)行訓(xùn)練時,需要多少訓(xùn)練樣本才能足以使網(wǎng)絡(luò)滿足擬合狀態(tài)。另外,網(wǎng)絡(luò)模型訓(xùn)練所需要消耗的計算資源很難預(yù)估,對網(wǎng)絡(luò)的優(yōu)化技術(shù)仍有待進(jìn)步。由于深度學(xué)習(xí)模型的代價函數(shù)都是非凸的,這也造成理論研究方面的困難。
?。?)、建模問題:在解決深層學(xué)習(xí)理論和計算困難的同時,如何構(gòu)建新的分層網(wǎng)絡(luò)模型,既能夠像傳統(tǒng)深層模型一樣能夠有效的抽取數(shù)據(jù)的潛在特征,又能夠像支持向量機(jī)一樣便于進(jìn)行理論分析,另外,如何針對不同的應(yīng)用問題構(gòu)建合適的深層模型同樣是一個很有挑戰(zhàn)性的問題?,F(xiàn)在用于圖像和語言的深度模型都擁有相似卷積和降采樣的功能模塊,研究人員在聲學(xué)模型方面也在進(jìn)行相應(yīng)的探索,能不能找到一個統(tǒng)一的深度模型適用于圖像,語音和自然語言的處理仍需要探索。
?。?)、工程應(yīng)用問題:在深度學(xué)習(xí)的工程應(yīng)用問題上,如何利用現(xiàn)有的大規(guī)模并行處理計算平臺進(jìn)行大規(guī)模樣本數(shù)據(jù)訓(xùn)練是各個進(jìn)行深度學(xué)習(xí)研發(fā)公司首要解決的難題。由于像Hadoop這樣的傳統(tǒng)大數(shù)據(jù)處理平臺的延遲過高,不適用于深度學(xué)習(xí)的頻繁迭代訓(xùn)練過程?,F(xiàn)在最多采用的深度網(wǎng)絡(luò)訓(xùn)練技術(shù)是隨機(jī)梯度下降算法。這種算法不適于在多臺計算機(jī)間并行運(yùn)算,即使采用GPU加速技術(shù)對深度神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練也是需要花費(fèi)漫長的時間。隨著互聯(lián)網(wǎng)行業(yè)的高速發(fā)展,特別是數(shù)據(jù)挖掘的需要,往往面對的是海量需要處理的數(shù)據(jù)。由于深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練速度緩慢無法滿足互聯(lián)網(wǎng)應(yīng)用的需求。
2、 深度學(xué)習(xí)未來研究方向:深度學(xué)習(xí)算法在計算機(jī)視覺(圖像識別、視頻識別等)和語音識別中的應(yīng)用,尤其是大規(guī)模數(shù)據(jù)集下的應(yīng)用取得突破性的進(jìn)展,但仍有以下問題值得進(jìn)一步研究:
(1)、無標(biāo)記數(shù)據(jù)的特征學(xué)習(xí)
目前,標(biāo)記數(shù)據(jù)的特征學(xué)習(xí)仍然占據(jù)主導(dǎo)地位,而真實世界存在著海量的無標(biāo)記數(shù)據(jù),將這些無標(biāo)記數(shù)據(jù)逐一添加人工標(biāo)簽,顯然是不現(xiàn)實的。所以,隨著數(shù)據(jù)集和存儲技術(shù)的發(fā)展,必將越來越重視對無標(biāo)記數(shù)據(jù)的特征學(xué)習(xí),以及將無標(biāo)記數(shù)據(jù)進(jìn)行自動添加標(biāo)簽技術(shù)的研究。
?。?)、模型規(guī)模與訓(xùn)練速度
訓(xùn)練精度之間的權(quán)衡。一般地,相同數(shù)據(jù)集下,模型規(guī)模越大,訓(xùn)練精度越高,訓(xùn)練速度會越慢。例如一些模型方法采用ReLU非線性變換、GPU運(yùn)算,在保證精度的前提下,往往需要訓(xùn)練5~7d。雖然離線訓(xùn)練并不影響訓(xùn)練之后模型的應(yīng)用,但是對于模型優(yōu)化,諸如模型規(guī)模調(diào)整、超參數(shù)設(shè)置、訓(xùn)練時調(diào)試等問題,訓(xùn)練時間會嚴(yán)重影響其效率。故而,如何在保證一定的訓(xùn)練精度的前提下,提高訓(xùn)練速度,依然是深度學(xué)習(xí)方向研究的課題之一。
?。?)、理論分析
需要更好地理解深度學(xué)習(xí)及其模型,進(jìn)行更加深入的理論研究。深度學(xué)習(xí)模型的訓(xùn)練為什么那么困難?這仍然是一個開放性問題。一個可能的答案是深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)有許多層,每一層由多個非線性神經(jīng)元組成,使得整個深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的非線性程度更強(qiáng),減弱了基于梯度的尋優(yōu)方法的有效性;另一個可能的答案是局部極值的數(shù)量和結(jié)構(gòu)隨著深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)深度的增加而發(fā)生定性改變,使得訓(xùn)練模型變得更加困難。造成深度學(xué)習(xí)訓(xùn)練困難的原因究竟是由于用于深度學(xué)習(xí)模型的監(jiān)督訓(xùn)練準(zhǔn)則大量存在不好的局部極值,還是因為訓(xùn)練準(zhǔn)則對優(yōu)化算法來說過于復(fù)雜,這是值得探討的問題。此外,對堆棧自編碼網(wǎng)絡(luò)學(xué)習(xí)中的模型是否有合適的概率解釋,能否得到深度學(xué)習(xí)模型中似然函數(shù)梯度的小方差和低偏差估計,能否同時訓(xùn)練所有的深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)層,除了重構(gòu)誤差外,是否還存在其他更合適的可供選擇的誤差指標(biāo)來控制深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程,是否存在容易求解的RBM配分函數(shù)的近似函數(shù),這些問題還有待未來研究??紤]引入退火重要性抽樣來解決局部極值問題,不依賴于配分函數(shù)的學(xué)習(xí)算法也值得嘗試。
?。?)、數(shù)據(jù)表示與模型
數(shù)據(jù)的表示方式對學(xué)習(xí)性能具有很大的影響,除了局部表示、分布表示和稀疏分布表示外,可以充分利用表示理論研究成果。是否還存在其他形式的數(shù)據(jù)表示方式,是否可以通過在學(xué)習(xí)的表示上施加一些形式的稀疏罰從而對RBM和自編碼模型的訓(xùn)練性能起到改進(jìn)作用,以及如何改進(jìn)。是否可以用便于提取好的表示并且包含更簡單優(yōu)化問題的凸模型代替RBM和自編碼模型;不增加隱單元的數(shù)量,用非參數(shù)形式的能量函數(shù)能否提高RBM的容量等,未來還需要進(jìn)一步探討這些問題。此外,除了卷積神經(jīng)網(wǎng)絡(luò)、DBN和堆棧自編碼網(wǎng)絡(luò)之外,是否還存在其他可以用于有效訓(xùn)練的深度學(xué)習(xí)模型,有沒有可能改變所用的概率模型使訓(xùn)練變得更容易,是否存在其他有效的或者理論上有效的方法學(xué)習(xí)深度學(xué)習(xí)模型,這也是未來需要進(jìn)一步研究的問題?,F(xiàn)有的方法,如DBN.HMM和DBN—CRF,在利用DBN的能力方面只是簡單的堆棧疊加基本模型,還沒有充分發(fā)掘出DBN的優(yōu)勢,需要研究DBN的結(jié)構(gòu)特點,充分利用DBN的潛在優(yōu)勢,找到更好的方法建立數(shù)據(jù)的深度學(xué)習(xí)模型,可以考慮將現(xiàn)有的社會網(wǎng)絡(luò)、基因調(diào)控網(wǎng)絡(luò)、結(jié)構(gòu)化建模理論以及稀疏化建模等理論運(yùn)用其中。
?。?)、特征提取
除了高斯--伯努利模型之外,還有哪些模型能用來從特征中提取重要的判別信息,未來需要提出有效的理論指導(dǎo)在每層搜索更加合適的特征提取模型。自編碼模型保持了輸入的信息,這些信息在后續(xù)的訓(xùn)練過程中可能會起到重要作用,未來需要研究用CD訓(xùn)練的RBM是否保持了輸入的信息,在沒有保持輸入信息的情況下如何進(jìn)行修正。樹和圖等結(jié)構(gòu)的數(shù)據(jù)由于大小和結(jié)構(gòu)可變而不容易用向量表示其中包含的信息,如何泛化深度學(xué)習(xí)模型來表示這些信息,也是未來需要研究的問題。盡管當(dāng)前的產(chǎn)生式預(yù)訓(xùn)練加判別式微調(diào)學(xué)習(xí)策略看起來對許多任務(wù)都運(yùn)行良好,但是在某些語言識別等其他任務(wù)中卻失敗了,對這些任務(wù),產(chǎn)生式預(yù)訓(xùn)練階段的特征提取似乎能很好地描述語音變化,但是包含的信息不足以區(qū)分不同的語言,未來需要提出新的學(xué)習(xí)策略,對這些學(xué)習(xí)任務(wù)提取合適的特征,這可以在很大程度上減小當(dāng)前深度學(xué)習(xí)系統(tǒng)所需模型的大小。
?。?)、訓(xùn)練與優(yōu)化求解
為什么隨機(jī)初始化的深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)采用基于梯度的算法訓(xùn)練總是不能成功,產(chǎn)生式預(yù)訓(xùn)練方法為什么有效?未來需要研究訓(xùn)練深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的貪婪逐層預(yù)訓(xùn)練算法到底在最小化訓(xùn)練數(shù)據(jù)的似然函數(shù)方面結(jié)果如何,是否過于貪婪,以及除了貪婪逐層預(yù)訓(xùn)練的許多變形和半監(jiān)督嵌入算法之外,還有什么其他形式的算法能得到深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的局部訓(xùn)練信息。此外,無監(jiān)督逐層訓(xùn)練過程對訓(xùn)練深度學(xué)習(xí)模型起到幫助作用,但有實驗表明訓(xùn)練仍會陷入局部極值并且無法有效利用數(shù)據(jù)集中的所有信息,能否提出用于深度學(xué)習(xí)的更有效的優(yōu)化策略來突破這種限制,基于連續(xù)優(yōu)化的策略能否用于有效改進(jìn)深度學(xué)習(xí)的訓(xùn)練過程,這些問題還需要繼續(xù)研究。二階梯度方法和自然梯度方法在理論研究中可證明對訓(xùn)練求解深度學(xué)習(xí)模型有效,但是這些算法還不是深度結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)優(yōu)化的標(biāo)準(zhǔn)算法,未來還需要進(jìn)一步驗證和改進(jìn)這些算法,研究其能否代替微批次隨機(jī)梯度下降類算法。當(dāng)前的基于微批次隨機(jī)梯度優(yōu)化算法難以在計算機(jī)上并行處理,目前最好的解決方法是用GPU來加速學(xué)習(xí)過程,但是單個機(jī)器的GPU無法用于處理大規(guī)模語音識別和類似的大型數(shù)據(jù)集的學(xué)習(xí),因此未來需要提出理論上可行的并行學(xué)習(xí)算法來訓(xùn)練深度學(xué)習(xí)模型。
?。?)、與其他方法的融合
從上述應(yīng)用實例中可發(fā)現(xiàn),單一的深度學(xué)習(xí)方法,往往并不能帶來最好的效果,通常融合其他方法或多種方法進(jìn)行平均打分,會帶來更高的精確率。因此,深度學(xué)習(xí)方法與其他方法的融合,具有一定的研究意義。
?。?)、研究拓展
當(dāng)深度模型沒有有效的自適應(yīng)技術(shù),在測試數(shù)據(jù)集分布不同于訓(xùn)練集分布時,它們很難得到比常用模型更好的性能,因此未來有必要提出用于深度學(xué)習(xí)模型的自適應(yīng)技術(shù)以及對高維數(shù)據(jù)具有更強(qiáng)魯棒性的更先進(jìn)的算法。目前的深度學(xué)習(xí)模型訓(xùn)練算法包含許多階段,而在在線學(xué)習(xí)場景中一旦進(jìn)入微調(diào)階段就有可能陷入局部極值,因此目前的算法對于在線學(xué)習(xí)環(huán)境是不可行的。未來需要研究是否存在訓(xùn)練深度學(xué)習(xí)的完全在線學(xué)習(xí)過程能夠一直具有無監(jiān)督學(xué)習(xí)成分。DBN模型很適合半監(jiān)督學(xué)習(xí)場景和自教學(xué)習(xí)場景,當(dāng)前的深度學(xué)習(xí)算法如何應(yīng)用于這些場景并且在性能上優(yōu)于現(xiàn)有的半監(jiān)督學(xué)習(xí)算法,如何結(jié)合監(jiān)督和無監(jiān)督準(zhǔn)則來學(xué)習(xí)輸入的模型表示,是否存在一個深度使得深度學(xué)習(xí)模型的計算足夠接近人類在人工智能任務(wù)中表現(xiàn)出的水平,這也是未來需要進(jìn)一步研究的問題。
評論
查看更多