劉戀秋
(重慶財(cái)經(jīng)職業(yè)學(xué)院,重慶 402160)
生成對(duì)抗網(wǎng)絡(luò)(GAN)是近年來(lái)最受關(guān)注的無(wú)監(jiān)督式神經(jīng)網(wǎng)絡(luò)之一,該模型功能強(qiáng)大且應(yīng)用場(chǎng)景廣泛,最常見的應(yīng)用是圖像生成。在GAN的框架中[1],結(jié)果的生成是通過對(duì)抗過程不斷進(jìn)化,在GAN中同時(shí)有兩個(gè)模型訓(xùn)練:捕獲數(shù)據(jù)分布的生成模型G以及估計(jì)數(shù)據(jù)分布的判別模型D。生成器G的訓(xùn)練目標(biāo)是騙過判別器D,換言之最大化D犯錯(cuò)誤的概率;D的目標(biāo)則是最大化自己的正確率。該框架本質(zhì)上是一個(gè)博弈過程,最終收斂于納什均衡。在空間上,對(duì)于生成器G和判別器D,如果使用零和博弈的loss函數(shù),當(dāng)D訓(xùn)練完美達(dá)到1/2時(shí),D就無(wú)法再分辨出真實(shí)數(shù)據(jù)和生成數(shù)據(jù),也就無(wú)法再給G提供梯度。
為了進(jìn)一步提升GAN的穩(wěn)定性和識(shí)別效率,有很多學(xué)者都提出了自己的優(yōu)化方案,提出了虛擬批量標(biāo)準(zhǔn)化的算法,利用批量訓(xùn)練數(shù)據(jù)的方式顯著改善網(wǎng)絡(luò)性能。Radford提出了深度卷積生成對(duì)抗網(wǎng)絡(luò)(DCGAN)的算法[2],該算法將GAN的概念擴(kuò)展到卷積神經(jīng)網(wǎng)絡(luò)中,可以生成更高質(zhì)量的圖片。在此基礎(chǔ)上,Sailimans等在近紅外光譜(NIR)圖像的場(chǎng)景下提出了著色 DCGAN模型[3],該方案的核心是針對(duì)NIR圖像將其劃分為RGB 3個(gè)通道,再利用DCGAN的模型分別進(jìn)行訓(xùn)練,進(jìn)一步提升了識(shí)別的準(zhǔn)確率。但是針對(duì)大部分的圖像處理而言,基于深度卷積生成對(duì)抗網(wǎng)絡(luò)的圖形識(shí)別算法仍存在收斂速度慢、訓(xùn)練過程不夠穩(wěn)定的缺點(diǎn)。本文提出了融合加權(quán)Canny算子和Prewitt算子的深度卷積生成對(duì)抗網(wǎng)絡(luò)算法[4],該加權(quán)算子對(duì)多個(gè)方向進(jìn)行卷積,從而初始化輸入圖片參數(shù),有效減少了噪聲的干擾。
卷積神經(jīng)網(wǎng)絡(luò)又簡(jiǎn)稱卷積網(wǎng)絡(luò)(CNN),該模型主要用于處理網(wǎng)格狀結(jié)構(gòu)數(shù)據(jù)的特殊網(wǎng)絡(luò)結(jié)構(gòu)[5-8]。該模型是受到貓的視覺皮層細(xì)胞研究的啟發(fā),模仿其神經(jīng)結(jié)構(gòu)然后提出了感受野(Receptive Field)的概念。卷積神經(jīng)網(wǎng)絡(luò)將時(shí)序信息等單一變量的信息作為一維的數(shù)據(jù)格式,而圖片、位置等信息則被認(rèn)為是二維的數(shù)據(jù)格式。卷積神經(jīng)網(wǎng)絡(luò)在推出后,取得了巨大的成功。呂永標(biāo)基于深度學(xué)習(xí)理論,將圖像去噪過程看成神經(jīng)網(wǎng)絡(luò)的擬合過程,構(gòu)造簡(jiǎn)潔高效的復(fù)合卷積神經(jīng)網(wǎng)絡(luò),提出基于復(fù)合卷積神經(jīng)網(wǎng)絡(luò)的圖像去噪算法,該算法由2個(gè)2層的卷積網(wǎng)絡(luò)構(gòu)成,分別訓(xùn)練3層卷積網(wǎng)絡(luò)中的部分初始卷積核,縮短階段網(wǎng)絡(luò)的訓(xùn)練時(shí)間和增強(qiáng)算法的魯棒性,最后運(yùn)用卷積網(wǎng)絡(luò)對(duì)新的噪聲圖像進(jìn)行有效去噪。實(shí)驗(yàn)表明,文中算法在峰值信噪比、結(jié)構(gòu)相識(shí)度及均方根誤差指數(shù)上與當(dāng)前較好的圖像去噪算法相當(dāng),尤其當(dāng)噪聲加強(qiáng)時(shí)效果更佳且訓(xùn)練時(shí)間較短[9]。王秀席等針對(duì)現(xiàn)有車型識(shí)別算法耗時(shí)長(zhǎng)、特征提取復(fù)雜、識(shí)別率低等問題,引入了基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)方法。此方法具有魯棒性好、泛化能力強(qiáng)、識(shí)別度高等優(yōu)點(diǎn),因而被廣泛使用于圖像識(shí)別領(lǐng)域。在對(duì)公路中的4種主要車型(大巴車、面包車、轎車、卡車)的分類實(shí)驗(yàn)中,改進(jìn)后的卷積神經(jīng)網(wǎng)絡(luò)LeNet-5使車型訓(xùn)練、測(cè)試結(jié)果均達(dá)到了98%以上,優(yōu)于傳統(tǒng)的SIFT+SVM算法,其算法在減少檢測(cè)時(shí)間和提高識(shí)別率等方面都有了顯著提高,在車型識(shí)別上具有明顯優(yōu)勢(shì)[10]。隨著大數(shù)據(jù)時(shí)代來(lái)臨以及GPU并行計(jì)算速度的飛速發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)本身不斷優(yōu)化(ReLU激活函數(shù)取代Sigmoid函數(shù),Dropout思想的提出),其計(jì)算效率得到了大幅度提升。許赟杰等針對(duì)常用的激活函數(shù)在反向傳播神經(jīng)網(wǎng)絡(luò)中具有收斂速度較慢、存在局部極小或梯度消失的問題,將Sigmoid系和ReLU系激活函數(shù)進(jìn)行了對(duì)比,分別討論了其性能,詳細(xì)分析了幾類常用激活函數(shù)的優(yōu)點(diǎn)及不足,并通過研究Arctan函數(shù)在神經(jīng)網(wǎng)絡(luò)中應(yīng)用的可能性,結(jié)合ReLU函數(shù),提出了一種新型的激活函數(shù)ArcReLU,既能顯著加快反向傳播神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,又能有效降低訓(xùn)練誤差并避免梯度消失的問題[11]。
深度卷積神經(jīng)網(wǎng)絡(luò)包含以下幾個(gè)核心部分:
(1)局部感知。圖像的空間聯(lián)系中局部的像素聯(lián)系比較緊密,而距離較遠(yuǎn)的像素相關(guān)性則較弱。因此,每個(gè)神經(jīng)元其實(shí)只需對(duì)局部區(qū)域進(jìn)行感知,而不需要對(duì)全局圖像進(jìn)行感知。
(2)權(quán)值共享。在上述的局部連接中,每個(gè)神經(jīng)元都有對(duì)應(yīng)的參數(shù),再進(jìn)行卷積完成特征提取。例如,假設(shè)神經(jīng)元都對(duì)應(yīng)50個(gè)參數(shù),共2 000 個(gè)神經(jīng)元,如果這10 000個(gè)神經(jīng)元的25個(gè)參數(shù)都是相等的,則參數(shù)量就變?yōu)?5個(gè)。把這25個(gè)參數(shù)對(duì)應(yīng)卷積操作,完成了特征提取。在卷積神經(jīng)網(wǎng)絡(luò)中相同的卷積核的權(quán)值和偏置值是一樣的。同一種卷積核按照固定對(duì)圖像進(jìn)行卷積操作,卷積后得到的所有神經(jīng)元都使用同一個(gè)卷積核區(qū)卷積圖像,都是共享連接參數(shù)。因此,權(quán)值共享減少了卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)數(shù)量。
(3)卷積。該步驟利用卷積核對(duì)圖像進(jìn)行特征提取。卷積過程本質(zhì)上是一個(gè)去除無(wú)關(guān)信息,留下有用信息的過程。其核心就是卷積核的大小步長(zhǎng)設(shè)計(jì)和數(shù)量的選取。個(gè)數(shù)越多提取的特征越多,但網(wǎng)絡(luò)的復(fù)雜度也在增加,如果特征數(shù)量太少又不足以描述特征。在該步驟中的卷積核的大小影響網(wǎng)絡(luò)結(jié)構(gòu)的識(shí)別能力,步長(zhǎng)決定了采取圖像的大小和特征個(gè)數(shù)。
(4)池化。在卷積神經(jīng)網(wǎng)絡(luò)中,池化層一般在卷積層后,通過池化來(lái)降低卷積層輸出的特征向量維數(shù)。池化過程最大程度地降低了圖像的分辨率,同時(shí)降低了圖像的處理維度,但又保留了圖像的有效信息,降低了后面卷積層處理復(fù)雜度,大大降低了網(wǎng)絡(luò)對(duì)圖像旋轉(zhuǎn)和平移的敏感性。一般采用的池化方法有兩種:平均池化(Mean pooling)和最大池化(Max pooling)。平均池化是指對(duì)圖像目標(biāo)局部區(qū)域的平均值進(jìn)行計(jì)算,將其作為池化后該區(qū)域的值;最大池化則是選取圖像目標(biāo)區(qū)域的最大值作為池化后的值。
為了能夠提升圖像訓(xùn)練效率,對(duì)圖像進(jìn)行預(yù)處理,流程如下:
(1)假設(shè)給出圖像I,首先對(duì)其進(jìn)行歸一化處理,假設(shè)有像素為128×128的圖像I,將其歸一化為In∈[0,1]128,128,3;
(2)利用Canny算子和Prewitt算子的加權(quán)綜合,對(duì)圖像進(jìn)行進(jìn)一步的卷積預(yù)處理,提取核心特征。
采用DCGAN的(G,D)架構(gòu),生成器G是一個(gè)編碼解碼的CNN結(jié)構(gòu),判別器D是一個(gè)步長(zhǎng)卷積方案,不斷重復(fù)進(jìn)行下采樣來(lái)完成二分分類[12]。在每次訓(xùn)練的地帶中,我們都隨機(jī)采樣一批訓(xùn)練數(shù)據(jù),對(duì)每個(gè)訓(xùn)練圖像I我們運(yùn)行生成器,接著用判別器來(lái)進(jìn)行分類,然后計(jì)算損失和更新的參數(shù)。
為了減少訓(xùn)練過程,本文將訓(xùn)練過程分為3個(gè)階段,每個(gè)階段定義一個(gè)損失函數(shù):
LMSE(I)=‖MΘG(I)‖,
(1)
LD(I)=-[lnD(I)+ln(1-D(G(I)))] ,
(2)
LG(I)=LMSE(I)-αlnD(G(I)),
(3)
第一個(gè)訓(xùn)練階段通過損失函數(shù)LMSE(I)不斷升級(jí)調(diào)整生成器的權(quán)重,第二階段則使用LD(I)來(lái)調(diào)整生成器的權(quán)重,第三階段過程類似,但是α是作為經(jīng)驗(yàn)值,根據(jù)不同的場(chǎng)景而變化。
在生成器G的網(wǎng)絡(luò)結(jié)構(gòu)中,我們采用傳統(tǒng)的編碼器-解碼器結(jié)構(gòu),以及擴(kuò)張的卷積來(lái)增加神經(jīng)元的感受野。對(duì)于判別器D,我們將圖像沿垂直方向分為左右兩部分,分別為Il、Ir,為了產(chǎn)生出預(yù)測(cè)結(jié)果Id,判別器需要分別計(jì)算Dg(Id)、Dl(Il)、Dl(Ir),最后生成判別器的概率p,生成器和判別器的網(wǎng)絡(luò)參數(shù)如表1~5所示。
表1 卷積層1Tab.1 Convolution layer 1
表2 卷積層2Tab.2 Convolution layer 2
表3 卷積層3Tab.3 Convolution layer 3
表4 輸出Tab.4 Output
表5 判別器參數(shù)表Tab.5 Discriminator parameter table
考慮到深度卷積網(wǎng)絡(luò)的計(jì)算成本,本文主要利用GPU的并行計(jì)算能力,采用5臺(tái)Inter(R)I7-8700K,64 G內(nèi)存,NVIDIA RTX 24 G GPU計(jì)算機(jī),利用TensorFlow[13]平臺(tái)實(shí)現(xiàn)本文提出的算法并運(yùn)行。
本文采用的CIFAR-100數(shù)據(jù)集包含大量的測(cè)試圖片[14]。與CIFAR-10不同的是,CIFAR-100有100個(gè)分類,其中每個(gè)類都包含500個(gè)訓(xùn)練圖像和100個(gè)測(cè)試圖像,每個(gè)圖像都帶有兩個(gè)標(biāo)簽。使用本文2.3節(jié)提出的模型實(shí)現(xiàn)生成器和
判別器,首先對(duì)數(shù)據(jù)集中的圖像進(jìn)行預(yù)處理,將圖片進(jìn)行歸一化,再利用Canny算子和Prewitt算子的加權(quán),最后作為訓(xùn)練模型的輸入。在生成器的全連接層中加入Dropout,在預(yù)處理的3個(gè)階段,由于CIFAR-100的前景背景相對(duì)復(fù)雜多變,因此T1設(shè)置為20 000,T2為3 000,T3為10 000,α為0.006,實(shí)驗(yàn)總共運(yùn)行了25 h,進(jìn)行了50個(gè)epoch。在訓(xùn)練過程中,判別器的損失函數(shù)逐漸下降,而生成器的損失函數(shù)逐漸上升,最終判別器以微弱優(yōu)勢(shì)戰(zhàn)勝了生成器。最終檢測(cè)效果如圖1所示。在與其他經(jīng)典方法的對(duì)比中,其收斂的速度更快,檢測(cè)率也更優(yōu),如表6所示。
表6 CIFAR-100圖像集實(shí)驗(yàn)準(zhǔn)確率Tab.6 Experimental accuracy of CIFAR-100 image set
圖1 CIFAR-100生成器迭代結(jié)果Fig.1 Iterative results of CIFAR-100 generator
LFW是一個(gè)人臉識(shí)別專用的圖像訓(xùn)練集[15],有2 845張圖片,每張圖片中包含多個(gè)人臉,共有5 171個(gè)人臉作為測(cè)試集。測(cè)試集范圍包括不同姿勢(shì)、不同分辨率、旋轉(zhuǎn)和遮擋等圖片,基本能呈現(xiàn)人臉表情的各種狀態(tài),同時(shí)包括灰度圖和彩色圖。本文采用灰度圖進(jìn)行實(shí)驗(yàn)。由于整個(gè)數(shù)據(jù)集相對(duì)較小,同時(shí)前景相對(duì)簡(jiǎn)單,因此預(yù)處理時(shí)間消耗較小,T1設(shè)置為1 000,T2為2 000,T3為10 000,α為0.005,實(shí)驗(yàn)共運(yùn)行4 h,進(jìn)行了50個(gè)epoch。在迭代過程中隨著epoch的增大,生成器產(chǎn)生的圖片越加清晰精準(zhǔn),質(zhì)量不斷提升,結(jié)果如圖2所示。
從表7中可以看到,本文采用的DCGAN+softmax+centermax的模型優(yōu)于傳統(tǒng)的DCGAN模型,在相對(duì)較小的數(shù)據(jù)集中,具備更強(qiáng)的特征提取能力;本文提出的模型的檢測(cè)率優(yōu)于其他有監(jiān)督和無(wú)監(jiān)督算法,證明了本文方法的可行性。
圖2 LFW生成器頭像迭代結(jié)果Fig.2 Iterative results of LFW generator
表7 LFW圖像集實(shí)驗(yàn)識(shí)別準(zhǔn)確率
Tab.7 Experimental recognition accuracy of LFW image set
識(shí)別模型準(zhǔn)確率/%AlexNet87.52Inception-ResNet88.74Gabor+wavelet79.71Fast-RCNN83.31DCGAN82.56DCGAN+Canny+Prewitt89.54
提出了一個(gè)基于深度卷積對(duì)抗網(wǎng)絡(luò)的模型,利用該模型對(duì)訓(xùn)練完成后的判別器進(jìn)行特征提取并用于圖像識(shí)別。利用Canny算子和Prewitt算子進(jìn)行圖像預(yù)處理,同時(shí)將訓(xùn)練劃分為3個(gè)階段設(shè)置不同的訓(xùn)練參數(shù),提高了分類算法的內(nèi)聚性。在WILDERFACE和LFW數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果表明相對(duì)于其他傳統(tǒng)檢測(cè)算法,本文提出的模型在LFW識(shí)別準(zhǔn)確率達(dá)到89.54%,CIFAR-100上達(dá)到96.25%,證明了本文提出的模型在圖像檢測(cè)領(lǐng)域的可行性。