羅國強(qiáng),李家華,左文濤
1(廣州科技職業(yè)技術(shù)大學(xué) 信息工程學(xué)院,廣州 510550)
2(廣州工商學(xué)院 計(jì)算機(jī)科學(xué)與工程系,廣州 510850)
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)子集,通過組合低層特征形成更加抽象的高層語義以發(fā)現(xiàn)數(shù)據(jù)的特征分布表示.Hinton 等人[1]提出,深度置信網(wǎng)絡(luò)(Deep Belief Network,DBN)的訓(xùn)練可以由非監(jiān)督逐層訓(xùn)練以及后期微調(diào)的方式完成.這為解決深層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)相關(guān)的訓(xùn)練優(yōu)化難題帶來希望.但是在2012年之前,深度學(xué)習(xí)仍然處于理論研究階段,還沒有真正進(jìn)入應(yīng)用階段.這受制于兩個(gè)原因,第一是深度模型的訓(xùn)練需要大批量數(shù)據(jù),當(dāng)時(shí)在模型預(yù)訓(xùn)練階段一般采用ImageNet[2]數(shù)據(jù)集或其子集;第二是計(jì)算力特別是GPU 等硬件設(shè)備還沒能夠提供強(qiáng)大計(jì)算支持.2012年,在ImageNet圖像識(shí)別競賽中,Hinton 和他的學(xué)生Alex Krizhevsky設(shè)計(jì)出AlexNet[3]神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),并以此在這次比賽中獲得冠軍.這成為深度學(xué)習(xí)應(yīng)用領(lǐng)域的標(biāo)志性事件.之后各種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)運(yùn)而生.深度學(xué)習(xí)應(yīng)用領(lǐng)域比較成功的有計(jì)算機(jī)視覺、自然語言處理、語音識(shí)別、目標(biāo)檢測等.其中計(jì)算機(jī)視覺領(lǐng)域常用的基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)有AlexNet、VGGNet[4]、GoogleNet[5]、ResNet[6]、denseNet[7]、mobileNet[8]、shuffleNet[9,10]等.這些基礎(chǔ)網(wǎng)絡(luò)[3-10]在實(shí)際應(yīng)用中表現(xiàn)各有優(yōu)劣.Goodfellow[11,12]提出,一個(gè)測試效果良好的分類器并不是學(xué)習(xí)到了所分類樣本的真正底層意義,只不過剛好構(gòu)建了一個(gè)在訓(xùn)練數(shù)據(jù)上運(yùn)行相當(dāng)良好的模型,而這個(gè)模型遇到一些空間中不太可能出現(xiàn)的點(diǎn)時(shí),模型能力的有限性就會(huì)隨之暴露出來.這個(gè)可能也就是許多模型對(duì)于外來樣本泛化能力不足的原因.
深度學(xué)習(xí)會(huì)自動(dòng)學(xué)習(xí)數(shù)據(jù)集上的特征分布.一般而言,數(shù)據(jù)需要盡可能地保持獨(dú)立同分布.但是實(shí)際情況由于各種條件的限制,獨(dú)立同分布往往是不可能做到的.當(dāng)非獨(dú)立同分布的數(shù)據(jù)量比較大,會(huì)嚴(yán)重影響模型對(duì)數(shù)據(jù)特征的有效學(xué)習(xí),模型的魯棒性得不到保證.實(shí)際應(yīng)用中針對(duì)特定任務(wù)需要采集和標(biāo)注適合自己任務(wù)的數(shù)據(jù)集,這些數(shù)據(jù)的獨(dú)立同分布特性往往得不到保證.當(dāng)然,有關(guān)聯(lián)的數(shù)據(jù)往往被用作上下文信息,但就數(shù)據(jù)的角度看,這些有關(guān)聯(lián)的數(shù)據(jù)是不符合機(jī)器學(xué)習(xí)的獨(dú)立同分布假設(shè)的.
本文研究分別采用了LeNet-5[13],VGGNet16,ResNet50 作為基礎(chǔ)網(wǎng)絡(luò),實(shí)驗(yàn)對(duì)比發(fā)現(xiàn),批規(guī)范化算法[14](Batch Normalization,BN)有非常大的可調(diào)空間,其對(duì)最終的分類和檢測識(shí)別結(jié)果也有一定程度的影響.實(shí)驗(yàn)觀察出該算法有下面三點(diǎn)不足:
(1)批規(guī)范化算法在模型訓(xùn)練時(shí)要求有足夠大的批量才能工作.如果每批的數(shù)據(jù)量太少則會(huì)導(dǎo)致對(duì)統(tǒng)計(jì)數(shù)據(jù)的估計(jì)不準(zhǔn)確.每批的數(shù)據(jù)量減少則會(huì)顯著增加模型誤差.現(xiàn)在的模型訓(xùn)練,如果硬件設(shè)備條件允許,則是采用大批量數(shù)據(jù)來訓(xùn)練的.而這大批量數(shù)據(jù)中非獨(dú)立同分布數(shù)據(jù)也可能比較多.
(2)批規(guī)范化算法做規(guī)范化運(yùn)算時(shí),每批的輸出與這批量數(shù)據(jù)的每一個(gè)樣本都有關(guān)聯(lián).這從批規(guī)范化的計(jì)算公式可以看出.
(3)目標(biāo)檢測、分割、視頻識(shí)別和其他基于此的高級(jí)系統(tǒng)對(duì)批量大小的限制要求更高.如Faster[15]和Mask R-CNN[16]系列檢測框架使用批量為1 或2 的圖像,為了能夠使用更高分辨率的圖像,批規(guī)范化算法通過變換而被線性層所固定.
基于以上3 個(gè)觀察,本文提出批規(guī)范化算法的改進(jìn)算法.該改進(jìn)算法在模型訓(xùn)練前,在數(shù)據(jù)集中固定一個(gè)批量數(shù)據(jù),對(duì)該批量數(shù)據(jù)做規(guī)范化計(jì)算后,其結(jié)果作為參考值對(duì)訓(xùn)練中的其他數(shù)據(jù)進(jìn)行更新運(yùn)算.提高該改進(jìn)策略,實(shí)驗(yàn)效果比較明顯.
在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,網(wǎng)絡(luò)隱層的輸入分布經(jīng)常變化,如果要使訓(xùn)練數(shù)據(jù)獲得的模型能夠有泛化能力,就須使訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)滿足獨(dú)立同分布假設(shè).批規(guī)范化算法的初衷是使神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中輸入分布保持一致,即把神經(jīng)網(wǎng)絡(luò)每一層神經(jīng)元輸入值的分布規(guī)范化為標(biāo)準(zhǔn)正態(tài)分布.這就很大程度防止了訓(xùn)練過程中的梯度消失問題.在反向傳播時(shí)以批為單位進(jìn)行梯度更新,極大加快了網(wǎng)絡(luò)訓(xùn)練速度.
當(dāng)批量數(shù)據(jù)樣本很少的時(shí)候,非獨(dú)立同分布問題越來越顯現(xiàn),模型的泛化能力大幅度降低,模型也難以訓(xùn)練.為解決這個(gè)問題,批再規(guī)范化算法[17](Batch ReNormalization,B-RN)在批規(guī)范化算法基礎(chǔ)上引入兩個(gè)參數(shù),通過對(duì)權(quán)重的尺度(scale)和偏移(shift)去適應(yīng)一個(gè)小批量數(shù)據(jù),然后移動(dòng)平均值消除歸一化后的激活值對(duì)當(dāng)前批量數(shù)據(jù)的依賴性.其本質(zhì)是網(wǎng)絡(luò)參數(shù)前傳中仿射變換修正小批量數(shù)據(jù)和數(shù)據(jù)集普適樣本的差異,使得該層的激活值在推斷階段能得到更有泛化性的修正.
批規(guī)范化算法主要適用于CNN 或者DNN 這種有固定深度的神經(jīng)網(wǎng)絡(luò),而在RNN 中,序列(sequence)的長度不一致,不同的時(shí)間步(time-step)需要保存不同的統(tǒng)計(jì)特征,可能存在一個(gè)特殊序列比其他序列長很多.即RNN 的深度不固定.因此,批規(guī)范化算法在RNN 上效果不理想.層規(guī)范化算法[18](Layer Normalization,LN)不依賴于批量數(shù)據(jù)的大小和輸入序列的深度,同一層的輸入樣本擁有相同的均值和方差,而不同的輸入樣本有不同的均值和方差.如圖1 所示,層規(guī)范化算法不在批量維度上做規(guī)范化,而是在層的維度上做規(guī)范化.層規(guī)范化算法在RNN 中效果明顯.
圖像風(fēng)格化應(yīng)用中,生成結(jié)果依賴于某個(gè)圖像實(shí)例,因此也不能在批量數(shù)據(jù)的維度進(jìn)行歸范化操作.實(shí)例規(guī)范化算法[19](Instance Normalization,IN)在HW 的維度做規(guī)范化操作,可以加速模型收斂,并且保持每個(gè)圖像實(shí)例之間的獨(dú)立.
自適配規(guī)范化算法[20](Switchable Normalization,SN)使用可微分學(xué)習(xí),為一個(gè)深度網(wǎng)絡(luò)中的每一個(gè)需要做規(guī)范化操作的層確定合適的規(guī)范化操作.區(qū)別于BN 需要手工為每一個(gè)規(guī)范化層設(shè)計(jì)操作,自適配規(guī)范化算法的這個(gè)特性可以減少手工設(shè)計(jì)量,省去大量的實(shí)驗(yàn).
群組規(guī)范化算法[21](Group Normalization,GN)在通道的維度分組,并在每組內(nèi)進(jìn)行規(guī)范化操作,計(jì)算出均值和方差.群組規(guī)范化算法的計(jì)算與批量數(shù)據(jù)的大小無關(guān),并且在神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練時(shí),其準(zhǔn)確度在大范圍的批量下運(yùn)行都非常穩(wěn)定.
令X={x1,x2,···,xN}為訓(xùn)練數(shù)據(jù)集,在神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí),可令損失函數(shù):
其中,F 為每一層的非線性轉(zhuǎn)換函數(shù).因此,對(duì)于每一個(gè)樣本,使用隨機(jī)梯度下降法[22,23](Stochastic Gradient Descent,SGD)計(jì)算最優(yōu)化參數(shù) Θ,即,
在該數(shù)據(jù)集中取一個(gè)批量數(shù)據(jù)B={x1,x2,···,xm},用該批量數(shù)據(jù)的平均梯度去擬合該批量數(shù)據(jù)每一個(gè)樣本的梯度,即:
由式(1)可知,對(duì)于每一層收入x,有:
因此可知,每一個(gè)梯度優(yōu)化步驟為:
其中,α為學(xué)習(xí)率.
上述過程是典型的隨機(jī)梯度優(yōu)化過程.大量的實(shí)驗(yàn)經(jīng)驗(yàn)表明,如果在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,簡單地使用隨機(jī)梯度下降法會(huì)使訓(xùn)練的計(jì)算量和時(shí)間大大增加.而且,經(jīng)過非線性轉(zhuǎn)換函數(shù)F(*)的作用,每一層的輸出不能保持同分布狀態(tài),模型難以訓(xùn)練,并且表達(dá)能力有限,致使泛化性能降低.因此,批規(guī)范化算法引入兩個(gè)可學(xué)習(xí)參數(shù) γ,β,該參數(shù)有保持神經(jīng)網(wǎng)絡(luò)模型特征表達(dá)能力的作用.那么,神經(jīng)網(wǎng)絡(luò)每一層輸出即:
對(duì)于每一層輸入x,有:
其中,μ和 δ 即為每一層輸入x 的均值和標(biāo)準(zhǔn)差.當(dāng):
時(shí),神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)的每一層即可保持標(biāo)準(zhǔn)正態(tài)分布.因此,由以上分析,令批規(guī)范化轉(zhuǎn)換表示為:
本文給出批規(guī)范化轉(zhuǎn)換算法偽代碼描述如算法1.其中,ε是一個(gè)常量,其作用是為了保證方差數(shù)值上的穩(wěn)定.
?
本文在第一章相關(guān)工作中介紹了批規(guī)范化算法的幾個(gè)改進(jìn)算法[18-21].該系列算法針對(duì)批規(guī)范化算法的許多不足之處做出改進(jìn).但是各有其使用場景.本文提出一種批規(guī)范化改進(jìn)算法,一定程度上解決神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中數(shù)據(jù)不能保持獨(dú)立同分布問題.即:每一層批量數(shù)據(jù)的輸出與這批量數(shù)據(jù)的每一個(gè)樣本都有關(guān)聯(lián).該改進(jìn)算法即是降低這種數(shù)據(jù)的關(guān)聯(lián)性.
該改進(jìn)算法分為3 步:
(1)神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí),每一層的輸入數(shù)據(jù)中,取出一個(gè)批量數(shù)據(jù),按照算法1 取出該批量數(shù)據(jù)的均值和方差,這兩個(gè)統(tǒng)計(jì)數(shù)據(jù)在之后訓(xùn)練時(shí)固定下來保持不變.令Bfix={x1,x2,···,xm},則:
(2)求出其他批量數(shù)據(jù)的均值和方差,并根據(jù)批量數(shù)據(jù)的樣本量求出其他批量數(shù)據(jù)與固定批量數(shù)據(jù)的比例系數(shù),根據(jù)該比例系數(shù)更新其他批量數(shù)據(jù)的均值和方差.令:
則其他批量數(shù)據(jù)的均值和方差更新方式為:
(3)根據(jù)(2)得出的 μothers和δ2others在批量數(shù)據(jù)上作規(guī)范化運(yùn)算.
根據(jù)以上分析,可以得出批規(guī)范化改進(jìn)算法的偽代碼描述如算法2.
?
給定一個(gè)神經(jīng)網(wǎng)絡(luò),加入批規(guī)范化改進(jìn)算法后的訓(xùn)練和推斷方式與批規(guī)范化算法無異.下面給出具有批規(guī)范化改進(jìn)算法網(wǎng)絡(luò)層的神經(jīng)網(wǎng)絡(luò)訓(xùn)練和推斷算法描述如算法3.
?
本文算法的實(shí)驗(yàn)環(huán)境配置為Intel I7 8700 處理器,8 塊NVIDIA GTX 1080ti 顯卡,64 GB RAM 的深度學(xué)習(xí)服務(wù)器.軟件環(huán)境配置為Ubuntu 16 系統(tǒng),GCC 5.4,CUDA 9,OpenCV 3,TensorFlow,Caffe/Caffe2,Detectron 框架等.
為了驗(yàn)證算法各方面性能,本文進(jìn)行了3 組對(duì)比實(shí)驗(yàn),分別為訓(xùn)練速度對(duì)比,ImageNet 分類實(shí)驗(yàn),目標(biāo)檢測實(shí)驗(yàn).
4.2.1 模型訓(xùn)練速度對(duì)比
為了快速得到訓(xùn)練結(jié)果,簡化調(diào)參步驟,使實(shí)驗(yàn)對(duì)照組更具說服力,該組對(duì)比實(shí)驗(yàn)?zāi)P瓦x用LeNet-5 和VGG-16,數(shù)據(jù)集選用Mnist,對(duì)比算法選用批規(guī)范化算法以及本文改進(jìn)算法.圖2 和圖3 分別說明了批規(guī)范化算法和改進(jìn)算法在Mnist 數(shù)據(jù)集上兩個(gè)神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練情況.
圖2 LeNet-5 訓(xùn)練曲線
由圖2 和圖3 訓(xùn)練曲線可以看出,在Mnist 數(shù)據(jù)集上,LeNet-5 和VGG-16 的3 條曲線的趨勢大致是一樣的,隨著訓(xùn)練步的增加,訓(xùn)練精度分別呈上升趨勢.
在模型訓(xùn)練過程中,相對(duì)于沒有規(guī)范化操作的LeNet-5 或者VGG-16 網(wǎng)絡(luò),加入本文改進(jìn)算法后,網(wǎng)絡(luò)模型訓(xùn)練速度有所提高,特別是在訓(xùn)練的前期,改進(jìn)后的模型更快的進(jìn)入飽和點(diǎn).圖2 中在訓(xùn)練步為26 000 時(shí)可以看出,3 條曲線的斜率變緩,模型訓(xùn)練進(jìn)入飽和階段.其中,批規(guī)范化算法最先進(jìn)入飽和點(diǎn),其次本文改進(jìn)算法進(jìn)入飽和點(diǎn),沒有進(jìn)行規(guī)范化操作的LeNet-5 最后進(jìn)入飽和點(diǎn).圖3 中VGG 曲線也遵循這個(gè)趨勢.
圖3 VGG-16 訓(xùn)練曲線
由圖2 和圖3 也可以對(duì)比得出,在訓(xùn)練速度上,改進(jìn)算法可以加快網(wǎng)絡(luò)模型的訓(xùn)練,但是相對(duì)于批規(guī)范化算法,改進(jìn)算法沒有明顯優(yōu)勢.可能的原因在于,在設(shè)計(jì)改進(jìn)算法時(shí)引入了一個(gè)固定批量數(shù)據(jù),對(duì)其做了規(guī)范化操作.因此,改進(jìn)算法相對(duì)于原批規(guī)范化算法,相當(dāng)于做了兩次規(guī)范化操作.計(jì)算量有所增加,體現(xiàn)在訓(xùn)練曲線上即為飽和點(diǎn)右移.
4.2.2 ImageNet 數(shù)據(jù)集分類實(shí)驗(yàn)
該組實(shí)驗(yàn)采用ResNet50 作為基準(zhǔn)網(wǎng)絡(luò),在ImageNet 數(shù)據(jù)集上進(jìn)行分類訓(xùn)練.實(shí)驗(yàn)采用了8 塊GPU,批規(guī)范化運(yùn)算時(shí),批量數(shù)據(jù)的均值和方差將在不同的GPU 上進(jìn)行計(jì)算.卷積層初始化采用He 等[24]的方法,γ初始化為1,而每一個(gè)殘差模塊的最后一個(gè)規(guī)范化層的 γ初始化為0.訓(xùn)練時(shí)權(quán)重衰減為0.0001,學(xué)習(xí)率初始化為0.001.當(dāng)模型訓(xùn)練分別到100 epochs、120 epochs 和160 epochs 時(shí),學(xué)習(xí)率依次降低10 倍.該訓(xùn)練參數(shù)設(shè)置分別參考了文獻(xiàn)[17-21].
為了作對(duì)比,本文在ResNet50 基準(zhǔn)網(wǎng)絡(luò)上分別采用BN、LN、IN、GN 以及本文改進(jìn)算法Ours 進(jìn)行分類訓(xùn)練.
圖4 和圖5 分別為ImageNet 訓(xùn)練集和驗(yàn)證集上的訓(xùn)練曲線.因?yàn)閹讉€(gè)算法都是在BN算法的基礎(chǔ)上改進(jìn)而來,本實(shí)驗(yàn)以BN算法作為基準(zhǔn)對(duì)比組.由圖4和圖5 可以看出,ResNet50 在模型訓(xùn)練時(shí),引入5 種算法后都能夠收斂.此時(shí)規(guī)范化批量數(shù)據(jù)大小為128,群組規(guī)范化算法的分組數(shù)為32.表1 和表2 列出了ResNet50 基準(zhǔn)網(wǎng)絡(luò)引入5 種算法后在ImageNet 訓(xùn)練集和驗(yàn)證集上訓(xùn)練錯(cuò)誤率.
圖4 ImageNet 訓(xùn)練error 曲線
圖5 ImageNet 驗(yàn)證集訓(xùn)練error 曲線
表1 ImageNet 訓(xùn)練集結(jié)果對(duì)比(%)
表2 ImageNet 驗(yàn)證集結(jié)果對(duì)比(%)
分析表1,可以看出BN算法在批量數(shù)據(jù)大小為128 時(shí),錯(cuò)誤率比其它5 個(gè)算法低.相對(duì)于BN算法訓(xùn)練集上26.3%的錯(cuò)誤率,GN算法高出1.1 個(gè)百分點(diǎn),本文的改進(jìn)算法Ours 高出1.9 個(gè)百分點(diǎn).而LN 和IN算法則分別高出2.4 和4.2 個(gè)百分點(diǎn).因此,本文改進(jìn)算法Ours 在ImageNet 訓(xùn)練集上相對(duì)于BN算法和GN算法訓(xùn)練錯(cuò)誤率并沒有優(yōu)勢,但是優(yōu)于LN算法和IN算法.
圖4 和表1 在訓(xùn)練集上的訓(xùn)練結(jié)果并不能說明一個(gè)模型的泛化能力,一個(gè)模型即使訓(xùn)練擬合得很好,其對(duì)于外來樣本可能沒有泛化性.分析表2 可知,5 個(gè)算法在ImageNet 驗(yàn)證集錯(cuò)誤率均高于在ImageNet 訓(xùn)練集上的錯(cuò)誤率.對(duì)照組BN算法驗(yàn)證集錯(cuò)誤率為28.6%,相對(duì)于GN算法28.1%的錯(cuò)誤率高出0.5 個(gè)百分點(diǎn),而相對(duì)于本文改進(jìn)算法Ours 的28.3% 錯(cuò)誤率則高出0.3 個(gè)百分點(diǎn).可以得出,本文改進(jìn)算法驗(yàn)證集上錯(cuò)誤率在GN算法和BN算法之間,略差于GN算法,而優(yōu)于BN算法.LN算法和IN算法的錯(cuò)誤率相對(duì)于BN算法則分別高出4.6 和5.1 個(gè)百分點(diǎn).
綜上分析,在本實(shí)驗(yàn)環(huán)境和條件下,本文改進(jìn)算法Ours 相對(duì)于BN算法和GN算法有一定的競爭優(yōu)勢.Ours算法在訓(xùn)練集上表現(xiàn)不如BN算法和GN算法,但是在驗(yàn)證集上則優(yōu)于BN算法,略差與GN算法.即,本文改進(jìn)算法對(duì)外來樣本處理得較好,訓(xùn)練的模型泛化性能相對(duì)于BN算法有一定程度的提高.由以上實(shí)驗(yàn)也可以得出,采用LN算法和IN算法訓(xùn)練的ResNet網(wǎng)絡(luò)雖然訓(xùn)練能夠收斂,但是訓(xùn)練集和驗(yàn)證集分類錯(cuò)誤率都比較高.這是因?yàn)長N算法主要用于RNN,而IN算法主要用于圖像風(fēng)格化等,都有其特定的適用場景,其適用范圍可能沒有BN算法、GN算法以及本文改進(jìn)算法Ours 那么廣.
4.2.3 目標(biāo)檢測和分割實(shí)驗(yàn)對(duì)比
該組實(shí)驗(yàn)中,本文驗(yàn)證改進(jìn)算法在COCO2017 數(shù)據(jù)集上目標(biāo)檢測和實(shí)例的效果.實(shí)驗(yàn)采用深度學(xué)習(xí)框架caffe2,以及通用目標(biāo)檢測框架Detectron,目標(biāo)檢測算法使用Mask R-CNN.
表3 列出了采用Mask R-CNN 作目標(biāo)檢測和實(shí)例分割時(shí),以ResNet50 的conv4 作為目標(biāo)的特征提取層,conv5 層接一個(gè)ROI 層用于目標(biāo)分類和回歸.在該實(shí)驗(yàn)中,改進(jìn)算法比批規(guī)范化算法目標(biāo)邊框的APbbox值提高了0.5,而掩膜的APmask值提高0.1.該實(shí)驗(yàn)說明在目標(biāo)檢測和實(shí)例分割任務(wù)上,一定程度上本文改進(jìn)算法的目標(biāo)檢測泛化能力優(yōu)于BN算法.圖6 為采用本文改進(jìn)算法后Mask R-CNN 效果圖.
表3 Mask R-CNN 目標(biāo)檢測與分割
圖6 Mask R-CNN 效果圖
4.2.4 魯棒性說明
本文算法在神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程中能夠一定程度上提高基準(zhǔn)網(wǎng)絡(luò)模型的魯棒性.其中,在VGG 網(wǎng)絡(luò)模型訓(xùn)練過程中尤為明顯,梯度彌散的現(xiàn)象出現(xiàn)的幾率很小,網(wǎng)絡(luò)訓(xùn)練易于收斂.基于大量對(duì)比實(shí)驗(yàn)以及分析得出:
(1)本文算法在大批量數(shù)據(jù)訓(xùn)練過程中可以降低樣本之間的關(guān)聯(lián)性.這種特性使模型易于訓(xùn)練.
(2)魯棒性的強(qiáng)弱很大程度依賴于基準(zhǔn)網(wǎng)絡(luò).Su等[25]通過大量實(shí)驗(yàn)對(duì)18 個(gè)常用的分類基準(zhǔn)網(wǎng)絡(luò)進(jìn)行對(duì)抗樣本研究分析發(fā)現(xiàn):1)準(zhǔn)確度越高的模型的普遍魯棒性越差,且分類錯(cuò)誤率的對(duì)數(shù)和模型魯棒性存在線性關(guān)系;2)相比于模型的大小,模型的結(jié)構(gòu)對(duì)于魯棒性的影響更大;3)黑盒遷移攻擊是一直以來都比較困難的任務(wù),但在VGG 系列模型上生成的對(duì)抗樣本可以比較容易地直接攻擊其它的模型.這在一定程度佐證了本文實(shí)驗(yàn).
深度神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練到目前為止還是非常具有挑戰(zhàn)性的研究點(diǎn).本文在批規(guī)范化算法方面對(duì)其進(jìn)行了探索.在神經(jīng)網(wǎng)絡(luò)訓(xùn)練中,改進(jìn)算法有比較好的實(shí)驗(yàn)表現(xiàn),能夠一定程度上提高分類精度,在特定檢測任務(wù)上提高檢測精度.但是,該改進(jìn)算法在模型訓(xùn)練前傳過程中做了兩次批規(guī)范化運(yùn)算,計(jì)算量增加不少,因此,深度神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練速度減慢了.這是對(duì)時(shí)間與空間,性能與速度的取舍平衡的考慮.本課題將繼續(xù)這兩方面的研究.