陳小靜,曹語含,張學(xué)東
(遼寧科技大學(xué) 計算機(jī)與軟件工程學(xué)院,遼寧 鞍山 114051)
研究紙幣識別的軟件仍采用“以假鑒假”設(shè)計思想,沒有實現(xiàn)“以真鑒假”[1]。紙幣鑒偽方法主要有模板匹配、支持向量機(jī)和神經(jīng)網(wǎng)絡(luò)鑒別方法。模板匹配法費(fèi)時費(fèi)力,計算成本大,而且閾值的設(shè)置存在局限性[2-3];支持向量機(jī)方法對大樣本的處理以及多分類問題上存在不足[4];神經(jīng)網(wǎng)絡(luò)鑒別可以充分學(xué)習(xí)到圖像特征,能較好實現(xiàn)圖像分類識別,但要求有足夠的樣本[5-7],而且對數(shù)據(jù)集以外的假幣識別存在泛化不足的缺點。
Goodfellow于2014年提出生成對抗網(wǎng)絡(luò)(Generative adversarial network,GAN)模型[8]。近年來對GAN進(jìn)行改進(jìn),不斷優(yōu)化圖片的生成質(zhì)量。監(jiān)督式生成對抗網(wǎng)絡(luò)(Conditional generative adversarial nets,CGAN)模型[9]可以根據(jù)網(wǎng)絡(luò)的輸入標(biāo)簽生成對應(yīng)的輸出,比傳統(tǒng)生成模型效果好且具有多樣性。半監(jiān)督學(xué)習(xí)使用未標(biāo)記以及有標(biāo)記數(shù)據(jù)一起訓(xùn)練模型,能在少量數(shù)據(jù)情況下得到比較高的準(zhǔn)確率。GAN模型亦可通過半監(jiān)督式學(xué)習(xí)優(yōu)化提供生成數(shù)據(jù),被稱為半監(jiān)督式生成對抗網(wǎng)絡(luò)(Semi-supervised generative adversarial network,SGAN)模型[10-11],能夠做到同時訓(xùn)練生成器與半監(jiān)督式分類器,最終實現(xiàn)更優(yōu)的半監(jiān)督式分類器,成像質(zhì)量更高。王德興等[12]將深度學(xué)習(xí)引入GAN,并對其生成圖片用分類器進(jìn)行分類識別,圖像的分類準(zhǔn)確率好于其他無監(jiān)督學(xué)習(xí)算法,證明生成圖片的有效性。
GAN中判別器、分類器以及生成器的性能相互影響,存在平衡點。CGAN利用輔助的標(biāo)簽信息增強(qiáng)原始GAN,生成具有特定特征圖片,且標(biāo)簽信息越豐富,生成效果越好。SGAN利用判別器或分類器重建標(biāo)簽信息,不僅可以分類還能得到更高質(zhì)量的圖片。結(jié)合CGAN和SGAN這二者的優(yōu)點,得到輔助分類生成對抗網(wǎng)絡(luò)(Auxiliary classifier generative adversarial network,ACGAN)[13-14]模型,該模型有效提高生成結(jié)果的質(zhì)量,并且使得訓(xùn)練更加穩(wěn)定。
本文提出一種半監(jiān)督輔助分類深度生成對抗網(wǎng)絡(luò)模型用于紙幣紅外特征鑒偽,利用生成器獲取一定量的數(shù)據(jù)集,并將判別器改為一個分類器,該分類器以半監(jiān)督方式訓(xùn)練,希望能在一定范圍提高未知紙幣紅外特征鑒偽的準(zhǔn)確率以及泛化能力。
生成對抗網(wǎng)絡(luò)是利用生成器G和判別器D博弈,將隨機(jī)噪聲Z生成預(yù)想的信息G(x)的一種生成模型。生成模型是從一個輸入空間將數(shù)據(jù)映射到生成空間,即x=G(z)。通常輸入z會滿足一個簡單形式的隨機(jī)分布,生成函數(shù)G(x)通常是神經(jīng)網(wǎng)絡(luò)的形式。生成模型定義一個概率分布函數(shù)Pmodel(x;θ),模型分布是通過參數(shù)變量θ定義。從真實數(shù)據(jù)集中采樣大量的數(shù)據(jù)定義概率分布函數(shù)Pdata(x)。在實際的計算過程中通過改變參數(shù)θ,使生成模型概率分布Pmodel(x;θ)可以近似于真實數(shù)據(jù)概率分布Pdata(x)。根據(jù)訓(xùn)練集可以給出生成模型概率分布函數(shù)
式中:L是噪聲經(jīng)過生成模型后在訓(xùn)練集上的概率。L越大說明生成模型越好。即尋找一個θ*使得L最大化
對每個Pmodel(x;θ)取對數(shù)
將式(3)轉(zhuǎn)化為求概率分布函數(shù)的期望值
在不影響求解的情況下減去一個與θ無關(guān)的常數(shù)項
設(shè)兩個概率分布為J和G,對應(yīng)的概率密度函數(shù)為J(x)和G(x),計算概率分布之間相似程度的KL散度定義式
得到
當(dāng)Pmodel(x;θ)趨近于Pdata(x),生成模型就成功了。
生成對抗網(wǎng)絡(luò)模型就是實現(xiàn)Pmodel(x;θ)逼近Pdata(x)的過程,它可以把簡單分布映射成復(fù)雜分布。但經(jīng)過一個神經(jīng)網(wǎng)絡(luò)難以計算最終的生成空間分布Pmodel(x;θ),所以用代價函數(shù)表示模型生成過程,故以判別器為例,固定生成器,代價函數(shù)寫作J(D),J(D)越大說明鑒別真?zhèn)涡Ч?,生成的圖片越接近樣本數(shù)據(jù)集
生成器寫作J(G),生成器和判別器可看作零和博弈的關(guān)系,綜合代價為零,故可設(shè)置價值函數(shù)V來表示J(D)和J(G)
現(xiàn)在把問題變成了需要尋找一個合適的V(θ(D),θ(G)),使得J(G)和J(D)都盡可能小,也就是說通過判別器和生成器二者博弈,可以求出理想的判別器D*()和生成器G*(),生成數(shù)據(jù)判為真的概率為Pg(x)。
固定生成器尋找D使得V最大,令f(x)=V,求f(x)最大值
理想判別器
判別器D*(x)值在0-1范圍。
將D*(x)帶入式(11)
將式(14)轉(zhuǎn)化為JS散度形式
當(dāng)Pg=Pdata時,達(dá)到生成最優(yōu)解G(*)。此刻生成器和判別器達(dá)到納什平衡,生成的數(shù)據(jù)判別器已分不清真假。
ACGAN是基于GAN提出的,GAN為了生成安全樣本,可能會生成相同類型的圖片欺騙判別器,利用標(biāo)簽信息能夠防止這種現(xiàn)象,使得生成樣本基本相同。標(biāo)簽的存在可以讓判別器關(guān)注到生成的類別,防止模式崩潰問題。例如,用MNIST數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò)時,為了安全只生成其中一個數(shù)字,就發(fā)生了模式崩潰問題。ACGAN結(jié)合了SGAN監(jiān)督的思想以及CGAN的條件信息輔助分類思想,綜合判別器學(xué)習(xí)到的特征可以提升分類器的性能或優(yōu)化判別器,達(dá)到同時訓(xùn)練生成器和分類器的目的,不僅可得到質(zhì)量較高的圖片,訓(xùn)練穩(wěn)定,還能擁有一個分類器實現(xiàn)對圖像的識別。
ACGAN對小樣本數(shù)據(jù)集訓(xùn)練任務(wù)有一定優(yōu)勢,通過生成的數(shù)據(jù)可以補(bǔ)充一定量的樣本集,模型本身通過少量樣本就能較快地收斂,很好地完成模型訓(xùn)練。已有研究在訓(xùn)練好的MNIST數(shù)據(jù)集上進(jìn)行測試,分類正確率能達(dá)到98%[15]。
本文的模型基于ACGAN建立,由生成器和判別器對抗訓(xùn)練得到高質(zhì)量圖片,可做為樣本數(shù)據(jù),緩解小樣本問題,且加入半監(jiān)督設(shè)計也就是訓(xùn)練時既有帶標(biāo)簽又有無標(biāo)簽數(shù)據(jù),使得模型具有較好泛化能力。
圖1是模型生成器網(wǎng)絡(luò)結(jié)構(gòu),包括卷積層、卷積核數(shù)目以及結(jié)構(gòu)設(shè)置。圖2是模型判別器網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)的設(shè)置。生成器和判別器參數(shù)根據(jù)紅外紙幣數(shù)據(jù)設(shè)計。為了提取多量的特征就需要多層卷積,但要考慮過擬合問題。
圖1 生成器網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of generator
圖2 判別器網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of discriminator
紅外紙幣鑒偽模型結(jié)構(gòu)如圖3所示。生成器G和判別器D博弈訓(xùn)練,隨機(jī)噪聲Z和標(biāo)簽C生成帶標(biāo)簽的接近數(shù)據(jù)集分布的數(shù)據(jù)G(X1),G(X1)和標(biāo)鑒數(shù)據(jù)X2經(jīng)過D判斷真假,優(yōu)化生成網(wǎng)絡(luò)和判別器網(wǎng)絡(luò),生成模型特征抽取后形成的分類器C,輸出該數(shù)據(jù)類別為真幣還是假幣;帶標(biāo)簽的數(shù)據(jù)集X2經(jīng)過判別器對數(shù)據(jù)的分類,并優(yōu)化分類器;將不帶標(biāo)簽的數(shù)據(jù)集X3送往鑒判別器可以優(yōu)化分類器,通過訓(xùn)練提高其分類的置信區(qū)間,最終實現(xiàn)紙幣半監(jiān)督分類。
圖3 紅外特征紙幣鑒偽模型Fig.3 Identification model for infrared characteristics of paper currency
本文選用的數(shù)據(jù)集是在聚龍公司采集的紅外圖像。數(shù)據(jù)集共有900張,其中真幣800張,假幣100張。訓(xùn)練集550張,其中500張真幣,50張假幣。驗證集225張,其中真幣200張,假幣25張。測試集125張,其中真幣100張,假幣25張。生成數(shù)據(jù)取100張,具有真幣特征數(shù)據(jù)50張,具假幣特征數(shù)據(jù)50張,做訓(xùn)練集樣本。利用基于Python的kreas學(xué)習(xí)框架,在CPU和win10系統(tǒng)環(huán)境下進(jìn)行實驗。
傳統(tǒng)的教學(xué)多以教師講授為主,以教師為主體,易于控制教學(xué)的進(jìn)程,邏輯性和系統(tǒng)性相對較強(qiáng),學(xué)生遵循教師的講解,易于快速形成知識結(jié)構(gòu)和體系.然而,這種教學(xué)方法不利于調(diào)動學(xué)生的積極性和主動性,學(xué)生的參與意識不強(qiáng),因此需要改變授課方式.
圖4 霍夫變換原理圖Fig.4 Schematic diagram of Hough transform
根據(jù)四條邊界線的交點可得紙幣傾斜角,根據(jù)像素點坐標(biāo)可以推出圖像位置關(guān)系。(X0,Y0)是紙幣旋轉(zhuǎn)前像素點的坐標(biāo),(X1,Y1)是旋轉(zhuǎn)之后的坐標(biāo),旋轉(zhuǎn)前后的位置關(guān)系
紙幣數(shù)據(jù)采集中,由于光照、紙幣位置等因素,圖像存在傾斜問題,需要進(jìn)行傾斜校正預(yù)處理。采用霍夫變換進(jìn)行傾斜校正,原理如圖4所示。
經(jīng)過霍夫變換傾斜校正后的紅外特征紙幣,再對其邊緣用Canny算子切割,效果如圖5所示。對處理后的紙幣進(jìn)行模型的訓(xùn)練測試。
基于改進(jìn)ACGAN網(wǎng)絡(luò)來完成紙幣紅外特征鑒偽。網(wǎng)絡(luò)結(jié)構(gòu)含有兩全連接層,卷積核為3×3,步長調(diào)整為1,激活函數(shù)選擇Leaky ReLU函數(shù)。判別器網(wǎng)絡(luò)卷積結(jié)構(gòu)和生成器相同,全連接層改為3個,判別層可以輸出樣本的類別概率。
超參數(shù)不需要數(shù)據(jù)來驅(qū)動,可以在訓(xùn)練前或者訓(xùn)練中人為進(jìn)行調(diào)整,包括學(xué)習(xí)率(learning rate)、批樣本數(shù)量(batch size)、迭代次數(shù)等。學(xué)習(xí)率直接控制著訓(xùn)練中網(wǎng)絡(luò)梯度更新的量級,學(xué)習(xí)率衰減或者增大能幫助模型有效地減少震蕩或者逃離鞍點。生成器學(xué)習(xí)率設(shè)為0.000 5,判別器學(xué)習(xí)率設(shè)為0.000 1。過小的批樣本數(shù)量,例如batch size為1,即每個樣本都去修正一次梯度方向,樣本之間的差異越大越難以收斂。而過大的批樣本數(shù)量,會使得梯度方向基本穩(wěn)定,容易陷入局部最優(yōu)解,降低精度。minibatch是一次更新所用的數(shù)據(jù)條數(shù),每個minibatch都是隨機(jī)的樣本,增加了生成數(shù)據(jù)的多樣性,本文設(shè)minibatch數(shù)為16。為避免過度訓(xùn)練造成的過擬合,如果性能在一段時間內(nèi)不再提升,會采用提前停止的方式終止迭代。
在訓(xùn)練形式上采用半監(jiān)督方式,綜合生成器、判別器以及分類器三者相互作用相互優(yōu)化的特 點,將判別器改為分類器,同時保留判別器對紙幣 的真假數(shù)據(jù)的鑒別功能。由生成對抗網(wǎng)絡(luò)原理,模型優(yōu)化就是讓生成器和鑒別區(qū)損失都最小。整個模型損失包括生成數(shù)據(jù)的真假以及分類損失
帶標(biāo)簽樣本數(shù)據(jù)的分類損失Lc,C表示類別
無標(biāo)簽數(shù)據(jù)分類損失用香農(nóng)熵Lu表示,X為無標(biāo)簽數(shù)據(jù),n是分類數(shù)目
通過Lu衡量分類器對于無標(biāo)簽數(shù)據(jù)分類的不確定度。因此本模型收斂就是優(yōu)化判斷真假數(shù)據(jù)損失Lu及分類損失Lc兩者和最小。
圖6是訓(xùn)練過程中模型的損失變化圖。模型損失總體趨勢先上升后下降,之后趨于穩(wěn)定。顯示了網(wǎng)絡(luò)模型生成器和判別器對抗學(xué)習(xí)中,鑒偽模型由訓(xùn)練到平衡的過程。
圖6 模型損失變換圖Fig.6 Diagram of model losstransformation
圖7為模型生成器產(chǎn)生的樣例圖。通過調(diào)節(jié)參數(shù),降低模型損失,生成和樣本數(shù)據(jù)逐漸接近的圖像,圖7a是模型迭代早期輸出的樣例圖,圖7b是模型迭代完成產(chǎn)生的樣例圖。生成的圖像具有樣本的特征,可以做樣本數(shù)據(jù),解決小樣本數(shù)據(jù)訓(xùn)練困難的問題。
本文數(shù)據(jù)正負(fù)樣本差異較大,正確率就會變得比較片面,故選擇精確率、召回率、F值(F-Measure)做評價指標(biāo)。F值定義為精確率和召回率的調(diào)和平均值。精確度為預(yù)測假幣的樣本中標(biāo)簽為假幣的比例,即真幣誤判為假幣。召回率為真實標(biāo)簽是假幣的樣本被預(yù)測為假幣的比例,表示假幣被正確分類的程度。分類器能把所有假幣都分類正確,也就是容易把真幣錯誤歸到假幣范圍中,也就是說召回率變高,精確度就會變低,故用F值對結(jié)果綜合評價。
圖7 生成器產(chǎn)生的樣例圖Fig.7 Samplesgenerated by generator
測試結(jié)果如表1所示。CNN模型召回率低,F(xiàn)值低,假幣誤判的可能性變大,說明樣本不平衡使得該模型出現(xiàn)模型偏移問題。ACGAN模型雖然對不平衡數(shù)據(jù)處理能力較CNN好,但對紙幣分類精確度需要進(jìn)一步加強(qiáng)。本文基于生成對抗網(wǎng)絡(luò)的紅外紙幣模型具有較好的準(zhǔn)確度和泛化性,針對小樣本不平衡的紅外特征紙幣數(shù)據(jù)分類,有較好的處理能力。
表1 模型測試結(jié)果Tab.1 Model test results
本文采用半監(jiān)督輔助分類生成對抗網(wǎng)絡(luò)鑒偽算法用于紙幣紅外特征鑒偽。在ACGAN基礎(chǔ)上優(yōu)化生成對抗網(wǎng)絡(luò)結(jié)構(gòu),對網(wǎng)絡(luò)進(jìn)行超參數(shù)調(diào)節(jié),經(jīng)過生成網(wǎng)絡(luò)和對抗網(wǎng)絡(luò)博弈得到分類器。生成器將隨機(jī)噪聲生成特定類別的數(shù)據(jù),擴(kuò)充樣本數(shù)據(jù)集,解決樣本不均衡問題。半監(jiān)督方式進(jìn)一步提高了分類的準(zhǔn)確度和泛化性,提高了對未知假幣的識別率。