• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      BN-cluster:基于批歸一化的集成算法實例分析

      2018-07-30 02:43:04張德園李照奎石祥濱
      關(guān)鍵詞:錯誤率集上方差

      張德園,楊 柳,李照奎,石祥濱

      (沈陽航空航天大學(xué) 計算機學(xué)院,沈陽 110136)

      深度學(xué)習(xí)[1-2]正在被越來越多地應(yīng)用到各個領(lǐng)域的新應(yīng)用和新問題上,并取得了令人矚目的性能。深度神經(jīng)網(wǎng)絡(luò)以其優(yōu)異的性能表現(xiàn),在機器視覺領(lǐng)域得到廣泛關(guān)注并掀起一陣熱潮。近年來,卷積神經(jīng)網(wǎng)絡(luò)[3-5](Convolution Neural Network,CNN)在圖像分類和識別領(lǐng)域取得了許多實質(zhì)性進(jìn)展,并已經(jīng)在手寫數(shù)字識別、人臉檢測領(lǐng)域展現(xiàn)了其優(yōu)異的性能。Krizhevsky[6]使用深度卷積神經(jīng)網(wǎng)絡(luò)在ImageNet分類任務(wù)中得到了83.6%準(zhǔn)確率的標(biāo)志性成果。Zisserman[7]等人使用卷積神經(jīng)網(wǎng)絡(luò)在LFW人臉數(shù)據(jù)集上得到97%的識別率。

      然而在卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,每層輸入數(shù)據(jù)的分布隨上一層的參數(shù)變化而發(fā)生變化,每次調(diào)整網(wǎng)絡(luò)時要使每一層去適應(yīng)輸入的分布變化。這會導(dǎo)致神經(jīng)網(wǎng)絡(luò)很難訓(xùn)練得到一組性能最優(yōu)的參數(shù)。在網(wǎng)絡(luò)初始化時仔細(xì)地調(diào)整參數(shù)和降低訓(xùn)練過程中使用的學(xué)習(xí)率可以在一定程度上降低這種由分布變化帶來的影響,但同時也會降低網(wǎng)絡(luò)的訓(xùn)練速度。在傳統(tǒng)的深度網(wǎng)絡(luò)中,學(xué)習(xí)率太高可能會導(dǎo)致梯度爆炸或消失,以及陷入局部最小值的問題。通過歸一化整個網(wǎng)絡(luò)中的激活,可以防止參數(shù)的微小變化通過深層網(wǎng)絡(luò)擴大為梯度的次優(yōu)變化。文獻(xiàn)[8]中通過在網(wǎng)絡(luò)隱藏層中對每一塊輸入數(shù)據(jù)進(jìn)行歸一化處理來解決這一問題,稱之為批歸一化(batch normalization),并將批歸一化技術(shù)應(yīng)用到圖像分類模型中,獲取了相同的分類精度并且訓(xùn)練次數(shù)減少了14倍,大幅度優(yōu)于原始模型。文獻(xiàn)[9]中對AlexNet 和 VGG19均做了批歸一化處理,發(fā)現(xiàn)網(wǎng)絡(luò)的訓(xùn)練時間和分類錯誤率都有所下降。

      近年來,批歸一化已經(jīng)成為訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的標(biāo)準(zhǔn)工具包的一部分[10]。批歸一化使模型訓(xùn)練時內(nèi)部激活的分布更加穩(wěn)定,令訓(xùn)練時使用更高的學(xué)習(xí)率成為可能,并減少了模型對初始化參數(shù)的敏感度。這些影響可以加快訓(xùn)練速度,而且有時候甚至可以急劇增加訓(xùn)練速度。目前,批歸一化已經(jīng)成功地應(yīng)用于最先進(jìn)的架構(gòu)中,比如殘差網(wǎng)絡(luò)[11](residual networks)。但是在實際應(yīng)用中,批歸一化高度依賴于數(shù)據(jù)塊(mini-batch)的大小,訓(xùn)練網(wǎng)絡(luò)時要對數(shù)據(jù)塊大小進(jìn)行約束,并且涉及很多矩陣運算,導(dǎo)致訓(xùn)練時間過長。本文針對神經(jīng)網(wǎng)絡(luò)訓(xùn)練時間長、難以調(diào)整的問題,研究了批歸一化集成算法。分析了導(dǎo)致加入批歸一化的神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時收斂不穩(wěn)定的原因,并采用集成網(wǎng)絡(luò)的方法在不降低原有性能的同時使網(wǎng)絡(luò)的收斂更加穩(wěn)定、快速。

      1 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計

      本文實驗中使用的LeNet[12]網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。

      表1 LeNet網(wǎng)絡(luò)結(jié)構(gòu)表

      網(wǎng)絡(luò)主要基于構(gòu)建塊的方式進(jìn)行設(shè)計,是由五個部分(block)組成的16層卷積神經(jīng)網(wǎng)絡(luò),每個部分的基本結(jié)構(gòu)為:線性運算(conv)-批歸一化(bnorm)-非線性運算(relu或pool)。block1、block2和block3中的線性操作類型為卷積操作,每個卷積操作采用5×5大小的卷積核來感知圖像上的局部信息。為了能夠在訓(xùn)練網(wǎng)絡(luò)時快速得到一個局部最優(yōu)的網(wǎng)絡(luò),每個卷積操作后添加了一個批歸一化操作來提高網(wǎng)絡(luò)在優(yōu)化時目標(biāo)函數(shù)的收斂速度。網(wǎng)絡(luò)的最后兩個block中的線性操作為全連接操作。全連接運算與卷積運算相似,只是卷積核的大小與本層輸入的大小相同,這樣每個卷積核可以將全部的信息整合到一起,感知整張圖像的信息。第一個全連接部分(block4)輸出為一個512維的向量,最后一個全連接(block5)輸出對應(yīng)于訓(xùn)練數(shù)據(jù)集中類別標(biāo)簽的數(shù)量。同時,block5也可以看作一個多路分類預(yù)測器,根據(jù)block4提取出的512維的特征向量預(yù)測出表示每個類別可能性的預(yù)測向量。輸出的預(yù)測向量最終通過損失層(loss)的softmax函數(shù)計算得出一個對每個類別的后驗概率,并得到優(yōu)化目標(biāo)進(jìn)而通過反向傳播調(diào)整網(wǎng)絡(luò)。

      2 批歸一化問題分析

      2.1 批歸一化技術(shù)介紹

      在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,一般會對輸入數(shù)據(jù)進(jìn)行取均值處理或白化[13](whiten)處理來加快訓(xùn)練。常用的白化方法是在對數(shù)據(jù)進(jìn)行主成分分析[14-15](PCA)操作后進(jìn)行歸一化操作。如圖1所示,左邊的圖像是原始數(shù)據(jù)的分布圖像;中間的圖像是使用PCA處理后的數(shù)據(jù)分布圖像,數(shù)據(jù)分布的均值變?yōu)?并且被旋轉(zhuǎn)到特征向量上,去除了數(shù)據(jù)的相關(guān)性;右邊的圖像是在中間數(shù)據(jù)分布的基礎(chǔ)上進(jìn)一步歸一化處理,使數(shù)據(jù)服從高斯分布。

      圖1 數(shù)據(jù)白化示意圖

      雖然在神經(jīng)網(wǎng)絡(luò)中通過對每一層的輸入數(shù)據(jù)進(jìn)行白化處理可以很好地控制數(shù)據(jù)的分布變化,加快網(wǎng)絡(luò)的訓(xùn)練速度。但是數(shù)據(jù)白化操作在反向傳播過程中并不一定能夠求得導(dǎo)數(shù),且計算協(xié)方差矩陣和求逆的操作開銷巨大,導(dǎo)致這種方法并不是實際可行的。

      批歸一化技術(shù)對數(shù)據(jù)白化的方法進(jìn)行簡化,單獨地對每一個神經(jīng)元的特征進(jìn)行歸一化處理并且每次只在一個訓(xùn)練用的數(shù)據(jù)塊上計算均值和方差。對數(shù)據(jù)歸一化的處理就是讓數(shù)據(jù)的均值為0,方差為1,計算公式如式(1)所示。

      (1)

      (2)

      公式(1)和公式(2)的批歸一化算法中的變換操作具體算法如表2所示。

      表2 批歸一化算法

      在訓(xùn)練時需要計算損失函數(shù)對批歸一化變換中參數(shù)的梯度,根據(jù)鏈?zhǔn)椒▌t可以求得損失函數(shù)對批歸一化中參數(shù)的導(dǎo)數(shù),計算方法如公式(3)所示。

      (3)

      這樣確保了網(wǎng)絡(luò)在訓(xùn)練過程中,每層都能夠?qū)斎霐?shù)據(jù)的分布進(jìn)行學(xué)習(xí)。同時,減弱了數(shù)據(jù)中分布的變化,提高訓(xùn)練速度。在實際使用過程中,批歸一化大多放在激活函數(shù)之前、卷積操作之后。采用了批歸一化的網(wǎng)絡(luò)有如下優(yōu)點:

      (1)網(wǎng)絡(luò)中可以使用更大的學(xué)習(xí)率去學(xué)習(xí)參數(shù);

      (2)不需要考慮網(wǎng)絡(luò)中參數(shù)初始化的問題;

      (3)在一定程度上消除了使用Dropout的情況;

      (4)與不加批歸一化的網(wǎng)絡(luò)相比,達(dá)到相同的精度減少了14倍的訓(xùn)練次數(shù)。

      2.2 批歸一化方差統(tǒng)計分析

      批歸一化是在數(shù)據(jù)集的每個子數(shù)據(jù)集(batch)上進(jìn)行歸一化計算,其中的兩個關(guān)鍵參數(shù)均值和方差在測試時和實際應(yīng)用中需要固定下來。根據(jù)訓(xùn)練數(shù)據(jù)集的每個子數(shù)據(jù)集上的結(jié)果可以計算出批歸一化操作中的均值和方差這兩個參數(shù)。常用的批歸一化中均值和方差采用隨機梯度下降法根據(jù)每個子數(shù)據(jù)集上的均值和方差進(jìn)行更新,若每個子數(shù)據(jù)集計算得到的均值和方差差異較大就會導(dǎo)致批歸一化中均值和方差在每輪迭代后的波動較大,使網(wǎng)絡(luò)的錯誤率產(chǎn)生波動。

      本文分別從Mnist數(shù)據(jù)集、Cifar-10數(shù)據(jù)集和Sat-4數(shù)據(jù)集上訓(xùn)練的LeNet網(wǎng)絡(luò)中選取性能最優(yōu)的模型進(jìn)行統(tǒng)計分析。在每個數(shù)據(jù)塊上分別計算對應(yīng)的網(wǎng)絡(luò)模型中四個批歸一化輸出結(jié)果的均值并分別統(tǒng)計每一個批歸一化輸出結(jié)果均值的方差。圖2和圖3分別為在Mnist數(shù)據(jù)集和Cifar-10數(shù)據(jù)集上得到的統(tǒng)計結(jié)果,圖4為在Sat-4數(shù)據(jù)集上得到的統(tǒng)計結(jié)果,采用直方圖的方式顯示。

      對于Mnist、Cifar-10和Sat-4三個數(shù)據(jù)集,網(wǎng)絡(luò)中每個批歸一化的輸出結(jié)果數(shù)據(jù)分布都有一定的波動。其中,由于第一個批歸一化操作和最后一個批歸一化操作靠近輸入和輸出的位置,計算出的分布波動較大;中間兩層批歸一化操作輸出結(jié)果的波動相對穩(wěn)定。并且批歸一化在Cifar-10數(shù)據(jù)集上得到的統(tǒng)計結(jié)果比Mnist數(shù)據(jù)集上的統(tǒng)計結(jié)果算出的方差較大,說明批歸一化在Cifar-10數(shù)據(jù)集上每個數(shù)據(jù)塊的計算輸出結(jié)果差異更大。批歸一化在Sat-4數(shù)據(jù)集上得到的統(tǒng)計結(jié)果較為接近。網(wǎng)絡(luò)在Mnist數(shù)據(jù)集上的訓(xùn)練曲線比Cifar-10數(shù)據(jù)集上的訓(xùn)練曲線更加穩(wěn)定。

      由于這種波動是批歸一化在確定公式中均值和方差時的波動所導(dǎo)致的,通過合理地設(shè)置批歸一化中的兩個常量、減少輸出結(jié)果的波動,可以在一定程度上使網(wǎng)絡(luò)的收斂更加穩(wěn)定。

      圖2 批歸一化在Mnist上的統(tǒng)計結(jié)果

      圖3批歸一化在Cifar-10上的統(tǒng)計結(jié)果

      圖4 批歸一化在Sat-4上的統(tǒng)計結(jié)果

      3 BN-Cluster基于批歸一化參數(shù)聚類的DNN集成算法

      現(xiàn)有的批歸一化方法中的均值和方差通常采用梯度下降法,根據(jù)每一輪中每一個數(shù)據(jù)塊上計算得到的均值和方差來進(jìn)行微調(diào)。由于每個數(shù)據(jù)塊上得到的均值和方差的差異較大,通過這種方法計算得到的批歸一化中的均值和方差波動較大,導(dǎo)致網(wǎng)絡(luò)波動較大。因此,我們采用集成學(xué)習(xí)方法,對網(wǎng)絡(luò)在多個數(shù)據(jù)塊上計算批歸一化的均值和方差得到多個子神經(jīng)網(wǎng)絡(luò)。每個子神經(jīng)網(wǎng)絡(luò)僅在批歸一化的均值和方差設(shè)置上有差異,其余網(wǎng)絡(luò)層完全相同。通過多個網(wǎng)絡(luò)結(jié)果投票的方式?jīng)Q定最終的分類結(jié)果。

      基于批歸一化參數(shù)聚類的CNN集成算法具體如表3所示。

      表3 基于批歸一化參數(shù)聚類的CNN集成算法

      4 實驗

      4.1 實驗設(shè)置

      本文選取了遙感圖像數(shù)據(jù)集Sat-4、普通圖像數(shù)據(jù)集Cifar-10和Mnist。Sat-4數(shù)據(jù)集圖像包含4個通道,紅(R)、綠、(G)、藍(lán)(B)以及近紅外(NIR)通道,每個圖像大小均為28×28像素。Sat-4包含共50萬張圖片,共4個類別,分為貧瘠土地(barren)、樹木(trees)、草地(grass)以及除了以上三種類別的其他類別(none)。Cifar-10數(shù)據(jù)集圖像包含3個通道,分別是紅(R)、綠、(G)、藍(lán)(B),每個圖像大小均為32×32像素。Mnist由7萬張圖片組成,共有10個類別。在 MNIST 數(shù)據(jù)集中每張圖片由 28×28 個像素點構(gòu)成,每個像素點用一個灰度值表示。

      圖5 LeNet在Mnist、Cifar-10和Sat-4數(shù)據(jù)集上的錯誤率曲線

      4.2 實驗結(jié)果分析

      由于本文中使用的網(wǎng)絡(luò)結(jié)構(gòu)和數(shù)據(jù)集較大,不便于進(jìn)行大量的運算。實驗中首先采用了MatConvNet工具包中Mnist數(shù)據(jù)集上的LeNet網(wǎng)絡(luò)進(jìn)行驗證實驗,分析導(dǎo)致加入了批歸一化的神經(jīng)網(wǎng)絡(luò)收斂不穩(wěn)定的因素。Mnist數(shù)據(jù)集上使用的LeNet網(wǎng)絡(luò)中包含四個部分,網(wǎng)絡(luò)結(jié)構(gòu)相對簡單便于進(jìn)行統(tǒng)計和分析。我們在每個部分包中添加一個批歸一化操作,使用相同結(jié)構(gòu)的LeNet網(wǎng)絡(luò)分別在Mnist數(shù)據(jù)集和Cifar數(shù)據(jù)集上訓(xùn)練并選擇性能最優(yōu)的網(wǎng)絡(luò)模型。為了得到較好的用于實驗驗證的網(wǎng)絡(luò)模型,訓(xùn)練時將數(shù)據(jù)劃分成每500個數(shù)據(jù)為一個數(shù)據(jù)塊,采用0.1的學(xué)習(xí)率進(jìn)行了共200輪的迭代。圖5為LeNet在Mnist數(shù)據(jù)集、Cifar數(shù)據(jù)集和Sat-4數(shù)據(jù)集上訓(xùn)練時在訓(xùn)練數(shù)據(jù)集和驗證數(shù)據(jù)集上的分類錯誤率曲線。圖中三角形圖例為模型在訓(xùn)練集上的分類錯誤率曲線,用于觀察模型對訓(xùn)練數(shù)據(jù)的擬合程度;圓形圖例為模型在驗證集上的錯誤率曲線。在選擇網(wǎng)絡(luò)模型時我們更關(guān)注模型在驗證時的分類精度,依據(jù)每一輪迭代得到的錯誤率曲線選擇最優(yōu)的參數(shù)模型。

      通過200輪迭代的錯誤率曲線可以直觀地看出網(wǎng)絡(luò)在Mnist數(shù)據(jù)集上訓(xùn)練時的錯誤率曲線波動集中在0到0.05之間,誤差波動較小,網(wǎng)絡(luò)收斂相對穩(wěn)定。在Cifar-10數(shù)據(jù)集上訓(xùn)練網(wǎng)絡(luò)的錯誤率曲線波動集中在0.2到0.3之間,在Sat-4數(shù)據(jù)集上訓(xùn)練時的錯誤率曲線波動集中在0.05到0.2之間,在Sat-4數(shù)據(jù)集上的錯誤曲線波動幅度較大且頻繁、無規(guī)律。根據(jù)網(wǎng)絡(luò)訓(xùn)練時的錯誤率曲線對網(wǎng)絡(luò)參數(shù)進(jìn)行選擇時,Mnist數(shù)據(jù)集在100輪迭代之前可以選出一個性能較好的網(wǎng)絡(luò),而在Cifar和Sat-4數(shù)據(jù)集上則需要接近200輪的迭代。

      對每個網(wǎng)絡(luò)計算每個數(shù)據(jù)塊上的子網(wǎng)絡(luò)時,需要花費大量的時間和存儲空間去計算和保存每個子網(wǎng)絡(luò)。實驗中,我們分別從Mnist、Cifar-10和Sat-4數(shù)據(jù)集的前100輪迭代得到的網(wǎng)絡(luò)中每輪迭代選取一個網(wǎng)絡(luò)進(jìn)行實驗,共100個網(wǎng)絡(luò)模型進(jìn)行改進(jìn)測試。對100個網(wǎng)絡(luò)模型分別計算在各個數(shù)據(jù)塊上的子網(wǎng)絡(luò),根據(jù)使用的數(shù)據(jù)塊計算子網(wǎng)絡(luò)中批歸一化操作的均值和方差。計算完成后,分別將一個網(wǎng)絡(luò)的每個子網(wǎng)絡(luò)中所有的批歸一化層的均值和方差展開成一個向量,每個子網(wǎng)絡(luò)對應(yīng)一個與批歸一化參數(shù)設(shè)置相關(guān)的向量。采用k-center方法對所有子網(wǎng)絡(luò)的參數(shù)向量聚類,得到100組參數(shù)設(shè)置,并根據(jù)相應(yīng)的參數(shù)找到對應(yīng)的子網(wǎng)絡(luò)。在測試網(wǎng)絡(luò)性能時對100個子網(wǎng)絡(luò)的進(jìn)行集成,將每個子網(wǎng)絡(luò)計算得到的標(biāo)簽預(yù)測向量按照相應(yīng)標(biāo)簽的預(yù)測值求和,得到一個新的標(biāo)簽預(yù)測向量作為最終的輸出結(jié)果。集成后的神經(jīng)網(wǎng)絡(luò)由100個子網(wǎng)絡(luò)組成,top1error的分類精度如圖6所示。

      圖6 改進(jìn)后神經(jīng)網(wǎng)絡(luò)的訓(xùn)練曲線

      實驗結(jié)果證明,采用集成學(xué)習(xí)的方法確定批歸一化的參數(shù),網(wǎng)絡(luò)在Cifar數(shù)據(jù)集上訓(xùn)練時錯誤率曲線波動明顯降低,在Mnist數(shù)據(jù)集上也有所減少。與圖2中在Sat-4數(shù)據(jù)集上訓(xùn)練曲線相比,采用了集成批歸一化后的網(wǎng)絡(luò)在Sat-4數(shù)據(jù)集上訓(xùn)練時收斂更加穩(wěn)定。同時,改進(jìn)后的網(wǎng)絡(luò)在驗證集上的分類精度沒有損失,而且能夠在更短的時間得到表現(xiàn)更穩(wěn)定、性能較好的網(wǎng)絡(luò)模型。

      5 結(jié)論

      本文針對神經(jīng)網(wǎng)絡(luò)訓(xùn)練時間長、難以調(diào)整的問題,研究了批歸一化集成算法。采用構(gòu)建塊的思想設(shè)計了面向圖像分類的卷積神經(jīng)網(wǎng)絡(luò)框架,該網(wǎng)絡(luò)分別在Mnist、Cifar-10和Sat-4三個數(shù)據(jù)集上訓(xùn)練,并在每個數(shù)據(jù)塊上分別計算對應(yīng)的網(wǎng)絡(luò)模型中性能最優(yōu)的四個批歸一化輸出結(jié)果的均值,并分別統(tǒng)計每一個批歸一化輸出結(jié)果均值的方差。分析了導(dǎo)致加入批歸一化的神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時收斂不穩(wěn)定的原因,并采用集成網(wǎng)絡(luò)的方法在不降低原有性能的同時使網(wǎng)絡(luò)的收斂更加穩(wěn)定、快速。

      猜你喜歡
      錯誤率集上方差
      限制性隨機試驗中選擇偏倚導(dǎo)致的一類錯誤率膨脹*
      方差怎么算
      概率與統(tǒng)計(2)——離散型隨機變量的期望與方差
      Cookie-Cutter集上的Gibbs測度
      鏈完備偏序集上廣義向量均衡問題解映射的保序性
      計算方差用哪個公式
      復(fù)扇形指標(biāo)集上的分布混沌
      方差生活秀
      正視錯誤,尋求策略
      教師·中(2017年3期)2017-04-20 21:49:49
      解析小學(xué)高段學(xué)生英語單詞抄寫作業(yè)錯誤原因
      威信县| 阿坝县| 罗田县| 西充县| 闽侯县| 怀远县| 化州市| 岢岚县| 潞城市| 桑植县| 互助| 松潘县| 确山县| 岐山县| 建水县| 香格里拉县| 平和县| 宣城市| 安远县| 个旧市| 喀喇| 乃东县| 吉木乃县| 台南市| 海原县| 什邡市| 微山县| 夏津县| 慈利县| 大同县| 延川县| 夏河县| 兴安县| 大英县| 阿拉尔市| 灵璧县| 台东县| 攀枝花市| 长宁县| 大足县| 罗江县|