蔣志文 鄭怡亭 鄧嬌 張宜放



摘要:深度學(xué)習(xí)算法在很多領(lǐng)域取得了卓越的成就,但同時也容易受到對抗樣本的攻擊。使用對抗樣本訓(xùn)練模型是抵御模型被攻擊的有效手段,但這需要大量對抗樣本的支持。為了提升對抗樣本的生成效率,本文提出了一種基于抽樣向量擾動的對抗樣本生成方法(SPVT)。實驗結(jié)果表明,該方法可以在短時間內(nèi)生成大量有效對抗樣本,并且能夠自適應(yīng)計算出FGSM算法的擾動幅度,并且和人為設(shè)定參數(shù)的FGSM算法相比對抗成功率提升了0.77%;生成相同數(shù)量的對抗樣本,SPVT方法與DeepFool算法相比能夠節(jié)約1/6的時間,解決了對抗樣本生成效率不高的問題。
關(guān)鍵詞: 對抗樣本;深度學(xué)習(xí);白盒攻擊
Abstract: The deep learning algorithm has achieved remarkable achievements in many fields, but it is also vulnerable to adversarial examples. Adversarial training is an effective means to improve the robustness of deep learning models, but it needs a large number of adversarial examples. In order to improve the efficiency of generating adversarial examples, this paper proposes SPVT method that based on sample vector perturbation. Firstly, sampling from the test dataset and use an optimized based generation algorithm to calculate the perturbation vectors; Secondly, transform the perturbation vectors into the disturbance amplitude; Finally, using a gradient-based generation algorithm to generate a large number of adversarial examples. The experimental results show that SPVT can generate a large number of effective adversarial examples in a short time, and it can adapt the disturbance amplitude of FGSM, which has 0.77% higher success rate than that of FGSM with artificial parameters. When generating the same number of counter samples, SPVT method can save 1/6 of times compared with Deepfool, which solves the problem of low efficiency of adversarial examples generation problems.
Key words: adversarial example; deep learning; robustness of model
1前言
深度學(xué)習(xí)是人工智能的一個重要分支,被廣泛地運用于計算機(jī)視覺和圖像識別等領(lǐng)域,如人臉識別[1]和圖片分類預(yù)測[2]等。在深度學(xué)習(xí)技術(shù)在生產(chǎn)和生活等領(lǐng)域普及的同時,其本身的安全性問題也越來越受到研究者的關(guān)注。目前CNN等深度學(xué)習(xí)模型在圖像分類問題上的應(yīng)用和效果表現(xiàn)得尤為突出,但這些高性能的圖像分類器在面對對抗樣本攻擊的時候卻暴露了其脆弱性。這些攻擊深度學(xué)習(xí)模型的對抗樣本只是在原始的輸入圖片上加入了微小量的像素擾動,卻能夠?qū)е履P蜔o法獲得最終正確的分類結(jié)果,從而讓對抗樣本攻擊對圖像分類系統(tǒng)產(chǎn)生巨大的危害[3],因此構(gòu)造高魯棒性的深度學(xué)習(xí)模型具有重要的研究意義。通過在訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練數(shù)據(jù)中加入對抗樣本進(jìn)行模型的訓(xùn)練,能夠加強(qiáng)模型的魯棒性[4],從而能夠更好地抵御來自對抗樣本的攻擊。模型魯棒性是用于分析模型對于微小的數(shù)據(jù)擾動的抵抗能力的評測標(biāo)準(zhǔn),在模型面對相同的擾動下,模型的準(zhǔn)確率越高,則模型的魯棒性越好[5]。
為了平衡對抗樣本的生成速度和樣本質(zhì)量擾動質(zhì)量大小之間的矛盾,本文提出了一種基于抽樣擾動向量的快速對抗樣本生成方法(adversarial method based on Sampling Perturbation Vector Transform):首先,隨機(jī)地從樣本數(shù)據(jù)集中抽取部分樣本,使用對抗成功率更高的基于單個樣擾動向量的對抗樣本生成方法(DeepFool算法[6]),迭代地計算每個樣本可達(dá)到誤分類的擾動向量,獲取樣本的所有擾動幅度的集合;其次,計算擾動幅度集合中所有樣本的平均擾動幅度;最后,將這個計算出來的擾動幅度應(yīng)用于FGSM算法[7]生成對抗樣本。
2 SPVT方法
SPVT方法結(jié)合了基于優(yōu)化的DeepFool對抗樣本生成方法和基于梯度的FGSM對抗樣本生成方法。SPVT方法的流程圖如圖1。本節(jié)主要介紹了使用SPVT方法生成對抗樣本的具體步驟,包括:抽樣擾動向量集構(gòu)建,擾動幅度生成和對抗樣本生成。
2.1抽樣擾動向量集構(gòu)建
在統(tǒng)計學(xué)中,為了減少計算量,通常采用抽樣的方式使用抽樣樣本特征預(yù)估整體樣本特征。基于統(tǒng)計學(xué)中以部分代替總體的思想,本文使用抽樣后的數(shù)據(jù)集中樣本的擾動特征來預(yù)估總體數(shù)據(jù)集的擾動特征,這樣可以減少計算時間。
2.2擾動幅度生成
對于在抽樣擾動向量集構(gòu)建步驟中獲取到的擾動樣本集RS,可以通過以下的方法將該擾動樣本集RS中的擾動向量轉(zhuǎn)化為整體樣本數(shù)據(jù)集中的擾動幅度。生成擾動幅度方法的具體過程推導(dǎo)如下:
假設(shè)對于單個對抗樣本而言,不同的對抗樣本生成方法都有可能產(chǎn)生近乎一致的擾動向量。這個擾動向量和使用的對抗樣本生成方法無關(guān),只與該樣本有關(guān)。那么對于單個的對抗樣本,則可以使用如下的轉(zhuǎn)換方法來講將擾動向量轉(zhuǎn)化為擾動幅度。
首先,將樣本集D的擾動比例定義為:
2.3對抗樣本生成
FGSM算法是一種基于梯度的白盒攻擊方法。該方法依據(jù)圖像的梯度來生成對抗樣本,首先輸入圖片和一個神經(jīng)網(wǎng)絡(luò),之后計算圖片的梯度,最后將梯度疊加到原始的輸入圖像上來生成對抗樣本。
3實驗
3.1實驗方法
我們實現(xiàn)了在SPVT方法中提出的轉(zhuǎn)換方法,該方法將基于優(yōu)化的對抗樣本生成方法生成的擾動和基于梯度的對抗樣本生成方法的擾動連接起來,綜合了兩者的優(yōu)點,提高了對抗樣本的生成效率。為了評估我們方法的有效性,我們將通過實驗來驗證使用SPVT方法是否能提高對抗樣本的生成效率。
3.2實驗結(jié)果及分析
對于使用MNIST數(shù)據(jù)集訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),我們分別使用了三種不同算法生成200至2000個成功的對抗樣本,觀察其對抗成功率(對抗成功率=對抗成功的數(shù)量/實驗總數(shù)),實驗結(jié)果如表1所示。對于每種不同的對抗攻擊方法,我們都讓其在LetNet(MNIST)數(shù)據(jù)集上生成100~1000張成功的對抗樣本,將其對抗成功率記錄在表1中。
從表1中可以看出,生成200~2000個對抗樣本,F(xiàn)GSM、DeepFool、SPVT算法的平均對抗成功率為49.98%,93.47%和50.75%。相較于FGSM算法我們將其對抗成功率提高了0.77%,并且使用SPVT方法不需要自己設(shè)定FGSM算法的擾動幅度值來生成對抗樣本,它能夠根據(jù)擾動推導(dǎo)公式自適應(yīng)地獲取擾動幅度值進(jìn)行對抗樣本生成。
從圖2中可以直觀地看出SPVT方法在生成相同數(shù)量的對抗樣本時消耗的時間大約為DeepFool算法消耗時間的1/6,比FGSM算法消耗的時間略高。通過分析曲線的趨勢,如果生成更多的對抗樣本,SPVT方法相較于DeepFool算法的生成優(yōu)勢會變大。
通過以上實驗結(jié)果及分析,SPVT方法相較于DeepFool算法而言,雖然對抗成功率不如DeepFool算法高,但使用SPVT方法能夠?qū)⑸上嗤瑪?shù)量對抗樣本花費的時間降低到1/6左右。SPVT相較于FGSM算法的優(yōu)勢在:SPVT方法生成對抗樣本時不需要人為指定擾動幅度的超參數(shù),能夠進(jìn)行參數(shù)自適應(yīng)地生成對抗樣本。使用SPVT方法生成對抗樣本,能夠提升對抗樣本的生成效率,并且尤其適用于大批量的對抗樣本生成任務(wù)。
4結(jié)論和總結(jié)
在這篇論文中,我們基于FGSM算法和DeepFool算法提出了一種SPVT算法,可以解決在短時間內(nèi)生成大量對抗樣本的問題。使用SPVT方法生成對抗樣本可以自適應(yīng)地計算出樣本的擾動幅度,從而可以將一個合適的擾動幅度值輸入給FGSM算法進(jìn)行對抗樣本生成,避免生成擾動過大或者過小的圖片。
參考文獻(xiàn):
[1] Blessing of Dimensionality: High-dimensional Feature and Its Efficient Compression for Face Verification. Dong Chen. Xudong Cao. Fang Wen. Jian Sun. CVPR 2013.
[2] Zheng H, Fu J, Mei T, et al. Learning multi-attention convolutional neural network for fine-grained image recognition[C]//Proceedings of the IEEE international conference on computer vision. 2017: 5209-5217.
[3] Moosavi-Dezfooli S M, Fawzi A, Fawzi O, et al. Universal adversarial perturbations[C] //Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 1765-1773.
[4] Cheng Y, Jiang L, Macherey W. Robust neural machine translation with doubly adversarial inputs[J]. arXiv preprint arXiv:1906.02443, 2019.
[5] Hampel F R, Ronchetti E M, Rousseeuw P J, et al. Robust statistics: the approach based on influence functions[M]. John Wiley & Sons, 2011.
[6] Moosavi-Dezfooli S M, Fawzi A, Frossard P. Deepfool: a simple and accurate method to fool deep neural networks [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE Press, 2016: 2574-2582.
[7] Goodfellow I J, Shlens J, Szegedy C. Explaining and harnessing adversarial examples[J]. arXiv preprint arXiv:1412.6572, 2014.
【通聯(lián)編輯:光文玲】