王浩瀅
(山東科技大學(xué),山東青島,271021)
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)新領(lǐng)域,是一種以人工神經(jīng)網(wǎng)絡(luò)為架構(gòu),對(duì)數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的算法。深度學(xué)習(xí)主要在于學(xué)習(xí)樣本數(shù)據(jù)所存在的內(nèi)在規(guī)律和表示幅度,數(shù)種深度學(xué)習(xí)框架已被成功應(yīng)用在計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別、圖像處理等領(lǐng)域并獲取了極好的效果。同時(shí),“深度學(xué)習(xí)”也成為成為類(lèi)似術(shù)語(yǔ),或者說(shuō)是神經(jīng)網(wǎng)絡(luò)的描述重塑表示方法[1]。
深度學(xué)習(xí)相對(duì)于支持向量機(jī)、最大熵值計(jì)算方法等"淺層學(xué)習(xí)"而言是一類(lèi)深層次的研究方向。深度學(xué)習(xí)是通過(guò)對(duì)原始信號(hào)進(jìn)行逐層特征變換,輸入和輸出結(jié)果的不斷迭用,將樣本數(shù)據(jù)層層轉(zhuǎn)換到新的特征空間,從而自動(dòng)地學(xué)習(xí)得到層次化的特征表示,快速分層處理數(shù)據(jù)建立模型,更有利于分類(lèi)或特征的可視化[2]。
深度學(xué)習(xí)算法打破了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)對(duì)訓(xùn)練層數(shù)的限制,采用貪婪無(wú)監(jiān)督逐層訓(xùn)練方法,分開(kāi)處理層層網(wǎng)絡(luò)結(jié)構(gòu),后一層網(wǎng)絡(luò)沿用前一層的訓(xùn)練結(jié)果進(jìn)行訓(xùn)練。最后每層參數(shù)訓(xùn)練完后,在整個(gè)網(wǎng)絡(luò)中利用有監(jiān)督學(xué)習(xí)進(jìn)行參數(shù)微調(diào),從而達(dá)到提高精度的作用,本文就深度學(xué)習(xí)發(fā)展現(xiàn)狀及進(jìn)行簡(jiǎn)單概述并對(duì)其未來(lái)設(shè)計(jì)進(jìn)行展望[4]。
深度學(xué)習(xí)是以海量數(shù)據(jù)輸入為基礎(chǔ)的多層神經(jīng)網(wǎng)絡(luò),是一種規(guī)則的自學(xué)習(xí)方法。近年來(lái)對(duì)多層神經(jīng)網(wǎng)絡(luò)的處理算法不斷優(yōu)化,結(jié)合最新的計(jì)算機(jī)技術(shù)以及先進(jìn)的CPU處理器等,使它出現(xiàn)了突破性的進(jìn)展。比如行人的圖像中,就包含了色彩、光線、五官等各種信息,而深度學(xué)習(xí)的關(guān)鍵就是通過(guò)多層非線性映射將這些因素成功分離并提取。簡(jiǎn)單說(shuō),就是可以減少參數(shù),同時(shí)還不斷有海量數(shù)據(jù)的輸入,徹底顛覆了“人造特征”的范式,開(kāi)啟了數(shù)據(jù)驅(qū)動(dòng)即數(shù)據(jù)自提取特征的范式,計(jì)算機(jī)自己發(fā)現(xiàn)規(guī)則,進(jìn)行自學(xué)習(xí)?,F(xiàn)在計(jì)算機(jī)認(rèn)圖的能力已經(jīng)凌駕于人類(lèi)之上,尤其在圖像和語(yǔ)音等復(fù)雜應(yīng)用方面,深度學(xué)習(xí)技術(shù)有了很大的進(jìn)展。
再者是谷歌訓(xùn)練機(jī)械手抓取的例子,谷歌現(xiàn)在用機(jī)器人訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò),利用程序?qū)崿F(xiàn)一次抓取,根據(jù)攝像頭輸入和執(zhí)行命令,預(yù)測(cè)抓取的結(jié)果,使得機(jī)器人可以實(shí)現(xiàn)手眼協(xié)調(diào)。所有行為都從學(xué)習(xí)中自然浮現(xiàn),而不是依靠傳統(tǒng)的系統(tǒng)程序,完全顛覆以往的算法,利用深度學(xué)習(xí)實(shí)現(xiàn)圖像深度信息的采集[4]。
市面上已有的可實(shí)現(xiàn)實(shí)現(xiàn)人的跟蹤的無(wú)人機(jī),它的方法就在于,可以通過(guò)人工的方式進(jìn)行特征選擇,拿簡(jiǎn)單的顏色特征舉例,若單用機(jī)械的方式查找,在幾個(gè)人穿著相同的衣服有著差不多的體態(tài)的情況下就很容易跟丟或混淆,此時(shí),若想在這個(gè)基礎(chǔ)上繼續(xù)優(yōu)化算法,將特征進(jìn)行調(diào)整,實(shí)屬非常困難,而且調(diào)整后,還會(huì)存在對(duì)過(guò)去某些環(huán)境狀態(tài)不適用的問(wèn)題,算法的不停迭代卻會(huì)影響前面的效果。而利用深度學(xué)習(xí),把所有人最顯眼的個(gè)人信息做出來(lái),只區(qū)分好前景和背景。區(qū)分之后,背景全部用數(shù)學(xué)方式進(jìn)行填充,再以此為基礎(chǔ)不斷生產(chǎn)大量背景數(shù)據(jù),進(jìn)行自學(xué)習(xí),便利了查找過(guò)程。
圖1 利用卷積神經(jīng)網(wǎng)絡(luò)建立行人重識(shí)別模型
對(duì)于圖像的處理是深度學(xué)習(xí)算法最早嘗試應(yīng)用的領(lǐng)域,從一開(kāi)始的大量數(shù)據(jù)提取到不斷優(yōu)化算法,現(xiàn)如今的圖像處理技術(shù)已十分成熟,尤其是2012年在網(wǎng)絡(luò)的訓(xùn)練中引入了權(quán)重衰減的概念,可以以更簡(jiǎn)便的算法及參數(shù)幅度產(chǎn)生更多的數(shù)據(jù)?,F(xiàn)在深度學(xué)習(xí)網(wǎng)絡(luò)模型能夠理解和識(shí)別一般的自然圖像,不僅大幅提高了圖像識(shí)別的精度,同時(shí)也避免了需要消耗大量的時(shí)間進(jìn)行人工特征提取等重復(fù)性工作,使得運(yùn)算效率得到了大大的提升[4-5]。
深度神經(jīng)網(wǎng)絡(luò)是由多個(gè)單層非線性網(wǎng)絡(luò)疊加而成的可以分為前饋深度網(wǎng)絡(luò)、反饋深度網(wǎng)絡(luò)和雙向深度網(wǎng)絡(luò)3類(lèi)[4]。
作為最早進(jìn)行模型建立的人工神經(jīng)網(wǎng)絡(luò)之一,前饋深度網(wǎng)絡(luò)也叫前饋神經(jīng)網(wǎng)絡(luò),其特點(diǎn)在于數(shù)據(jù)的單方向流動(dòng),從輸入到達(dá)輸出單元,且不會(huì)構(gòu)成有向環(huán)。典型的前饋神經(jīng)網(wǎng)絡(luò)有卷積神經(jīng)網(wǎng)絡(luò)和單層卷積神經(jīng)網(wǎng)絡(luò)等。
2.1.1 單層卷積神經(jīng)網(wǎng)絡(luò)
卷積階段的輸入是由n1個(gè)n2×n3大二維特征圖構(gòu)成的三維數(shù)組,以xi為,該階段的輸出y也是個(gè)三維數(shù)組,由m1個(gè)m2×m3大特征圖構(gòu)成。在卷積階段,連接輸入特征圖xi和特征圖yj的記為ijω,核的大小為23k ×k[4]。輸出特征圖為:
式中:*為二維離散卷積的運(yùn)算符,bj為練的偏置函數(shù)。
非線性階段是通過(guò)非線性變換的方式過(guò)濾有效的卷積階段得到的特征向量,提高數(shù)據(jù)處理的精度,兩種非線性操作函數(shù)如圖2所示。
圖2 兩種非線性操作函數(shù)(sin和cos)
下采樣階段,通常采用平均或最大池化的操作。完全去掉下采樣,通過(guò)在卷積階段設(shè)置卷積核窗口滑動(dòng)達(dá)到降低分辨率的算法也已運(yùn)用在一些網(wǎng)絡(luò)模型中[4]。
圖3 卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程
2.1.2 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)可以進(jìn)行大型圖像識(shí)別,是深度前饋人工神經(jīng)網(wǎng)絡(luò)的一種,多次堆疊單層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),后層網(wǎng)絡(luò)沿用前層網(wǎng)絡(luò)的數(shù)據(jù),其中反向傳播法以及有監(jiān)督的訓(xùn)練方式最為常用,算法流程如圖3所示[4]。
在進(jìn)行圖像識(shí)別以及解決各類(lèi)重識(shí)別問(wèn)題中也廣泛用到卷積神經(jīng)網(wǎng)絡(luò),卷積網(wǎng)絡(luò)模型圖如圖4所示。
圖4 利用神經(jīng)網(wǎng)絡(luò)進(jìn)行層次重識(shí)別
卷積神經(jīng)網(wǎng)絡(luò)采用原始信號(hào)輸入,減少?gòu)?fù)雜的特征提取次數(shù)同時(shí)避免圖像重建過(guò)程,相較于傳統(tǒng)的計(jì)算方法有了較大的改進(jìn),利用權(quán)值共享結(jié)構(gòu)降低了網(wǎng)絡(luò)模型的復(fù)雜度,對(duì)特征圖進(jìn)行子抽樣,對(duì)照?qǐng)D像局部相關(guān)系原則有效地減少數(shù)據(jù)處理量。
區(qū)別于前饋深度網(wǎng)絡(luò),反饋深度網(wǎng)絡(luò)反解輸入信號(hào),而不是通過(guò)編碼信號(hào)進(jìn)行數(shù)據(jù)處理。典型的反饋深度網(wǎng)絡(luò)有反卷積網(wǎng)絡(luò)、層次稀疏編碼網(wǎng)絡(luò)等,通過(guò)求解最優(yōu)輸入信號(hào)分解問(wèn)題計(jì)算特征,使得特征更精準(zhǔn),更有利于信號(hào)的分類(lèi)或重建。
雙向深度網(wǎng)絡(luò)結(jié)構(gòu)上結(jié)合了編碼器層和解碼器層方式進(jìn)行疊加,以前饋和反饋深度網(wǎng)絡(luò)的訓(xùn)練方法為綜合,包括單層網(wǎng)絡(luò)的預(yù)訓(xùn)練和逐層反向迭代誤差兩個(gè)部分,每層使用輸入信號(hào)IL與ω計(jì)成信號(hào)IL+1傳下一層,信號(hào)IL+1再同的權(quán)值ω計(jì)成重構(gòu)信號(hào)映輸入層,通過(guò)不斷縮小IL與IL'間差,再通過(guò)反向迭代誤差對(duì)整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行權(quán)值微調(diào)。典型的雙向深度網(wǎng)絡(luò)有深度玻爾茲曼機(jī)、棧式自編碼器等。
深度置信網(wǎng)絡(luò)可以用來(lái)進(jìn)行精細(xì)化和網(wǎng)絡(luò)預(yù)訓(xùn)練,由多層無(wú)監(jiān)督的受限玻爾茲曼機(jī)和一層有監(jiān)督的前饋反向傳播網(wǎng)絡(luò)組成,是一種快速學(xué)習(xí)算法,建立模型中可以分為無(wú)監(jiān)督訓(xùn)練和微調(diào)訓(xùn)練兩個(gè)階段,第一階段采用無(wú)監(jiān)督的貪婪逐層訓(xùn)練法,以獲得每層的條件概率分布;第二階段采用帶標(biāo)簽的數(shù)據(jù)篩選算法對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行微調(diào)。深度置信網(wǎng)絡(luò)結(jié)合了無(wú)監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí)各自的優(yōu)點(diǎn),克服了BP網(wǎng)絡(luò)因隨機(jī)初始化權(quán)值參數(shù)而容易陷人局部最優(yōu)和訓(xùn)練時(shí)間長(zhǎng)的缺點(diǎn),并具有高靈活性,是構(gòu)建新型深度學(xué)習(xí)網(wǎng)絡(luò)的結(jié)構(gòu)基礎(chǔ)。為解決深度置信網(wǎng)絡(luò)面臨的挑戰(zhàn),科學(xué)家們又提出了卷積深度置信網(wǎng)絡(luò)證明了深度置信網(wǎng)絡(luò)適應(yīng)卷積方式運(yùn)作,利用鄰域像素的空域關(guān)系進(jìn)行卷積操作,更容易得到變換后的高維圖像[4]。
深度循環(huán)網(wǎng)絡(luò)是提出的一類(lèi)專門(mén)用來(lái)處理序列的循環(huán)神經(jīng)網(wǎng)絡(luò),它可以像神經(jīng)網(wǎng)絡(luò)那樣擴(kuò)展到更長(zhǎng)的序列。它主要由輸人層、隱藏層和輸出層組成,從而實(shí)現(xiàn)了時(shí)間記憶的功能。相比傳統(tǒng)的網(wǎng)絡(luò),它更加符合生物神經(jīng)元的連接方式,并且已被廣泛地應(yīng)用在自然語(yǔ)言處理等領(lǐng)域,取得了不錯(cuò)的進(jìn)展[11][20]。
隨機(jī)梯度下降法是用來(lái)求解最小二乘法問(wèn)題的一種迭代法,隨機(jī)梯度下降法中求解最小化損失函數(shù)的算法過(guò)程是每次隨機(jī)取一組樣本θj,對(duì)應(yīng)的待擬合函數(shù)h(x),根據(jù)梯度下降法,用損失函數(shù)J(θ)對(duì)θ求,再不斷根據(jù)學(xué)習(xí)率更新,得到:
SGD一輪迭代只選用一條隨機(jī)選取的數(shù)據(jù),學(xué)習(xí)時(shí)間非常迅速。在非凸函數(shù)上,梯度下降法求得的可能是極值而非最值,因此耗費(fèi)大量的時(shí)間和內(nèi)存,而隨機(jī)梯度下降法擁有最終收斂于一個(gè)較好的局部極值點(diǎn)的優(yōu)勢(shì),但易出現(xiàn)損失函數(shù)波動(dòng)等問(wèn)題。
根據(jù)深度學(xué)習(xí)的特點(diǎn)和現(xiàn)如今取得的進(jìn)展,深度學(xué)習(xí)在未來(lái)的發(fā)展中體現(xiàn)出神經(jīng)網(wǎng)絡(luò)呈層數(shù)越來(lái)越多,結(jié)構(gòu)越來(lái)越復(fù)雜的趨勢(shì)。當(dāng)然網(wǎng)絡(luò)層數(shù)越多,結(jié)構(gòu)越復(fù)雜深度學(xué)習(xí)網(wǎng)絡(luò)的性能越好,學(xué)習(xí)效果也越來(lái)越好,這表明在未來(lái)的發(fā)展中深度網(wǎng)絡(luò)技術(shù)將會(huì)不斷進(jìn)步。再者深度神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn)功能也將不斷豐富。節(jié)點(diǎn)越來(lái)越豐富,不斷接近人腦的結(jié)構(gòu),將更加有利于克服目前神經(jīng)網(wǎng)絡(luò)存在的局限性。深度學(xué)習(xí)可以與強(qiáng)化學(xué)習(xí)、遷移學(xué)習(xí)等不同的機(jī)器學(xué)習(xí)技術(shù)融合,以解決單項(xiàng)技術(shù)面臨的一些缺陷。在領(lǐng)域方面,深度學(xué)習(xí)具有較好遷移學(xué)習(xí)的性質(zhì),使得一個(gè)模型訓(xùn)練好后可以拿到另一個(gè)問(wèn)題上做簡(jiǎn)單的改進(jìn)就可以繼續(xù)使用。由于深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)和語(yǔ)音識(shí)別方優(yōu)于過(guò)傳統(tǒng)方法,其中一些好的方法經(jīng)過(guò)改進(jìn),也適用于其他領(lǐng)域。例如深度學(xué)習(xí)在處理海量數(shù)據(jù)時(shí)在并行處理、進(jìn)行模式識(shí)別特征提取、數(shù)據(jù)預(yù)測(cè)等方面都有巨大的優(yōu)勢(shì),這與聲學(xué)研究具有極大的契合性,因此可以在聲學(xué)處理上運(yùn)用深度學(xué)習(xí)解決部分問(wèn)題[15]。
很多傳統(tǒng)方法,還在采用人工視覺(jué)計(jì)算,用計(jì)算機(jī)去做局部匹配,再根據(jù)視線測(cè)出的兩個(gè)匹配數(shù)據(jù)的差距,去推算空間的具體位置,這樣的判斷方法無(wú)疑存在很大的誤差,而深度學(xué)習(xí)的出現(xiàn),使得很多公司辛苦積累的軟件算法失去效果,以前提出的“算法為核心競(jìng)爭(zhēng)力”,正在逐步轉(zhuǎn)變?yōu)?,“?shù)據(jù)為核心競(jìng)爭(zhēng)力”,這同時(shí)也要求技術(shù)人員必須進(jìn)入新的起跑線,研究新技術(shù),尤其是不斷研究像深度學(xué)習(xí)這樣具有強(qiáng)大功能以及競(jìng)爭(zhēng)力的模型方法。
目前我們所能接觸到的深度學(xué)習(xí)算法多體現(xiàn)在語(yǔ)音識(shí)別,手勢(shì)識(shí)別、圖像識(shí)別、自然語(yǔ)言的問(wèn)題處理等方面,利用編程語(yǔ)言及算法實(shí)現(xiàn)識(shí)別功能,利用網(wǎng)絡(luò)上部分開(kāi)放的資源進(jìn)行識(shí)別功能的體現(xiàn),像百度、小米等人工智能語(yǔ)音都是我們學(xué)習(xí)的對(duì)象。深度學(xué)習(xí)在如今的發(fā)展中依托先進(jìn)的計(jì)算機(jī)技術(shù)以及日益進(jìn)步的處理器等硬件實(shí)力的增強(qiáng)不斷進(jìn)行算法的優(yōu)化與提升,大大解決了以前大量數(shù)據(jù)冗余的問(wèn)題,且提出多種模型解決復(fù)雜的專業(yè)疑難,在我們的生活中多方面以成功進(jìn)行使用,但在未來(lái)基于深度學(xué)習(xí)中的無(wú)標(biāo)記數(shù)據(jù)的特征學(xué)習(xí)、模型規(guī)模與訓(xùn)練速度以及其他方法的融合都是值得我們進(jìn)一步研究的問(wèn)題。