盧 劍 偉
(常州工業(yè)職業(yè)技術(shù)學(xué)院信息工程與技術(shù)學(xué)院 江蘇 常州 213164)(東南大學(xué)信息科學(xué)與工程學(xué)院 江蘇 南京 211189)
對(duì)抗樣本已被證明存在于大部分真實(shí)數(shù)據(jù)集中,且對(duì)抗樣本的本質(zhì)是數(shù)據(jù)集中容易被忽視的噪聲或擾動(dòng)樣本[1-6]。一方面,對(duì)抗樣本的本質(zhì)決定了對(duì)抗樣本會(huì)降低分類算法的分類性能;另一方面,合理的對(duì)抗樣本學(xué)習(xí)可有效地提高分類算法的分類性能,能夠較好地應(yīng)用于腦電信號(hào)識(shí)別[1]、手寫體識(shí)別[2]、車輛識(shí)別[3]等。對(duì)抗樣本學(xué)習(xí)的一般方式是將少量的噪聲或擾動(dòng)樣本直接加入到數(shù)據(jù)集中[6],或者對(duì)樣本特征本身進(jìn)行較小幅度的改動(dòng)[1,5],繼而利用相應(yīng)的分類算法進(jìn)行學(xué)習(xí)以提高算法的分類性能。不同于對(duì)抗樣本學(xué)習(xí)的一般方式,本文將嘗試修改一定比例樣本的標(biāo)簽類型使之成為對(duì)抗樣本進(jìn)行對(duì)抗學(xué)習(xí)以提高所提分類算法的分類性能。
神經(jīng)網(wǎng)絡(luò)[1,6]在人工智能、機(jī)器學(xué)習(xí)以及深度學(xué)習(xí)等領(lǐng)域展示著強(qiáng)大的樣本學(xué)習(xí)能力,已被廣泛應(yīng)用于圖像處理、人工智能信息處理、無(wú)人駕駛技術(shù)、自適應(yīng)智能控制等諸多實(shí)際應(yīng)用[7-12]。神經(jīng)網(wǎng)絡(luò)通過(guò)前向傳播和反向傳播算法不斷優(yōu)化隱藏層中的參數(shù)使之達(dá)到最佳權(quán)值來(lái)提高整體網(wǎng)絡(luò)的學(xué)習(xí)性能,尤其是網(wǎng)絡(luò)的泛化性。神經(jīng)網(wǎng)絡(luò)的層次結(jié)構(gòu)模型使其能夠更好地表示樣本特征以及具備更強(qiáng)的函數(shù)模擬能力[11]。具有更多隱藏層數(shù)的神經(jīng)網(wǎng)絡(luò)能夠更好地模擬神經(jīng)網(wǎng)絡(luò)模型與真實(shí)樣本特征之間的關(guān)系,但卻會(huì)帶來(lái)較為嚴(yán)重的過(guò)擬合現(xiàn)象[13-14]。因此,文獻(xiàn)[13]提出dropout技術(shù)來(lái)解決因需要神經(jīng)網(wǎng)絡(luò)增加隱藏層數(shù)大幅提升網(wǎng)絡(luò)模型學(xué)習(xí)能力過(guò)程中產(chǎn)生的過(guò)擬合問(wèn)題。在使用dropout技術(shù)的過(guò)程中,隱藏層中的節(jié)點(diǎn)在訓(xùn)練時(shí)將會(huì)以一定的概率被移出隱藏層,以這種方式來(lái)提高神經(jīng)網(wǎng)絡(luò)的泛化性。
受神經(jīng)網(wǎng)絡(luò)層級(jí)結(jié)構(gòu)模型啟發(fā),本文選擇一種成熟且性能較好的分類器——支持向量機(jī)(Support Vector Machine,SVM)[15-18]作為子分類器,且基于堆棧結(jié)構(gòu)原理[19]和對(duì)抗樣本學(xué)習(xí)[1-6]構(gòu)建一種具有新型棧式結(jié)構(gòu)的層次結(jié)構(gòu)支持向量機(jī)(D-S-SVM)。通過(guò)對(duì)抗樣本學(xué)習(xí),每個(gè)子分類器輸出誤差對(duì)輸入的一階梯度信息將被嵌入到原輸入特征中以此更新原輸入。更新后的輸入將被作為下一個(gè)子分類器的輸入,通過(guò)堆棧結(jié)構(gòu)原理逐層更新每個(gè)子分類器的輸入,逐層提高每個(gè)子分類器的分類性能。特別地,在逐層更新原輸入樣本的過(guò)程中引入dropout,即將每個(gè)子分類器輸出誤差對(duì)輸入樣本部分特征的一階梯度信息嵌入到原輸入特征中,以提高所提出的分類模型D-S-SVM的泛化性。
SVM的分類函數(shù)可表示為:
f(x;w,b)=sign(wTx+b)
(1)
(2)
輸出誤差對(duì)樣本xi的一階梯度可計(jì)算為:
(3)
本文將基于對(duì)抗樣本學(xué)習(xí)的一階梯度信息嵌入到原輸入樣本中以更新每個(gè)原輸入樣本,即:
(4)
式中:參數(shù)γ代表特征學(xué)習(xí)率[20],其值的大小會(huì)影響樣本特征在特征空間的真實(shí)意義,較大的γ值會(huì)嚴(yán)重影響每個(gè)樣本在特征空間中的真實(shí)位置關(guān)系,因此,必須根據(jù)真實(shí)實(shí)驗(yàn)效果結(jié)合交叉驗(yàn)證[21]的方法來(lái)確定γ值。當(dāng)輸出誤差E對(duì)所有樣本的一階梯度計(jì)算完后便可得到基于對(duì)抗樣本學(xué)習(xí)的N×d維一階梯度信息矩陣G,即:
(5)
式中:xij代表數(shù)據(jù)集中第i個(gè)樣本的第j個(gè)特征且有1≤j≤d。
同樣,利用一階梯度信息矩陣更新原數(shù)據(jù)集可得到更新后的數(shù)據(jù)集,即:
X′=X+γG
(6)
由SVM的分類函數(shù)(式(1))可知式(4)中的一階梯度信息對(duì)樣本特征本身敏感,這種敏感特性決定了本文利用對(duì)抗樣本學(xué)習(xí)更新原樣本特征進(jìn)而提高所提分類模型的有效性。與基于訓(xùn)練原樣本的SVM模型相比,基于訓(xùn)練更新后樣本的SVM模型性能將會(huì)得到有效提高。
圖1 具有棧式結(jié)構(gòu)的層次支持向量機(jī)
與神經(jīng)網(wǎng)絡(luò)模型層次結(jié)構(gòu)相比,該層次支持向量機(jī)中的每一層SVM_k可類比于神經(jīng)網(wǎng)絡(luò)模型中的輸入輸出層/隱藏層,對(duì)每個(gè)原輸入樣本所有特征的一階梯度信息可類比于神經(jīng)網(wǎng)絡(luò)模型輸入輸出層/隱藏層中的節(jié)點(diǎn)。特別地,本文提出的層次支持向量機(jī)前后兩層由基于對(duì)抗樣本學(xué)習(xí)的一階梯度信息級(jí)聯(lián)而成,這為有監(jiān)督學(xué)習(xí)提供了一種新的實(shí)現(xiàn)方式。
第1節(jié)利用基于對(duì)抗樣本學(xué)習(xí)的一階梯度信息構(gòu)建了一種具有新型棧式結(jié)構(gòu)的層次支持向量機(jī)。然而,在利用一階梯度信息更新每一層輸入樣本作為下一層輸入樣本的過(guò)程中涉及到SVM_k輸出誤差對(duì)每條輸入樣本中所有特征的一階梯度。類似地,當(dāng)增加神經(jīng)網(wǎng)絡(luò)的隱藏層數(shù)或增加每一隱藏層中的節(jié)點(diǎn)數(shù)時(shí),更多的模型參數(shù)極易導(dǎo)致神經(jīng)網(wǎng)絡(luò)模型的過(guò)擬合現(xiàn)象。具體而言,在訓(xùn)練神經(jīng)網(wǎng)絡(luò)實(shí)施反向傳播算法的過(guò)程中,隨機(jī)選擇每一隱藏層中的部分節(jié)點(diǎn)參數(shù)根據(jù)神經(jīng)網(wǎng)絡(luò)的輸出誤差進(jìn)行修正,未被選擇的節(jié)點(diǎn)參數(shù)將保持之前的狀態(tài)。
圖2 類dropout的層次支持向量機(jī)
對(duì)于神經(jīng)網(wǎng)絡(luò),在每一次執(zhí)行反向算法的過(guò)程中,神經(jīng)網(wǎng)絡(luò)模型隱藏層中的所有節(jié)點(diǎn)參數(shù)將被逐漸優(yōu)化到最佳狀態(tài),神經(jīng)網(wǎng)絡(luò)模型將有效模擬模型與樣本特征之間的關(guān)系。結(jié)合dropout技術(shù),神經(jīng)網(wǎng)絡(luò)模型的過(guò)擬合問(wèn)題也將得到有效解決。類似地,在運(yùn)行D-S-SVM的過(guò)程中,利用基于對(duì)抗樣本學(xué)習(xí)的一階梯度信息逐層更新每一層輸入樣本,使得不同類樣本在特征空間中逐漸被隔開(kāi),因此,D-S-SVM的分類性能逐漸被提高。同時(shí),由于在逐層更新輸入樣本的過(guò)程中引入了dropout技術(shù),D-S-SVM的泛化性也將逐漸被提高。
由于所提D-S-SVM分類模型中的每一子分類器基于SVM實(shí)現(xiàn),因此實(shí)驗(yàn)中將主要討論線性(Linear)和高斯核(Gaussian)情況下的分類器分類性能。實(shí)驗(yàn)主要針對(duì)SVM和D-S-SVM的實(shí)際分類性能進(jìn)行對(duì)比來(lái)驗(yàn)證利用基于對(duì)抗樣本學(xué)習(xí)的一階梯度信息構(gòu)建具有新型棧式結(jié)構(gòu)的層次分類模型的有效性。另外,將討論D-S-SVM精簡(jiǎn)版(記為D-S-SVM_0)的分類性能,即在利用基于對(duì)抗樣本學(xué)習(xí)的一階梯度信息逐層更新輸入樣本的過(guò)程中不引入dropout技術(shù),以此來(lái)突出D-S-SVM的泛化性。
表1詳細(xì)列出了實(shí)驗(yàn)中選擇的真實(shí)數(shù)據(jù)集,所選擇的數(shù)據(jù)集均可從UCI[22]或KEEL[23]網(wǎng)站下載。
表1 真實(shí)數(shù)據(jù)集描述
表2詳細(xì)展示了各個(gè)分類算法在真實(shí)數(shù)據(jù)集上的測(cè)試精度,其中:對(duì)于線性情況下的三種分類算法的正則化參數(shù)c的搜索范圍為{10-5,10-4,…,104,105};對(duì)于高斯核情況下的三種分類算法的正則化參數(shù)c的搜索范圍與線性情況下相同,高斯核寬度σ的搜索范圍為{10-5,10-4,…,104,105}。對(duì)于每一個(gè)真實(shí)數(shù)據(jù)集,將隨機(jī)選擇60%的樣本作為訓(xùn)練樣本,其余作為測(cè)試樣本,測(cè)試結(jié)果為運(yùn)行10次后取得的平均分類性能。另外,D-S-SVM共有5層,除了給出取得最佳分類性能情況下的參數(shù)c和σ,還具體給出了D-S-SVM在第k層取得最佳分類性能。D-S-SVM在執(zhí)行dropout的過(guò)程中,將利用基于對(duì)抗樣本學(xué)習(xí)的一階梯度信息對(duì)每一個(gè)樣本一半的特征進(jìn)行更新。在執(zhí)行D-S-SVM_0以及D-S-SVM過(guò)程中,將隨機(jī)修改5%比例樣本的標(biāo)簽使其成為對(duì)抗樣本進(jìn)行對(duì)抗學(xué)習(xí),且根據(jù)文獻(xiàn)[20],D-S-SVM_0以及D-S-SVM中的樣本特征學(xué)習(xí)率選擇推薦值γ=0.001,兩者的分類性能比較如圖3所示。表2中已將對(duì)比算法最好的分類性能用粗體表示。
表2 幾種分類算法的詳細(xì)分類性能
(a) Linear (b) Gaussian圖3 D-S-SVM與D-S-SVM_0的分類性能比較
根據(jù)表2可得:
(1) 將D-S-SVM_0與SVM相比,不論是線性還是高斯核情況下,D-S-SVM_0在絕大部分真實(shí)數(shù)據(jù)集上的分類性能優(yōu)于SVM,在其他真實(shí)數(shù)據(jù)集上D-S-SVM_0至少能夠保持相當(dāng)?shù)姆诸愋阅?。這充分表明本文利用基于對(duì)抗樣本學(xué)習(xí)的一階梯度信息構(gòu)建具有新型棧式結(jié)構(gòu)分類模型的有效性,且該結(jié)構(gòu)能夠提高所提分類模型的分類性能。
(2) 結(jié)合表2和圖3,將D-S-SVM與其簡(jiǎn)易版本D-S-SVM_0相比,在絕大多數(shù)真實(shí)數(shù)據(jù)集上D-S-SVM的分類性能都優(yōu)于D-S-SVM_0,在小部分真實(shí)數(shù)據(jù)集上D-S-SVM至少能夠保持相當(dāng)?shù)姆诸愋阅?。這充分驗(yàn)證了本文模型在逐層更新輸入樣本的過(guò)程中引入dropout概念的有效性。
(3) 關(guān)于棧式結(jié)構(gòu),D-S-SVM基本在2~4層內(nèi)取得最佳分類性能,較少的層數(shù)一方面使D-S-SVM模型變得簡(jiǎn)單;另一方面當(dāng)超過(guò)一定層數(shù)時(shí),由于利用基于對(duì)抗樣本學(xué)習(xí)的一階梯度信息逐層更新輸入樣本的緣故,原輸入樣本的特征空間將會(huì)被破壞,再增加層數(shù)只會(huì)降低D-S-SVM的分類性能。
表3詳細(xì)列出了D-S-SVM(Linear)在真實(shí)數(shù)據(jù)集AUS、PAG與WDB以及D-S-SVM(Gaussian)在真實(shí)數(shù)據(jù)集BAL、SEI與VOT上每一層子分類器的訓(xùn)練和測(cè)試精度。其中,D-S-SVM由5個(gè)子分類器級(jí)聯(lián)而成,最佳的測(cè)試精度加粗顯示。
表3 D-S-SVM逐層分類性能
可以看出,當(dāng)D-S-SVM未取得最佳分類性能前,利用基于對(duì)抗樣本學(xué)習(xí)的一階梯度信息逐層更新每一個(gè)子分類器的輸入以及dropout技術(shù)的引入能夠逐層提高D-S-SVM的分類性能。當(dāng)D-S-SVM達(dá)到某一層取得最佳分類性能后,再增加D-S-SVM的層數(shù)會(huì)降低其分類性能,意味著D-S-SVM在該層輸入樣本特征空間已被優(yōu)化到最佳狀態(tài)。另外,D-S-SVM在大部分情況下只需要2~4層的棧式結(jié)構(gòu)便能取得最佳分類性能。
表4展現(xiàn)了在執(zhí)行dropout過(guò)程中不同比例的樣本特征更新對(duì)D-S-SVM分類性能的影響。其中,比例選擇1/2、1/3、1/4,即利用基于對(duì)抗樣本學(xué)習(xí)的一階梯度信息對(duì)每一個(gè)樣本1/2、1/3、1/4的特征進(jìn)行更新。
表4 dropout分析
可以看出,當(dāng)在D-S-SVM模型中引入dropout概念逐層更新樣本輸入的過(guò)程中,隨著樣本特征更新比例的降低,D-S-SVM的分類性能降低不明顯,或至少保持相當(dāng)?shù)姆诸愋阅?。這種情況可能是由于本文利用基于對(duì)抗樣本學(xué)習(xí)逐層更新D-S-SVM輸入樣本并以此構(gòu)造具備新型棧式結(jié)構(gòu)的分類模型所導(dǎo)致。當(dāng)在利用一階梯度信息逐層更新輸入樣本的過(guò)程中,每一個(gè)子分類器的樣本特征空間逐漸被隔離,當(dāng)引入dropout概念對(duì)少量的樣本特征進(jìn)行更新時(shí),D-S-SVM也能夠保持較好的分類性能。
針對(duì)真實(shí)數(shù)據(jù)集中存在對(duì)抗樣本的事實(shí),本文首先隨機(jī)修改樣本的真實(shí)標(biāo)簽類型,構(gòu)造對(duì)抗樣本進(jìn)行對(duì)抗樣本學(xué)習(xí)。在SVM的基礎(chǔ)上,將經(jīng)對(duì)抗樣本學(xué)習(xí)的SVM模型輸出誤差對(duì)輸入樣本特征的一階梯度信息嵌入到輸入樣本特征中以更新輸入樣本。其次,結(jié)合棧式結(jié)構(gòu)原理,將經(jīng)對(duì)抗樣本學(xué)習(xí)的SVM模型作為子分類器構(gòu)建層次支持向量機(jī)D-S-SVM。特別地,利用基于對(duì)抗樣本學(xué)習(xí)的一階梯度信息更新輸入樣本為前后兩個(gè)子分類器提供了一種新穎的棧式結(jié)構(gòu)級(jí)聯(lián)方式。將其與SVM相比,在真實(shí)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果驗(yàn)證了該級(jí)聯(lián)方式更加有效。最后,為提高D-S-SVM的泛化性,在逐層更新每一層子分類器輸入的過(guò)程中引入神經(jīng)網(wǎng)絡(luò)中的dropout概念,即利用基于對(duì)抗樣本學(xué)習(xí)的一階梯度信息隨機(jī)更新輸入樣本的部分特征,令輸入樣本的其他特征保持原有狀態(tài)。在真實(shí)數(shù)據(jù)集上的分類結(jié)果有力地證明了dropout概念的引入確實(shí)能夠有效增強(qiáng)D-S-SVM的泛化性。
今后將進(jìn)一步研究如何從數(shù)據(jù)集中有效選擇樣本進(jìn)行對(duì)抗樣本學(xué)習(xí)以及如何有效選擇樣本的部分特征利用對(duì)抗樣本學(xué)習(xí)更新樣本特征。此外,如何將所提D-S-SVM分類算法推廣到無(wú)監(jiān)督學(xué)習(xí)也是今后研究?jī)?nèi)容之一。