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