王功明 喬俊飛 關(guān)麗娜賈慶山
人工神經(jīng)網(wǎng)絡(luò)是計(jì)算機(jī)模擬人類大腦處理信息的一種運(yùn)算模式,即通過訓(xùn)練輸入和輸出數(shù)據(jù),使網(wǎng)絡(luò)得到關(guān)于輸入和輸出的非線性映射關(guān)系,從而在未來的任務(wù)中進(jìn)行自主計(jì)算.因此,人工神經(jīng)網(wǎng)絡(luò)是計(jì)算機(jī)科學(xué)、認(rèn)知科學(xué)、腦科學(xué)和數(shù)學(xué)的交叉學(xué)科,其在模式識(shí)別、智能控制、多種信號(hào)處理、優(yōu)化設(shè)計(jì)等領(lǐng)域得到較大的發(fā)展,并已在信息產(chǎn)業(yè)中得到了成功的應(yīng)用[1?5].20 世紀(jì)八十年代末期,用于人工神經(jīng)網(wǎng)絡(luò)的反向傳播算法(Back-propagation,BP) 的發(fā)明,給機(jī)器學(xué)習(xí)帶來了希望,掀起了基于統(tǒng)計(jì)模型的機(jī)器學(xué)習(xí)熱潮.這個(gè)時(shí)候的人工神經(jīng)網(wǎng)絡(luò)雖然也被稱作多層感知器(Multi-layer perceptron,MLP),但實(shí)際上是一種只含有一個(gè)隱含層的淺層人工神經(jīng)網(wǎng)絡(luò)模型.進(jìn)入21 世紀(jì)以后,隨著互聯(lián)網(wǎng)的高速發(fā)展,對(duì)大數(shù)據(jù)的智能化分析和預(yù)測(cè)提出了巨大需求.由于淺層網(wǎng)絡(luò)往往采用梯度類學(xué)習(xí)算法,人為經(jīng)驗(yàn)因素較多,缺乏自主學(xué)習(xí)過程且對(duì)初始參數(shù)的設(shè)定依賴性較強(qiáng)[6?8],這限制了神經(jīng)網(wǎng)絡(luò)的特征自動(dòng)提取能力,使得其在處理大規(guī)模不確定性數(shù)據(jù)時(shí)往往誤差較大.生物神經(jīng)系統(tǒng)學(xué)研究結(jié)果表明,人類的智能主要取決于大腦皮層,而大腦皮層是一個(gè)大規(guī)模互連的深層生物神經(jīng)網(wǎng)絡(luò)[9?11],主要認(rèn)知方式是無監(jiān)督自主學(xué)習(xí)與推理.探求大腦的組織結(jié)構(gòu)和運(yùn)行機(jī)制,從模仿人腦深層學(xué)習(xí)機(jī)制的角度出發(fā),尋求新的信息處理方法是當(dāng)前人工智能領(lǐng)域發(fā)展的優(yōu)先方向.然而,由于理論分析的難度,加上訓(xùn)練方法需要很多經(jīng)驗(yàn)和技巧,所以這個(gè)時(shí)期深層人工神經(jīng)網(wǎng)絡(luò)相對(duì)較為沉寂.
2006 年,加拿大多倫多大學(xué)教授、機(jī)器學(xué)習(xí)領(lǐng)域泰斗― Geoffrey Hinton 和他的學(xué)生Ruslan Salakhutdinov 在頂尖學(xué)術(shù)刊物《Science》上發(fā)表了一篇文章,開啟了深度學(xué)習(xí)(Deep learning,DL)在學(xué)術(shù)界和工業(yè)界的浪潮[12?14].主要思想是利用“逐層初始化(Layer-wise pre-training)”來完成自主學(xué)習(xí)與推理過程,從而有效克服深層結(jié)構(gòu)的訓(xùn)練困難.近幾年來,深度學(xué)習(xí)憑借其模擬人腦分層學(xué)習(xí)和自主推理的認(rèn)知機(jī)理逐漸成為研究熱點(diǎn)[15],同時(shí)也帶動(dòng)了人工神經(jīng)網(wǎng)絡(luò)領(lǐng)域的進(jìn)一步發(fā)展.由于深度學(xué)習(xí)能夠在大量數(shù)據(jù)任務(wù)中快速穩(wěn)定地計(jì)算,這推動(dòng)了云計(jì)算、大數(shù)據(jù)科學(xué)的發(fā)展,如今已經(jīng)在自然語義理解、模式識(shí)別問題、機(jī)器人學(xué)和數(shù)據(jù)挖掘等方面得到了較好的應(yīng)用[16?19],甚至在機(jī)器情感分析方面也開始被研究,使得該領(lǐng)域朝著圖靈機(jī)的實(shí)現(xiàn)又邁進(jìn)了一大步.2016 年,利用深度學(xué)習(xí)技術(shù)訓(xùn)練過的阿爾法圍棋(AlphaGo) 擊敗人類圍棋冠軍,引起了學(xué)術(shù)界和科技界的巨大轟動(dòng),并激起了人們對(duì)深度學(xué)習(xí)研究的再一次熱潮.
目前,深度信念網(wǎng)絡(luò)(Deep belief network,DBN) 是深度學(xué)習(xí)的主要實(shí)現(xiàn)方法之一.DBN 是具有若干潛變量層的生成模型.潛變量通常是二值的,而可見單元可以是二值或?qū)崝?shù)[20?21].盡管構(gòu)造連接比較稀疏的DBN 是可能的,但在一般的模型中,每層的每個(gè)單元連接到每個(gè)相鄰層中的每個(gè)單元,而層內(nèi)沒有連接.DBN 可以通過若干個(gè)受限玻爾茲曼機(jī)(Restricted Boltzmann machine,RBM)的順序堆疊來構(gòu)造,其學(xué)習(xí)過程分為兩個(gè)階段,即首先對(duì)RBM 進(jìn)行逐層無監(jiān)督預(yù)訓(xùn)練,再用反向傳播算法對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行有監(jiān)督的調(diào)優(yōu).DBN 的這種分階段訓(xùn)練方法使其在學(xué)習(xí)深層結(jié)構(gòu)上取得了一定的成功,并在圖像處理、模式識(shí)別、系統(tǒng)建模和預(yù)測(cè)等任務(wù)中得到了關(guān)注和研究[20,22?27].
近年來,眾多學(xué)者在現(xiàn)有DBN 結(jié)構(gòu)和學(xué)習(xí)算法的基礎(chǔ)上進(jìn)行了拓展與改進(jìn),并提出了多種類型的DBN 變種模型.目前,比較常見的DBN 變種模型主要有稀疏DBN[28?29]、自組織DBN[26]、增量式DBN[27]、遞歸DBN[30].與傳統(tǒng)的DBN 相比,改進(jìn)型的DBN 分別在各自的聚焦點(diǎn)上取得了部分性能上的提升.但是,在結(jié)構(gòu)自主確定方面,DBN 仍然存在一些難以解決的瓶頸問題,相關(guān)的研究工作還處于剛剛起步狀態(tài),在理論、技術(shù)以及應(yīng)用層面上還有很大的提升空間,在未來一段時(shí)間內(nèi)仍將是深度學(xué)習(xí)研究中比較熱門的研究方向之一.
深度信念網(wǎng)絡(luò)是為了簡(jiǎn)化邏輯斯蒂信念網(wǎng)絡(luò)的推理困難而提出的一種深度模型,也是目前深度學(xué)習(xí)最主要的實(shí)現(xiàn)方式之一.DBN 可以通過受限玻爾茲曼機(jī)的順序堆疊來構(gòu)造,其學(xué)習(xí)過程分為兩個(gè)階段,首先是對(duì)RBM 進(jìn)行逐層無監(jiān)督預(yù)訓(xùn)練,然后再用反向傳播算法對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行有監(jiān)督的調(diào)優(yōu).本節(jié)重點(diǎn)介紹DBN 的無監(jiān)督學(xué)習(xí).RBM 和DBN 的結(jié)構(gòu)分別如圖1 和圖2 所示.
圖1 RBM 結(jié)構(gòu)圖Fig.1 Structure of RBM
圖2 DBN 結(jié)構(gòu)圖Fig.2 Structure of DBN
給定模型參數(shù)θ=(wR,bv,bh),那么可視層和隱含層的聯(lián)合概率分布P(v,h;θ) 用能量函數(shù)E(v,h;θ) 定義為
對(duì)于一個(gè)伯努利(可視層) 分布-伯努利(隱含層) 分布的RBM,能量函數(shù)定義為
其中,是RBM 的連接權(quán)值,bvi和bhj分別表示可視層節(jié)點(diǎn)和隱含層節(jié)點(diǎn)的偏置.那么條件概率分布可表示為
式中,σ(·) 是一個(gè)Sigmoid 函數(shù).
由于可視層和隱含層是伯努利的二值狀態(tài),所以判斷它們二值概率取值的標(biāo)準(zhǔn)常通過設(shè)定一個(gè)閾值來實(shí)現(xiàn)[31].
通過計(jì)算對(duì)數(shù)似然函數(shù)logP(v;θ) 的梯度,可以得到RBM 權(quán)值更新公式為
式中,τ和η分別表示RBM 的迭代次數(shù)和學(xué)習(xí)率,Edata(vihj) 和Emodel(vihj) 分別表示訓(xùn)練集中觀測(cè)數(shù)據(jù)的期望和模型所確定分布上的期望[32].特別地,RBM 有一個(gè)有趣的性質(zhì),即當(dāng)利用基于最大似然的學(xué)習(xí)規(guī)則訓(xùn)練時(shí),連接兩個(gè)神經(jīng)元的特定權(quán)重的更新僅取決于這兩個(gè)神經(jīng)元在不同分布下收集的統(tǒng)計(jì)信息:Pmodel(v) 和網(wǎng)絡(luò)的其余部分參與塑造這些統(tǒng)計(jì)信息,但是權(quán)值參數(shù)可以在完全不知道網(wǎng)絡(luò)其余部分或這些統(tǒng)計(jì)信息如何產(chǎn)生的情況下更新.這意味著學(xué)習(xí)規(guī)則是“局部”的,這使得RBM 的學(xué)習(xí)似乎在某種程度上是符合生物學(xué)機(jī)理.我們可以設(shè)想每個(gè)神經(jīng)元都是RBM 中隨機(jī)變量的情況,那么連接兩個(gè)隨機(jī)變量的軸突和樹突只能通過觀察與它們物理上實(shí)際接觸細(xì)胞的激發(fā)模式來學(xué)習(xí).特別地,經(jīng)常發(fā)生某種強(qiáng)烈的脈沖激勵(lì)時(shí)的兩個(gè)神經(jīng)元之間的連接會(huì)被加強(qiáng),這就是Hebb 學(xué)習(xí)規(guī)則的核心思想.Hebb 學(xué)習(xí)規(guī)則給出了生理學(xué)與心理學(xué)之間的內(nèi)在聯(lián)系,該規(guī)則至今仍被許多神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法所使用.
作為一種深層網(wǎng)絡(luò)模型,DBN 兼具生成模型和判別模型的雙重屬性.因?yàn)镈BN 的預(yù)訓(xùn)練過程主要用來表達(dá)數(shù)據(jù)的高階相關(guān)性或者描述數(shù)據(jù)的聯(lián)合統(tǒng)計(jì)分布,具有生成模型的特點(diǎn);DBN 有監(jiān)督調(diào)優(yōu)過程通常用來分類數(shù)據(jù)的內(nèi)在模式或者描述數(shù)據(jù)的后驗(yàn)分布,具有判別模型的特點(diǎn).這里的“生成”是指從隱含層到輸入數(shù)據(jù)的的重構(gòu)過程,而“判別”是指從輸入數(shù)據(jù)到隱含層的歸約過程.同時(shí),作為一種生成模型,生成式對(duì)抗網(wǎng)絡(luò)(Generative adversarial network,GAN) 近年來同樣受到很大的關(guān)注并進(jìn)行了廣泛的應(yīng)用[32?33].GAN 實(shí)質(zhì)上屬于一種基于深度學(xué)習(xí)的混合模型,其通過框架中生成模型和判別模型的互相博弈學(xué)習(xí)產(chǎn)生相當(dāng)好的輸出.從數(shù)據(jù)生成角度看,GAN 的數(shù)據(jù)生成過程是在有監(jiān)督信號(hào)的反饋?zhàn)饔孟峦瓿傻?而DBN 作為一種生成模型時(shí),其監(jiān)督信號(hào)是數(shù)據(jù)本身,即通過對(duì)原始數(shù)據(jù)的重構(gòu)完成網(wǎng)絡(luò)的訓(xùn)練,從而具有生成能力.具體應(yīng)用中,DBN 常作為GAN 的生成模型,與判別模型進(jìn)行對(duì)抗學(xué)習(xí)[32].
DBN 學(xué)習(xí)模型的優(yōu)點(diǎn)是通過組合許多RBM,把上一層RBM 的特征激勵(lì)作為下一層的訓(xùn)練數(shù)據(jù),可以高效地對(duì)隱含層進(jìn)行學(xué)習(xí).遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent neural networks,RNN),它的深度甚至可以達(dá)到和輸入數(shù)據(jù)序列的長(zhǎng)度一致.在無監(jiān)督學(xué)習(xí)模式下,RNN 被用來根據(jù)先前的數(shù)據(jù)樣本預(yù)測(cè)未來的數(shù)據(jù)序列,并且學(xué)習(xí)過程中沒有用到類別信息.然而,RNN 在近幾年才得以廣泛使用,部分原因是由于在訓(xùn)練中遇到的梯度彌散或梯度爆炸問題,它很難通過訓(xùn)練來捕捉長(zhǎng)時(shí)相關(guān)性.隨著在Hessianfree 優(yōu)化研究方面的進(jìn)展,在一定程度上解決了這個(gè)問題,該方法使用了近似二階信息或隨機(jī)曲率估計(jì).另外,RNN 沒有基于無監(jiān)督預(yù)訓(xùn)練的參數(shù)初始化過程,這也是其與DBN 在訓(xùn)練原理上的最大區(qū)別.
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,CNN) 是另一種具有判別性能的深度學(xué)習(xí)網(wǎng)絡(luò),它的每個(gè)模塊都是由卷積層(Convolutional layer) 和池化層(Pooling layer) 組成.卷積層共享權(quán)值,池化層對(duì)卷積層的輸出進(jìn)行降采樣,減少了下一層的數(shù)據(jù)量.研究發(fā)現(xiàn),CNN 的應(yīng)用主要集中于計(jì)算機(jī)視覺或者圖像識(shí)別領(lǐng)域,并且效果較為出色[34].而DBN 的應(yīng)用則廣泛分布于計(jì)算機(jī)視覺和數(shù)據(jù)建模及預(yù)測(cè)等領(lǐng)域.另一種與DBN 相似的深度結(jié)構(gòu)基本學(xué)習(xí)模型是自編碼器(Auto encoder),自編碼器主要用于完成數(shù)據(jù)轉(zhuǎn)換的學(xué)習(xí)任務(wù),在本質(zhì)上是一種無監(jiān)督學(xué)習(xí)的非線性特征提取模型.自編碼器與DBN 也有著重要的區(qū)別,這種區(qū)別的核心在于:自編碼器希望通過非線性變換找到輸入數(shù)據(jù)的特征表示,它是某種確定論性的模型;而DBN 的訓(xùn)練則是圍繞概率分布進(jìn)行的,它通過輸入數(shù)據(jù)的概率分布(能量函數(shù)) 來提取高層表示,是某種概率論性的模型.
另外,DBN 具有較多的超參數(shù),可分為兩類:一類是訓(xùn)練參數(shù)(如學(xué)習(xí)率和動(dòng)量項(xiàng));另一類是定義網(wǎng)絡(luò)結(jié)構(gòu)的參數(shù)(如網(wǎng)絡(luò)層數(shù)和每層神經(jīng)元數(shù)).前者的自動(dòng)調(diào)優(yōu)屬于超參數(shù)優(yōu)化(Hyperparameter optimization,HO) 的范疇,而后者的自動(dòng)調(diào)優(yōu)一般稱為神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(Neural architecture search,NAS).嚴(yán)格地講,NAS 屬于DBN 結(jié)構(gòu)設(shè)計(jì)的方法之一,目前DBN 結(jié)構(gòu)設(shè)計(jì)大多數(shù)通過提前賦值來完成,即在網(wǎng)絡(luò)訓(xùn)練過程中結(jié)構(gòu)不變,只有訓(xùn)練參數(shù)在不斷調(diào)整.本文即將介紹的兩種變結(jié)構(gòu)設(shè)計(jì)策略(自組織結(jié)構(gòu)和增量式結(jié)構(gòu)) 對(duì)固定結(jié)構(gòu)來講是一種突破,但是與NAS 又存在區(qū)別,主要體現(xiàn)在:NAS 先定義搜索空間,然后通過搜索策略找出候選網(wǎng)絡(luò)結(jié)構(gòu),對(duì)它們進(jìn)行評(píng)估,根據(jù)反饋進(jìn)行下一輪的搜索;而變結(jié)構(gòu)策略只要是以某種觸發(fā)機(jī)制或誤差導(dǎo)向來實(shí)時(shí)調(diào)整結(jié)構(gòu)規(guī)模.
目前最為常見的DBN 應(yīng)用形式是定結(jié)構(gòu)模型,即在訓(xùn)練過程中DBN 結(jié)構(gòu)固定不變.盡管現(xiàn)在與其他無監(jiān)督或生成學(xué)習(xí)算法相比,固定結(jié)構(gòu)的DBN大多已經(jīng)失去了青睞并很少使用,但它們?cè)谏疃葘W(xué)習(xí)歷史中的重要作用仍應(yīng)該得到承認(rèn)[20].定結(jié)構(gòu)DBN 在處理實(shí)際復(fù)雜數(shù)據(jù)時(shí),無監(jiān)督預(yù)訓(xùn)練和反向傳播調(diào)優(yōu)算法均具有提升和改進(jìn)的空間,主要表現(xiàn)在預(yù)訓(xùn)練耗時(shí)和調(diào)優(yōu)精度兩方面.同時(shí),定結(jié)構(gòu)DBN 主要是通過足夠的經(jīng)驗(yàn)和充足的數(shù)據(jù)來確定其結(jié)構(gòu),且其結(jié)構(gòu)一旦確定將不再調(diào)整,這導(dǎo)致定結(jié)構(gòu)DBN 無法滿足待處理數(shù)據(jù)的多樣性變化要求.
眾所周知,DBN 具有很強(qiáng)的計(jì)算和信息處理能力,但是它對(duì)于模式識(shí)別、感知以及在復(fù)雜環(huán)境中作決策等問題的處理能力卻遠(yuǎn)不如人.神經(jīng)生理學(xué)研究結(jié)果表明,人的智能主要取決于大腦皮層,而大腦皮層是一個(gè)大規(guī)?;ミB的生物深度神經(jīng)網(wǎng)絡(luò).在處理不同信息時(shí),生物深度神經(jīng)網(wǎng)絡(luò)會(huì)啟用不同的神經(jīng)元連接結(jié)構(gòu),也就是說,其采用的是一種變結(jié)構(gòu)的信息處理機(jī)制[35].而在實(shí)際過程中,定結(jié)構(gòu)DBN 只是通過改變權(quán)值參數(shù)來適應(yīng)任務(wù)的變化,但如何構(gòu)造一種DBN 使其結(jié)構(gòu)在動(dòng)態(tài)調(diào)整的同時(shí)不斷調(diào)整權(quán)值參數(shù),是今后DBN 發(fā)展的趨勢(shì),也是一個(gè)開放且尚未解決的問題[36].
研究發(fā)現(xiàn),現(xiàn)有的DBN 模型在學(xué)習(xí)過程中內(nèi)部神經(jīng)元之間的權(quán)值連接均是一種密集表述[37?38].然而,在深度學(xué)習(xí)算法中,一個(gè)主要的目的是獨(dú)立地表述數(shù)據(jù)的差異[36],密集表述容易導(dǎo)致網(wǎng)絡(luò)不穩(wěn)定,因?yàn)槿魏屋斎肷系臄_動(dòng)都會(huì)引起中間隱含層特征表述向量發(fā)生變化,甚至是巨變[38].稀疏表述就是用較少的基本信號(hào)的線性組合來表述大部分或者全部的原始信號(hào).利用稀疏表述對(duì)DBN 進(jìn)行稀疏連接訓(xùn)練,可以有效地降低輸入擾動(dòng)對(duì)中間隱含層特征表述向量的影響[39].無監(jiān)督學(xué)習(xí)過程中的稀疏表述原理如圖3 所示.
圖3 稀疏表述原理圖Fig.3 Sparse representation scheme
Lee 等[40]通過在RBM 訓(xùn)練過程中引入一個(gè)正則化懲罰項(xiàng)來降低密集表述的程度.具體來講,首先設(shè)置一個(gè)隱含層神經(jīng)元的期望激活強(qiáng)度值,然后懲罰隱含層神經(jīng)元實(shí)際激活強(qiáng)度與期望激活強(qiáng)度之間的偏差.給定m組訓(xùn)練數(shù)據(jù)集其實(shí)現(xiàn)稀疏表述的優(yōu)化問題為
其中,λ是正則化常數(shù),μ是控制著第j個(gè)隱含層神經(jīng)元稀疏度的期望激活強(qiáng)度值,通過這種提前給定期望激活閾值的方法可以實(shí)現(xiàn)一定意義上的稀疏表述.
為了使所有隱含層神經(jīng)元能夠以一定的概率或者波動(dòng)性逼近期望激活強(qiáng)度值,Keyvanrad 等[41]通過引入正態(tài)函數(shù)的集中分布思想來控制網(wǎng)絡(luò)的稀疏度.根據(jù)這種思想,對(duì)應(yīng)于稀疏表述優(yōu)化問題的正則化項(xiàng)可表示為
其中,σ是控制稀疏強(qiáng)度波動(dòng)性的方差.
同時(shí),應(yīng)該注意到參數(shù)的設(shè)置對(duì)網(wǎng)絡(luò)學(xué)習(xí)效果的影響是顯著的[38],如果設(shè)置不當(dāng),要實(shí)現(xiàn)較高精度的建模并學(xué)習(xí)到正確的特征信息往往比較困難.因此上述稀疏表述方法雖然在網(wǎng)絡(luò)性能的魯棒性方面取得一定程度的效果,但對(duì)無監(jiān)督學(xué)習(xí)的迭代次數(shù)和神經(jīng)元數(shù)量等有一定依賴.
目前DBN 在應(yīng)用中存在一個(gè)重要問題,即針對(duì)不同的問題,DBN 需要提前設(shè)置網(wǎng)絡(luò)深度,然后利用經(jīng)驗(yàn)法比較各種不同深度的精度和訓(xùn)練效果.這極大地制約了網(wǎng)絡(luò)解決問題時(shí)的效率,使DBN 的進(jìn)一步推廣與應(yīng)用受到很大限制.實(shí)際上,著名深度學(xué)習(xí)專家Bengio 在2009 年提出了一個(gè)與此類似的問題[36],該問題原文描述為:“Is there a depth that is mostly sufficient for the computations necessary to approach human-level performance of AI tasks?”.意思是,是否存在一個(gè)合適深度的DBN,可以用來盡可能像人類解決問題那樣去解決大多數(shù)的AI 問題呢? 由于該問題比較籠統(tǒng),涉及的學(xué)科范圍太廣,很難通過一個(gè)有效的數(shù)學(xué)方法來解決該問題,難以設(shè)計(jì)出包含較多的特征并具有代表性的實(shí)驗(yàn)對(duì)其進(jìn)行驗(yàn)證,因此該問題在短時(shí)間內(nèi)難以得到徹底的解決.目前,針對(duì)此問題的初步試探性解決方法有結(jié)構(gòu)自組織策略和湊試法.本節(jié)只介紹結(jié)構(gòu)自組織策略.
Qiao 等[26]提出了一種基于神經(jīng)元激活強(qiáng)度和誤差下降率最小化的結(jié)構(gòu)自組織方法.首先,在無監(jiān)督預(yù)訓(xùn)練階段將隱含層神經(jīng)元的激活強(qiáng)度作為神經(jīng)元的“貢獻(xiàn)度”,并根據(jù)“貢獻(xiàn)度”的大小對(duì)神經(jīng)元進(jìn)行增加或刪減.其次,在有監(jiān)督調(diào)優(yōu)階段,將訓(xùn)練誤差的下降率作為隱含層的刪減標(biāo)準(zhǔn),當(dāng)訓(xùn)練誤差下降率首次出現(xiàn)遞減時(shí)刪掉一個(gè)隱含層,否則增加隱含層.激活強(qiáng)度SI可表示為
其中,α是正常數(shù),oi·l是第l個(gè)隱含層的第i個(gè)神經(jīng)元的輸出,i=1,2,3,···,Nl,Nl是第l個(gè)隱含層的神經(jīng)元個(gè)數(shù),si·l表示第l個(gè)隱含層的第i個(gè)神經(jīng)元的輸入權(quán)值之和,可通過如下公式計(jì)算得到
其中,rij是i個(gè)神經(jīng)元的第j個(gè)輸入量,wij是第j個(gè)輸入神經(jīng)元和第i個(gè)神經(jīng)元之間的連接權(quán)值,ni是第i個(gè)神經(jīng)元的輸入神經(jīng)元個(gè)數(shù),si·l所表示的權(quán)值連接過程如圖4 所示.DBN 的結(jié)構(gòu)自組織策略原理如圖5 所示.
在傳統(tǒng)淺層神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)方面,研究人員注重結(jié)構(gòu)自組織設(shè)計(jì)方法[42?43],即根據(jù)神經(jīng)元激活強(qiáng)度的大小來增加或者刪減結(jié)構(gòu).盡管結(jié)構(gòu)自組織設(shè)計(jì)方法在淺層神經(jīng)網(wǎng)絡(luò)中得到了成功的應(yīng)用并取得了較好的效果,但關(guān)于DBN 結(jié)構(gòu)自組織方法的研究卻非常有限.本節(jié)介紹的基于傳統(tǒng)自組織方法的變結(jié)構(gòu)DBN 模型在學(xué)習(xí)精度上有所提高,但是在學(xué)習(xí)效率方面提高不明顯,相關(guān)研究還需要進(jìn)一步加強(qiáng).
圖4 計(jì)算激活強(qiáng)度的權(quán)值連接過程Fig.4 Weights connecting process of computing spiking intensity
與傳統(tǒng)淺層神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)自組織相比,DBN結(jié)構(gòu)自組織策略一直沒有得到學(xué)術(shù)界的廣泛關(guān)注,主要原因有:1) 自組織方法將神經(jīng)元的激活強(qiáng)度作為增加和刪減結(jié)構(gòu)的評(píng)判標(biāo)準(zhǔn),而DBN 往往擁有多個(gè)隱含層且每個(gè)隱含層含有較多的神經(jīng)元,這導(dǎo)致DBN 自組織設(shè)計(jì)過程復(fù)雜且計(jì)算量龐大[26];2) 預(yù)訓(xùn)練好的初始DBN 可被視為一種知識(shí)源域(Source domain),其中的知識(shí)可被視為一種可重復(fù)利用的經(jīng)驗(yàn)[44],但是結(jié)構(gòu)自組織方法未能在知識(shí)源域到目標(biāo)域(Target domain) 之間實(shí)現(xiàn)知識(shí)的轉(zhuǎn)移.因此,在DBN 結(jié)構(gòu)自組織過程中需要不間斷地對(duì)目標(biāo)域內(nèi)若干個(gè)新增子結(jié)構(gòu)進(jìn)行參數(shù)初始化,從而導(dǎo)致自組織方法在DBN 結(jié)構(gòu)設(shè)計(jì)中應(yīng)用成本較高,甚至難以實(shí)現(xiàn).
通過上述分析可知,DBN 結(jié)構(gòu)自組織方法遇到的主要障礙是計(jì)算量巨大,而如何在知識(shí)源域與目標(biāo)域之間實(shí)現(xiàn)知識(shí)的有效轉(zhuǎn)移成為關(guān)鍵.遷移學(xué)習(xí)(Transfer learning,TL) 是一種旨在實(shí)現(xiàn)知識(shí)轉(zhuǎn)移的學(xué)習(xí)方法且具有較強(qiáng)的魯棒性[45?47].常用的遷移學(xué)習(xí)方法是:首先訓(xùn)練一個(gè)模型并將其作為知識(shí)源域,然后再利用特定的方法將知識(shí)源域中可重復(fù)利用的知識(shí)轉(zhuǎn)移到目標(biāo)域中來加速新結(jié)構(gòu)的學(xué)習(xí)過程[48?49],從而提高復(fù)雜模型的訓(xùn)練效率.近些年來,基于遷移學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)復(fù)合訓(xùn)練方法大批涌現(xiàn)并取得了較好的效果[50?51].
圖5 結(jié)構(gòu)自組織策略原理圖Fig.5 Self-organizing structure strategy scheme
為了解決上述問題,Wang 等[27]提出了一種基于遷移學(xué)習(xí)策略的增量式深度信念網(wǎng)絡(luò)(TLGDBN) 模型.相較于淺層神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)自組織方法,不同之處在于TL-GDBN 沒有利用神經(jīng)元的激活強(qiáng)度作為結(jié)構(gòu)增長(zhǎng)或刪減的依據(jù).首先,初始化一個(gè)單隱含層DBN 并對(duì)其進(jìn)行預(yù)訓(xùn)練(Pretraining),然后固定預(yù)訓(xùn)練好的初始DBN 并將其作為知識(shí)源域.其次,在初始DBN 的基礎(chǔ)上不斷增加固定規(guī)模的隱含層和神經(jīng)元并將其作為目標(biāo)域,同時(shí)建立基于遷移學(xué)習(xí)的知識(shí)轉(zhuǎn)移規(guī)則來加速目標(biāo)域的訓(xùn)練過程.第三,根據(jù)TL-GDBN 的預(yù)訓(xùn)練的重構(gòu)誤差設(shè)置結(jié)構(gòu)增長(zhǎng)的停止準(zhǔn)則及其閾值,從而獲得最優(yōu)的結(jié)構(gòu).
基于遷移學(xué)習(xí)的增量式深度信念網(wǎng)絡(luò)(TLGDBN) 的結(jié)構(gòu)增長(zhǎng)過程僅在預(yù)訓(xùn)練階段進(jìn)行.每一步的結(jié)構(gòu)增長(zhǎng)包括神經(jīng)元和隱含層兩部分.數(shù)據(jù)被分為三部分:訓(xùn)練數(shù)據(jù)(Training data)、驗(yàn)證數(shù)據(jù)(Validating data) 和測(cè)試數(shù)據(jù)(Testing data).訓(xùn)練數(shù)據(jù)用來預(yù)訓(xùn)練初始DBN 并獲得知識(shí)源域,驗(yàn)證數(shù)據(jù)用來結(jié)合遷移學(xué)習(xí)實(shí)現(xiàn)TL-GDBN 結(jié)構(gòu)的增量式變化,測(cè)試數(shù)據(jù)用來測(cè)試TL-GDBN.預(yù)訓(xùn)練結(jié)束后TL-GDBN 結(jié)構(gòu)將不再變化.
知識(shí)在遷移學(xué)習(xí)規(guī)則下持續(xù)地被轉(zhuǎn)移到新增結(jié)構(gòu)中,TL-GDBN 的一步結(jié)構(gòu)增長(zhǎng)過程如下:
步驟1.結(jié)構(gòu)初始化和預(yù)訓(xùn)練.首先初始化一個(gè)單隱含層的DBN 結(jié)構(gòu),然后利用對(duì)比散度(Contrastive divergence,CD) 算法和訓(xùn)練數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練.假設(shè)初始化DBN 的輸入和其隱含層神經(jīng)元的個(gè)數(shù)分別為m和n,那么預(yù)訓(xùn)練后學(xué)習(xí)到的知識(shí)(權(quán)值參數(shù)矩陣)Rm×n將被保存在知識(shí)源域中.
步驟2.增加神經(jīng)元.增加兩倍于初始DBN 隱含層神經(jīng)元數(shù)量的神經(jīng)元,新的權(quán)值參數(shù)矩陣變?yōu)椤蔙m×3n.
步驟3.增加隱含層.增加與初始DBN 具有相同數(shù)量神經(jīng)元的隱含層,對(duì)應(yīng)的新增權(quán)值參數(shù)矩陣為R3n×n.
步驟4.計(jì)算預(yù)訓(xùn)練過程的重構(gòu)誤差,并將重構(gòu)誤差作為預(yù)訓(xùn)練過程誤差.
步驟5.設(shè)置結(jié)構(gòu)增長(zhǎng)的停止準(zhǔn)則.利用驗(yàn)證數(shù)據(jù)計(jì)算重構(gòu)誤差,并將重構(gòu)誤差的連續(xù)若干步的減小量作為結(jié)構(gòu)增長(zhǎng)的停止準(zhǔn)則.同時(shí)設(shè)置停止準(zhǔn)則的閾值,當(dāng)訓(xùn)練過程中的重構(gòu)誤差滿足閾值條件時(shí),TL-GDBN 結(jié)構(gòu)停止增長(zhǎng)并進(jìn)入步驟6;否則,跳轉(zhuǎn)到步驟2.
步驟6.固定當(dāng)前TL-GDBN 的最優(yōu)結(jié)構(gòu),預(yù)訓(xùn)練過程結(jié)束.
TL-GDBN 的一步結(jié)構(gòu)增長(zhǎng)過程原理如圖6 所示.結(jié)構(gòu)增長(zhǎng)過程一旦結(jié)束,TL-GDBN 的結(jié)構(gòu)和對(duì)應(yīng)的初始權(quán)值參數(shù)即被確定.
實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),TL-GDBN 的稀疏度隨著結(jié)構(gòu)的不斷擴(kuò)大而表現(xiàn)出先增大后穩(wěn)定的趨勢(shì).這種趨勢(shì)表明在結(jié)構(gòu)增長(zhǎng)過程中TL-GDBN 的密集表述越來越弱,網(wǎng)絡(luò)各隱含層提取到的特征向量受輸入波動(dòng)影響的程度也越來越弱,即網(wǎng)絡(luò)魯棒性較強(qiáng).
然而,關(guān)于如何進(jìn)行知識(shí)遷移仍然是一個(gè)難點(diǎn),究其原因主要在于:在遷移學(xué)習(xí)中,學(xué)習(xí)器必須執(zhí)行兩個(gè)或更多個(gè)不同的任務(wù),但是我們假設(shè)能夠解釋P1變化的許多因素和學(xué)習(xí)P2需要抓住的變化相關(guān).例如,我們可能在第一種情景中學(xué)習(xí)了一組數(shù)據(jù)分布特性,然后在第二種場(chǎng)景中學(xué)習(xí)了另一組數(shù)據(jù)分布特性.如果第一種情景P1中具有非常多的數(shù)據(jù),那么這有助于學(xué)習(xí)到能夠使得從P2抽取的非常少的樣本中快速泛化表示.一般來講,當(dāng)不同情景或任務(wù)存在有用特征時(shí),并且這些特征對(duì)應(yīng)多個(gè)情景出現(xiàn)的潛在因素,遷移學(xué)習(xí)可以發(fā)揮事半功倍的效果.然而,有時(shí)不同任務(wù)之間共享的不是輸入的數(shù)據(jù)分布特性,而是輸出的目標(biāo)數(shù)據(jù)分布特征.這種情況下,使用遷移學(xué)習(xí)往往會(huì)得到不盡人意的學(xué)習(xí)效果.
從學(xué)習(xí)策略上看,傳統(tǒng)DBN 模型是一種前饋網(wǎng)絡(luò),堆疊的RBM 只能保存暫時(shí)的信息(達(dá)到能量平衡后的穩(wěn)態(tài)信息),故現(xiàn)有的DBN 模型對(duì)時(shí)間序列的建模與預(yù)測(cè)精度相對(duì)較低[52?55].Ichimura等[30]提出一種遞歸深度信念網(wǎng)絡(luò)(RNN-DBN),其在結(jié)構(gòu)上是由若干個(gè)遞歸受限玻爾茲曼機(jī)(RNNRBM)[56]堆疊組成.而RNN-RBM 則是在遞歸時(shí)間RBM (RTRBM) 的基礎(chǔ)上發(fā)展起來的[52],是一種基于能量的時(shí)域序列密度估計(jì)模型.RTRBM 結(jié)構(gòu)如圖7 所示.
圖6 TL-GDBN 的一步增長(zhǎng)過程Fig.6 Illustration of one-growing step
圖7 RTRBM 的結(jié)構(gòu)圖Fig.7 RTRBM structure
圖7 中每一個(gè)框代表一個(gè)RBM,h是隱含層,v是可視層,雙向箭頭表示h和v生成的條件概率,即:
其中,A(t)=表示所有t時(shí)刻之前的(v,h) 集合.此外對(duì)于RTRBM,可以理解為每個(gè)時(shí)刻可以由上一時(shí)刻的狀態(tài)h(t?1)對(duì)該時(shí)刻產(chǎn)生影響(通過Whh和Whv),然后通過RBM 得到一個(gè)(h(t),v(t)) 穩(wěn)態(tài).由于每一個(gè)參數(shù)都和上一時(shí)刻的參數(shù)有關(guān),可以認(rèn)為只有偏置項(xiàng)是受隱含層影響的,即:
從結(jié)構(gòu)和學(xué)習(xí)過程中可以看出,RTRBM 的隱含層描述的是可視層的條件概率分布,只能保存暫時(shí)的信息(達(dá)到穩(wěn)態(tài)的信息).將RTRBM 中的隱含層用遞歸網(wǎng)絡(luò)代替時(shí),就可以得到RNN-RBM,其結(jié)構(gòu)由圖8 所示.上面每個(gè)框代表一個(gè)RBM,而下面的框則表示一個(gè)按時(shí)間展開了的RNN.這樣設(shè)計(jì)的好處是把隱含層分離了,h只用于表示當(dāng)前RBM的穩(wěn)態(tài)狀態(tài),u表示RNN 里的隱含層節(jié)點(diǎn).通過順序堆疊RNN-RBM 可以得到RNN-DBN,其結(jié)構(gòu)如圖9 所示.
圖8 RNN-RBM 的結(jié)構(gòu)圖Fig.8 RNN-RBM structure
盡管RNN-DBN 在結(jié)構(gòu)和學(xué)習(xí)算法上取得了成功,但是其穩(wěn)定性和收斂性卻成為一個(gè)新的復(fù)雜問題[57?59].例如,在取得較高建模精度的同時(shí)如何分析RNN-DBN 遞歸算法的穩(wěn)定性和收斂性等問題仍需要繼續(xù)深入研究.
以上所述幾種DBN 結(jié)構(gòu)均在各自的關(guān)注點(diǎn)上取得到了進(jìn)步,但距離網(wǎng)絡(luò)性能的整體提升還有差距.稀疏DBN 是在定結(jié)構(gòu)基礎(chǔ)上為了提升網(wǎng)絡(luò)輸出魯棒性能(穩(wěn)定性) 而提出的,其適用于處理復(fù)雜數(shù)據(jù)并探索無監(jiān)督學(xué)習(xí)過程的稀疏連接原理.自組織DBN 和增量式DBN 是在定結(jié)構(gòu)基礎(chǔ)上提出的變結(jié)構(gòu)衍生模型,它們的主要目的是探索如何利用變結(jié)構(gòu)機(jī)制來提升網(wǎng)絡(luò)的學(xué)習(xí)效率.需要指出的是,增量式DBN 利用了知識(shí)遷移策略,適用于標(biāo)簽數(shù)據(jù)不足且知識(shí)源域與目標(biāo)域的數(shù)據(jù)分布特性相似的場(chǎng)景,而自組織DBN 則是利用了神經(jīng)元的激活度,對(duì)應(yīng)用場(chǎng)景沒有特別的要求.遞歸DBN 是一種帶有反饋連接的深層結(jié)構(gòu),主要應(yīng)用在時(shí)間序列建模和預(yù)測(cè).
圖9 RNN-DBN 的結(jié)構(gòu)圖Fig.9 RNN-DBN structure
以上介紹的4 種DBN 學(xué)習(xí)結(jié)構(gòu)均從各自的出發(fā)點(diǎn)解決了不同的學(xué)習(xí)問題,并提高了相應(yīng)的網(wǎng)絡(luò)性能.稀疏DBN 通過引入稀疏表述提高了網(wǎng)絡(luò)的輸出魯棒性.自組織DBN 是基于神經(jīng)元激活強(qiáng)度和誤差下降率最小化的思想構(gòu)建的一種結(jié)構(gòu)增加-刪減網(wǎng)絡(luò),提高了學(xué)習(xí)精度.增量式DBN 是一種基于遷移學(xué)習(xí)策略的增長(zhǎng)型網(wǎng)絡(luò),其在學(xué)習(xí)效率和精度方面均得到提高.遞歸DBN 是通過引入反饋環(huán)構(gòu)建的一種學(xué)習(xí)網(wǎng)絡(luò),其在時(shí)間序列預(yù)測(cè)方面效果較好.表1 給出了具有不同結(jié)構(gòu)的DBN 在Mackey-Glass 時(shí)間序列建模和預(yù)測(cè)上20 次獨(dú)立實(shí)驗(yàn)的性能對(duì)比結(jié)果.
表1 不同DBN 結(jié)構(gòu)的性能對(duì)比Table 1 Performance comparison of different DBN structures
DBN 無監(jiān)督預(yù)訓(xùn)練的目的是通過逐層訓(xùn)練每一個(gè)RBM 來確定整個(gè)網(wǎng)絡(luò)的初始權(quán)值.研究表明,利用這種無監(jiān)督的算法來初始化DBN 的權(quán)值通常會(huì)得到比隨機(jī)初始化權(quán)值更好的訓(xùn)練結(jié)果[60].目前常用的無監(jiān)督預(yù)訓(xùn)練方法主要是對(duì)比散度算法[22].近些年來,眾多學(xué)者將加速預(yù)訓(xùn)練過程和提高學(xué)習(xí)精度的思想引入CD 算法中,并提出了基于自適應(yīng)學(xué)習(xí)率的CD 算法[15]和半監(jiān)督CD 算法[61].
3.1.1 自適應(yīng)學(xué)習(xí)率對(duì)比散度
盡管DBN 已經(jīng)在多個(gè)領(lǐng)域?qū)崿F(xiàn)較好的應(yīng)用,但是在理論和學(xué)習(xí)算法方面仍存在許多難以解決的問題,其中面臨的最大挑戰(zhàn)就是其預(yù)訓(xùn)練階段耗時(shí)長(zhǎng)的問題[36].Lopes 等通過合理地選取學(xué)習(xí)參數(shù)提高了RBM 的收斂速度[62],但是該方法在提高DBN整體學(xué)習(xí)速度方面效果不佳.經(jīng)過近幾年的研究,一種基于圖像處理單元(Graphic processing unit,GPU)的硬件加速器被應(yīng)用到DBN 算法運(yùn)算中,并取得了顯著的加速收斂效果[63?65],該方法的主要問題是硬件設(shè)備成本和維護(hù)費(fèi)用太高,不經(jīng)濟(jì)并且也沒有從算法的角度提高收斂速度.隨著大數(shù)據(jù)時(shí)代的到來,處理數(shù)據(jù)的信息量會(huì)呈指數(shù)級(jí)增長(zhǎng),傳統(tǒng)DBN 無法快速收斂甚至?xí)y以完成學(xué)習(xí)任務(wù),因此如何既快速又經(jīng)濟(jì)地完成對(duì)大量數(shù)據(jù)的充分學(xué)習(xí)是DBN 今后發(fā)展的一個(gè)方向[22].
喬俊飛和王功明等[15,66]根據(jù)RBM 訓(xùn)練過程連續(xù)兩次迭代后的參數(shù)更新方向的異同設(shè)計(jì)了一種自適應(yīng)學(xué)習(xí)率方法,并由此構(gòu)造了基于自適應(yīng)學(xué)習(xí)率的DBN (ALRDBN) 模型.學(xué)習(xí)率自適應(yīng)更新機(jī)制為:
其中,D和d表示學(xué)習(xí)率增大系數(shù)和減小系數(shù).學(xué)習(xí)率自適應(yīng)變化的原理是當(dāng)連續(xù)兩次迭代后的參數(shù)更新方向(變化量的正負(fù)) 相同時(shí),學(xué)習(xí)率會(huì)加大,相反則減小.
3.1.2 半監(jiān)督對(duì)比散度
在深度學(xué)習(xí)的背景下,無監(jiān)督學(xué)習(xí)可以為如何表示空間聚集樣本提供有用線索.在輸入空間緊密聚集的樣本應(yīng)該被映射到類似的表示.在許多情況下,新空間上的線性分類器可以達(dá)到較好的泛化效果[67?68].這種方法的一個(gè)經(jīng)典變種是使用主成分分析作為分類前(在投影后的數(shù)據(jù)上分類) 的預(yù)處理步驟.而半監(jiān)督學(xué)習(xí)通常指的是學(xué)習(xí)一個(gè)表示h=f(x),其學(xué)習(xí)表示的目的是使相同類中的樣本有類似的表示.
盡管DBN 的無監(jiān)督預(yù)訓(xùn)練在挖掘數(shù)據(jù)本質(zhì)特性方面具有優(yōu)勢(shì),并且可以采用有監(jiān)督學(xué)習(xí)方式對(duì)權(quán)值進(jìn)行調(diào)優(yōu),但是它本質(zhì)上是一種無監(jiān)督學(xué)習(xí)方法,因此在分類、識(shí)別以及預(yù)測(cè)等應(yīng)用領(lǐng)域效果欠佳.在分類方面,Larochelle 等[69]將監(jiān)督信息引入到RBM 中,并提出了一種稱為判別式受限玻爾茲曼機(jī)(Discriminative RBM).在預(yù)測(cè)方面,單一的無監(jiān)督預(yù)訓(xùn)練無法提取監(jiān)督信息與訓(xùn)練樣本之間更為抽象和具體的關(guān)聯(lián)特征.為了兼顧數(shù)據(jù)特征提取能力和關(guān)聯(lián)特征提取能力,Wang 等[61]提出了一種RBM 半監(jiān)督學(xué)習(xí)算法,通過隱含層共享和權(quán)值綁定將認(rèn)知模型和生成模型融合到一起.
針對(duì)半監(jiān)督的學(xué)習(xí)原理,可以構(gòu)建這樣一個(gè)模型,其中生成模型P(x) 或P(x;y) 與判別模型P(y/x) 共享參數(shù),而不用分離無監(jiān)督和有監(jiān)督部分.此模型只需權(quán)衡有監(jiān)督模型準(zhǔn)則-logP(y/x) 和無監(jiān)督或生成模型準(zhǔn)則(如-logP(x) 或-logP(x;y)).生成模型準(zhǔn)則表達(dá)了對(duì)有監(jiān)督學(xué)習(xí)問題解的特殊形式的先驗(yàn)知識(shí)[70],即P(x) 的結(jié)構(gòu)通過某種共享參數(shù)的方式連接到P(y/x).通過控制在總準(zhǔn)則中的生成準(zhǔn)則,可以獲得比純生成或純判別訓(xùn)練準(zhǔn)則更好的權(quán)衡[70?71].半監(jiān)督RBM 的結(jié)構(gòu)原理如圖10 所示.
圖10 半監(jiān)督RBM 結(jié)構(gòu)Fig.10 Structure of semi-supervised RBM
半監(jiān)督RBM 的能量函數(shù)定義如下:
其中,ψ=(wR,p,bv,bh,cu),λ1為權(quán)衡系數(shù),用于控制模型中無監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí)的比重.根據(jù)標(biāo)準(zhǔn)CD 算法不難得出半監(jiān)督RBM 的參數(shù)學(xué)習(xí)過程,即半監(jiān)督對(duì)比散度算法,此處不再贅述,由此可得到基于半監(jiān)督學(xué)習(xí)的DBN (SDBN) 模型.
DBN 有監(jiān)督調(diào)優(yōu)的目的是根據(jù)無監(jiān)督預(yù)訓(xùn)練得到的權(quán)值調(diào)整網(wǎng)絡(luò)的生成權(quán)值(靶向知識(shí)).目前,常用的有監(jiān)督調(diào)優(yōu)方法是BP 算法和基于偏最小二乘回歸(Partial least square regression,PLSR) 的調(diào)優(yōu)方法[25].
3.2.1 梯度下降算法
有監(jiān)督學(xué)習(xí)的目的就是對(duì)由無監(jiān)督學(xué)習(xí)得到的權(quán)值進(jìn)行調(diào)優(yōu).目前最常用的DBN 的調(diào)優(yōu)方法是BP 算法.以圖2 中輸出層和最后一個(gè)隱含層之間的權(quán)值wout為例,假設(shè)y和d分別是DBN 實(shí)際輸出和期望輸出,那么計(jì)算輸出誤差對(duì)wout的梯度,然后沿著該方向反向進(jìn)行調(diào)整:
其中,τ為迭代次數(shù),η為學(xué)習(xí)率.
經(jīng)過調(diào)優(yōu)后可得到輸出層和最后一個(gè)隱含層之間的更新權(quán)值wout.利用這種方法從頂層輸出層到底層輸入層依次調(diào)優(yōu)可以得到整個(gè)DBN 網(wǎng)絡(luò)的權(quán)值W=(wout,wl,wl?1,···,w2,w1).
3.2.2 偏最小二乘回歸算法
大量研究表明,傳統(tǒng)基于BP 算法的有監(jiān)督調(diào)優(yōu)方法存在諸多缺陷,尤其是當(dāng)DBN 含有多個(gè)隱含層時(shí)問題尤為突出,例如梯度消失和局部極小值等[25,27].為了消除或避開復(fù)雜的梯度計(jì)算過程導(dǎo)致的上述問題,Qiao 等[25]利用逐層偏最小二乘回歸方法代替BP 算法對(duì)整個(gè)DBN 模型進(jìn)行有監(jiān)督的調(diào)優(yōu)(Fine-tuning).基于PLSR 逐層調(diào)優(yōu)方法的原理如圖11 所示.
PLSR 是一種多對(duì)多的回歸建模方法,由于其同時(shí)考慮了自變量和因變量的信息,所以PLSR 也是一種有監(jiān)督的學(xué)習(xí)模型.特別當(dāng)兩組變量的個(gè)數(shù)很多且都存在多重相關(guān)性,而觀測(cè)數(shù)據(jù)的數(shù)量(樣本量) 又較少時(shí),用PLSR 建立的模型具有傳統(tǒng)的經(jīng)典回歸分析等方法所沒有的優(yōu)點(diǎn).基于PLSR 的DBN 有監(jiān)督調(diào)優(yōu)是從頂層輸出層(標(biāo)簽數(shù)據(jù)層) 開始,每?jī)蓪咏⒁粋€(gè)PLSR 回歸模型,直到第一個(gè)隱含層和最底層輸入層為止.基于PLSR 的逐層調(diào)優(yōu)過的過程如下:
步驟1.提取由無監(jiān)督訓(xùn)練獲得的隱含層特征向量(hl,hl?1,···,h1).
圖11 基于PLSR 的DBN 調(diào)優(yōu)Fig.11 PLSR-based fine-tuning of DBN
步驟2.將期望輸出y和最后一個(gè)隱含層特征分別視為因變量和自變量,并建立PLSR 模型,可以得到輸出權(quán)值wout.
步驟3.從hl?1和hl?2到h1和vin每?jī)蓪又g建立PLSR 模型,并最終得到基于PLSR 調(diào)優(yōu)的優(yōu)化權(quán)值參數(shù)矩陣W=(wout,wl,wl?1,···,w2,w1).
基于PLSR 的調(diào)優(yōu)方法之所以能夠成功,主要原因可以歸結(jié)為以下兩點(diǎn):1) PLSR 只需要每個(gè)隱含層的特征向量,不需要求取梯度信號(hào),因此避開了BP 算法在求取梯度信號(hào)時(shí)遇到的問題[70?71];2) 無監(jiān)督預(yù)訓(xùn)練得到的權(quán)值正是用于提取每個(gè)隱含層特征向量的必要參數(shù).
以上介紹的4 種DBN 學(xué)習(xí)算法均從各自的出發(fā)點(diǎn)解決了不同的學(xué)習(xí)問題,并在一定程度上提高了網(wǎng)絡(luò)性能.具體來講,基于自適應(yīng)學(xué)習(xí)率的DBN模型是通過設(shè)計(jì)一種動(dòng)態(tài)變化的學(xué)習(xí)率來適應(yīng)參數(shù)學(xué)習(xí)的更新速度,從而實(shí)現(xiàn)學(xué)習(xí)算法的加速收斂.基于半監(jiān)督學(xué)習(xí)的深度信念網(wǎng)絡(luò)模型則通過將有監(jiān)督信息引入到無監(jiān)督學(xué)習(xí)過程中構(gòu)造一種新型的半監(jiān)督學(xué)習(xí)算法,從而實(shí)現(xiàn)網(wǎng)絡(luò)學(xué)習(xí)精度的提升.梯度下降算法是一種經(jīng)典而又傳統(tǒng)的有監(jiān)督學(xué)習(xí)算法,其在淺層神經(jīng)網(wǎng)絡(luò)中的學(xué)習(xí)效果較好.基于偏最小二乘的逐層調(diào)優(yōu)算法則是利用各隱含層所提取的特征向量建立多個(gè)回歸模型,從而獲取最優(yōu)參數(shù).
同時(shí),以上所述算法也存在缺點(diǎn),自適應(yīng)學(xué)習(xí)率算法在處理中低維復(fù)雜數(shù)據(jù)時(shí)具有較好的效果,當(dāng)處理高位復(fù)雜數(shù)據(jù)集時(shí)基于自適應(yīng)學(xué)習(xí)率的學(xué)習(xí)加速效果變得不再明顯.半監(jiān)督學(xué)習(xí)算法則多數(shù)作判別模型,主要用于模式分類.而偏最小二乘算法盡管取得到較好的學(xué)習(xí)效果,但由于需要構(gòu)造若干個(gè)偏最小二乘回歸模型,所以在穩(wěn)定性分析方面需要對(duì)接每個(gè)模型的輸入與輸出,且保證他們具有穩(wěn)定的有界性,從而導(dǎo)致理論分析變得復(fù)雜.表2 給出了不同DBN 算法在Lorenz 時(shí)間序列建模和預(yù)測(cè)上20次獨(dú)立實(shí)驗(yàn)的性能對(duì)比結(jié)果.
表2 不同DBN 算法的性能對(duì)比Table 2 Performance comparison of different DBN algorithms
在DBN 學(xué)習(xí)框架的搭建方面,研究人員開始注重不同學(xué)習(xí)算法的混合模型.這種混合模型中,最具創(chuàng)新意義的是一種基于DBN 預(yù)訓(xùn)練技術(shù)的回聲狀態(tài)網(wǎng)絡(luò)(Echo state network,ESN) 學(xué)習(xí)模型(DBESN)[72].這種混合模型DBESN 首先利用DBN 的預(yù)訓(xùn)練技術(shù)對(duì)高維復(fù)雜數(shù)據(jù)進(jìn)行降維和關(guān)鍵特征提取,然后將所提取到的有效特征向量作為ESN 模型的輸入進(jìn)行再訓(xùn)練.大量實(shí)驗(yàn)結(jié)果證明,DBESN 具有較強(qiáng)的時(shí)間序列預(yù)測(cè)能力,開啟了混合模型研究的先河.為了克服單一數(shù)據(jù)表述方法在學(xué)習(xí)能力上的不足,Deng 等[73]提出了一種用于數(shù)據(jù)分類的分層融合深度模糊神經(jīng)網(wǎng)絡(luò)(FDFNN).通過融合包括模糊學(xué)習(xí)和神經(jīng)元學(xué)習(xí)在內(nèi)的多種數(shù)據(jù)表述方法獲得的知識(shí),FDFNN 能夠構(gòu)造一個(gè)用于模式分類的最終的數(shù)據(jù)表述.
在深度信念網(wǎng)絡(luò)中,利用無監(jiān)督預(yù)訓(xùn)練的方式首先初始化權(quán)值,然后在具有待處理數(shù)據(jù)先驗(yàn)知識(shí)的初始化權(quán)值的基礎(chǔ)上進(jìn)行有監(jiān)督調(diào)優(yōu),克服了傳統(tǒng)深層神經(jīng)網(wǎng)絡(luò)訓(xùn)練難的問題.本文在給定深度信念網(wǎng)絡(luò)簡(jiǎn)化模型的基礎(chǔ)上,分析了多種深度信念網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)、無監(jiān)督預(yù)訓(xùn)練方法和有監(jiān)督調(diào)優(yōu)方法及其網(wǎng)絡(luò)性能,回顧并總結(jié)了深度信念網(wǎng)絡(luò)的研究現(xiàn)狀.
盡管針對(duì)深度信念網(wǎng)絡(luò)的研究在理論和工程上均已取得了豐碩的成果,但就其后續(xù)發(fā)展而言還有很長(zhǎng)的路要走.結(jié)合研究現(xiàn)狀,現(xiàn)對(duì)深度信念網(wǎng)絡(luò)的研究提出以下展望.
1) 深度信念網(wǎng)絡(luò)的無監(jiān)督學(xué)習(xí)理論研究及生物學(xué)解釋.人腦研究表明,大腦的認(rèn)知過程主要靠對(duì)外部信息無監(jiān)督學(xué)習(xí)的知識(shí)積累[74?77],這一過程也可以理解成若干連續(xù)小樣本無監(jiān)督學(xué)習(xí)之和.借鑒對(duì)大腦的研究成果可進(jìn)一步模擬大腦的無監(jiān)督知識(shí)積累過程,設(shè)計(jì)新的無監(jiān)督學(xué)習(xí)算法,部分實(shí)現(xiàn)大腦的功能;借鑒統(tǒng)計(jì)學(xué)及信息論的相關(guān)知識(shí),研究深度信念網(wǎng)絡(luò)在多次運(yùn)行性能上的隨機(jī)性,可從統(tǒng)計(jì)學(xué)特性上解釋深度信念網(wǎng)絡(luò)的魯棒性理論.
2) 深度信念網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)研究.目前的深度信念網(wǎng)絡(luò)結(jié)構(gòu)多數(shù)是在足夠經(jīng)驗(yàn)和充足數(shù)據(jù)的基礎(chǔ)上通過湊試法來確定,且結(jié)構(gòu)一旦確定將不再調(diào)整,這導(dǎo)致固定結(jié)構(gòu)的深度信念網(wǎng)絡(luò)無法滿足待處理數(shù)據(jù)的多樣性變化要求.同時(shí),單個(gè)神經(jīng)元的增長(zhǎng)和修剪算法也難以實(shí)現(xiàn)結(jié)構(gòu)的快速有效設(shè)計(jì).另一方面,神經(jīng)生理學(xué)研究結(jié)果表明,人類大腦的智能主要取決于大腦皮層,而大腦皮層是一個(gè)大規(guī)?;ミB的生物深度神經(jīng)網(wǎng)絡(luò).在處理不同信息時(shí),生物深度神經(jīng)網(wǎng)絡(luò)會(huì)啟用不同的神經(jīng)元以及相應(yīng)的特殊連接結(jié)構(gòu)[78?80].也就是說,其采用的是一種變結(jié)構(gòu)的信息處理機(jī)制,這一點(diǎn)從著名的Hebb 學(xué)習(xí)規(guī)則中也能看出.因此研究深度信念網(wǎng)絡(luò)智能化實(shí)時(shí)在線結(jié)構(gòu)設(shè)計(jì)方法將是一個(gè)無法躲避且非常重要的研究方向,也必將誕生眾多標(biāo)志性成果.
3) 研究深度信念網(wǎng)絡(luò)的超參數(shù)自適應(yīng)設(shè)置問題.與傳統(tǒng)的淺層神經(jīng)網(wǎng)絡(luò)相比,深度信念網(wǎng)絡(luò)結(jié)構(gòu)龐大,除了需要學(xué)習(xí)的權(quán)值參數(shù)之外還存在大量的超參數(shù)[81].在訓(xùn)練深度信念網(wǎng)絡(luò)之前,超參數(shù)設(shè)置不當(dāng)會(huì)直接影響網(wǎng)絡(luò)學(xué)習(xí)的效果.例如,學(xué)習(xí)率設(shè)置過大或者過小,會(huì)相應(yīng)地造成算法陷入局部最優(yōu)或者過早收斂.盡管本文介紹了一種基于連續(xù)兩次迭代更新方向的自適應(yīng)學(xué)習(xí)率設(shè)計(jì)方法,但是從深度信念網(wǎng)絡(luò)的長(zhǎng)遠(yuǎn)發(fā)展看,這遠(yuǎn)不是終點(diǎn).因此,從超參數(shù)的自適應(yīng)設(shè)置角度切入研究可以獲得事半功倍的效果,也可完善深度信念網(wǎng)絡(luò)的學(xué)習(xí)理論.
4) 深度信念網(wǎng)絡(luò)在復(fù)雜過程控制中的應(yīng)用研究,如連續(xù)攪拌反應(yīng)器(Continuous stirred tank reactor,CSTR) 系統(tǒng)和污水處理過程(Wastewater treatment processing,WWTP) 行業(yè).目前,深度信念網(wǎng)絡(luò)乃至深度學(xué)習(xí)技術(shù)主要應(yīng)用于模式分類、圖像處理以及預(yù)測(cè)等單一的問題,并取得了不錯(cuò)的效果,反觀在過程控制領(lǐng)域中的應(yīng)用研究卻較少.以深度信念網(wǎng)絡(luò)為代表的深度學(xué)習(xí)方法停留在模式識(shí)別已有十年之久,將其作為非線性系統(tǒng)預(yù)測(cè)模型與過程控制相結(jié)合正是深度學(xué)習(xí)未來要面向多領(lǐng)域發(fā)展的多個(gè)方向之一.Lenz 等[82]針對(duì)切割水果的機(jī)器人手臂控制問題,嘗試性地提出了一種利用深度卷積網(wǎng)絡(luò)(深度學(xué)習(xí)) 直接從數(shù)據(jù)中學(xué)習(xí)控制器的新方法,并取得到令人欣喜的效果.針對(duì)復(fù)雜過程控制系統(tǒng)的非線性、強(qiáng)耦合、時(shí)變、時(shí)滯及不確定等特點(diǎn),設(shè)計(jì)合適的深度信念網(wǎng)絡(luò)模型,將其作為待控制系統(tǒng)的預(yù)測(cè)模型與滾動(dòng)優(yōu)化控制理論相結(jié)合,構(gòu)造基于深度信念網(wǎng)絡(luò)的模型預(yù)測(cè)控制方法將是一個(gè)極具前景的研究方向.
附表1 文中用到的主要數(shù)學(xué)符號(hào)Schedule 1 Main mathematical notations in this paper