蔣志文 鄭怡亭 鄧嬌 張宜放
摘要:深度學(xué)習(xí)算法在很多領(lǐng)域取得了卓越的成就,但同時(shí)也容易受到對(duì)抗樣本的攻擊。使用對(duì)抗樣本訓(xùn)練模型是抵御模型被攻擊的有效手段,但這需要大量對(duì)抗樣本的支持。為了提升對(duì)抗樣本的生成效率,本文提出了一種基于抽樣向量擾動(dòng)的對(duì)抗樣本生成方法(SPVT)。實(shí)驗(yàn)結(jié)果表明,該方法可以在短時(shí)間內(nèi)生成大量有效對(duì)抗樣本,并且能夠自適應(yīng)計(jì)算出FGSM算法的擾動(dòng)幅度,并且和人為設(shè)定參數(shù)的FGSM算法相比對(duì)抗成功率提升了0.77%;生成相同數(shù)量的對(duì)抗樣本,SPVT方法與DeepFool算法相比能夠節(jié)約1/6的時(shí)間,解決了對(duì)抗樣本生成效率不高的問(wèn)題。
關(guān)鍵詞: 對(duì)抗樣本;深度學(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í)是人工智能的一個(gè)重要分支,被廣泛地運(yùn)用于計(jì)算機(jī)視覺(jué)和圖像識(shí)別等領(lǐng)域,如人臉識(shí)別[1]和圖片分類預(yù)測(cè)[2]等。在深度學(xué)習(xí)技術(shù)在生產(chǎn)和生活等領(lǐng)域普及的同時(shí),其本身的安全性問(wèn)題也越來(lái)越受到研究者的關(guān)注。目前CNN等深度學(xué)習(xí)模型在圖像分類問(wèn)題上的應(yīng)用和效果表現(xiàn)得尤為突出,但這些高性能的圖像分類器在面對(duì)對(duì)抗樣本攻擊的時(shí)候卻暴露了其脆弱性。這些攻擊深度學(xué)習(xí)模型的對(duì)抗樣本只是在原始的輸入圖片上加入了微小量的像素?cái)_動(dòng),卻能夠?qū)е履P蜔o(wú)法獲得最終正確的分類結(jié)果,從而讓對(duì)抗樣本攻擊對(duì)圖像分類系統(tǒng)產(chǎn)生巨大的危害[3],因此構(gòu)造高魯棒性的深度學(xué)習(xí)模型具有重要的研究意義。通過(guò)在訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練數(shù)據(jù)中加入對(duì)抗樣本進(jìn)行模型的訓(xùn)練,能夠加強(qiáng)模型的魯棒性[4],從而能夠更好地抵御來(lái)自對(duì)抗樣本的攻擊。模型魯棒性是用于分析模型對(duì)于微小的數(shù)據(jù)擾動(dòng)的抵抗能力的評(píng)測(cè)標(biāo)準(zhǔn),在模型面對(duì)相同的擾動(dòng)下,模型的準(zhǔn)確率越高,則模型的魯棒性越好[5]。
為了平衡對(duì)抗樣本的生成速度和樣本質(zhì)量擾動(dòng)質(zhì)量大小之間的矛盾,本文提出了一種基于抽樣擾動(dòng)向量的快速對(duì)抗樣本生成方法(adversarial method based on Sampling Perturbation Vector Transform):首先,隨機(jī)地從樣本數(shù)據(jù)集中抽取部分樣本,使用對(duì)抗成功率更高的基于單個(gè)樣擾動(dòng)向量的對(duì)抗樣本生成方法(DeepFool算法[6]),迭代地計(jì)算每個(gè)樣本可達(dá)到誤分類的擾動(dòng)向量,獲取樣本的所有擾動(dòng)幅度的集合;其次,計(jì)算擾動(dòng)幅度集合中所有樣本的平均擾動(dòng)幅度;最后,將這個(gè)計(jì)算出來(lái)的擾動(dòng)幅度應(yīng)用于FGSM算法[7]生成對(duì)抗樣本。
2 SPVT方法
SPVT方法結(jié)合了基于優(yōu)化的DeepFool對(duì)抗樣本生成方法和基于梯度的FGSM對(duì)抗樣本生成方法。SPVT方法的流程圖如圖1。本節(jié)主要介紹了使用SPVT方法生成對(duì)抗樣本的具體步驟,包括:抽樣擾動(dòng)向量集構(gòu)建,擾動(dòng)幅度生成和對(duì)抗樣本生成。
2.1抽樣擾動(dòng)向量集構(gòu)建
在統(tǒng)計(jì)學(xué)中,為了減少計(jì)算量,通常采用抽樣的方式使用抽樣樣本特征預(yù)估整體樣本特征。基于統(tǒng)計(jì)學(xué)中以部分代替總體的思想,本文使用抽樣后的數(shù)據(jù)集中樣本的擾動(dòng)特征來(lái)預(yù)估總體數(shù)據(jù)集的擾動(dòng)特征,這樣可以減少計(jì)算時(shí)間。
2.2擾動(dòng)幅度生成
對(duì)于在抽樣擾動(dòng)向量集構(gòu)建步驟中獲取到的擾動(dòng)樣本集RS,可以通過(guò)以下的方法將該擾動(dòng)樣本集RS中的擾動(dòng)向量轉(zhuǎn)化為整體樣本數(shù)據(jù)集中的擾動(dòng)幅度。生成擾動(dòng)幅度方法的具體過(guò)程推導(dǎo)如下:
假設(shè)對(duì)于單個(gè)對(duì)抗樣本而言,不同的對(duì)抗樣本生成方法都有可能產(chǎn)生近乎一致的擾動(dòng)向量。這個(gè)擾動(dòng)向量和使用的對(duì)抗樣本生成方法無(wú)關(guān),只與該樣本有關(guān)。那么對(duì)于單個(gè)的對(duì)抗樣本,則可以使用如下的轉(zhuǎn)換方法來(lái)講將擾動(dòng)向量轉(zhuǎn)化為擾動(dòng)幅度。
首先,將樣本集D的擾動(dòng)比例定義為:
2.3對(duì)抗樣本生成
FGSM算法是一種基于梯度的白盒攻擊方法。該方法依據(jù)圖像的梯度來(lái)生成對(duì)抗樣本,首先輸入圖片和一個(gè)神經(jīng)網(wǎng)絡(luò),之后計(jì)算圖片的梯度,最后將梯度疊加到原始的輸入圖像上來(lái)生成對(duì)抗樣本。
3實(shí)驗(yàn)
3.1實(shí)驗(yàn)方法
我們實(shí)現(xiàn)了在SPVT方法中提出的轉(zhuǎn)換方法,該方法將基于優(yōu)化的對(duì)抗樣本生成方法生成的擾動(dòng)和基于梯度的對(duì)抗樣本生成方法的擾動(dòng)連接起來(lái),綜合了兩者的優(yōu)點(diǎn),提高了對(duì)抗樣本的生成效率。為了評(píng)估我們方法的有效性,我們將通過(guò)實(shí)驗(yàn)來(lái)驗(yàn)證使用SPVT方法是否能提高對(duì)抗樣本的生成效率。
3.2實(shí)驗(yàn)結(jié)果及分析
對(duì)于使用MNIST數(shù)據(jù)集訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),我們分別使用了三種不同算法生成200至2000個(gè)成功的對(duì)抗樣本,觀察其對(duì)抗成功率(對(duì)抗成功率=對(duì)抗成功的數(shù)量/實(shí)驗(yàn)總數(shù)),實(shí)驗(yàn)結(jié)果如表1所示。對(duì)于每種不同的對(duì)抗攻擊方法,我們都讓其在LetNet(MNIST)數(shù)據(jù)集上生成100~1000張成功的對(duì)抗樣本,將其對(duì)抗成功率記錄在表1中。
從表1中可以看出,生成200~2000個(gè)對(duì)抗樣本,F(xiàn)GSM、DeepFool、SPVT算法的平均對(duì)抗成功率為49.98%,93.47%和50.75%。相較于FGSM算法我們將其對(duì)抗成功率提高了0.77%,并且使用SPVT方法不需要自己設(shè)定FGSM算法的擾動(dòng)幅度值來(lái)生成對(duì)抗樣本,它能夠根據(jù)擾動(dòng)推導(dǎo)公式自適應(yīng)地獲取擾動(dòng)幅度值進(jìn)行對(duì)抗樣本生成。
從圖2中可以直觀地看出SPVT方法在生成相同數(shù)量的對(duì)抗樣本時(shí)消耗的時(shí)間大約為DeepFool算法消耗時(shí)間的1/6,比FGSM算法消耗的時(shí)間略高。通過(guò)分析曲線的趨勢(shì),如果生成更多的對(duì)抗樣本,SPVT方法相較于DeepFool算法的生成優(yōu)勢(shì)會(huì)變大。
通過(guò)以上實(shí)驗(yàn)結(jié)果及分析,SPVT方法相較于DeepFool算法而言,雖然對(duì)抗成功率不如DeepFool算法高,但使用SPVT方法能夠?qū)⑸上嗤瑪?shù)量對(duì)抗樣本花費(fèi)的時(shí)間降低到1/6左右。SPVT相較于FGSM算法的優(yōu)勢(shì)在:SPVT方法生成對(duì)抗樣本時(shí)不需要人為指定擾動(dòng)幅度的超參數(shù),能夠進(jìn)行參數(shù)自適應(yīng)地生成對(duì)抗樣本。使用SPVT方法生成對(duì)抗樣本,能夠提升對(duì)抗樣本的生成效率,并且尤其適用于大批量的對(duì)抗樣本生成任務(wù)。
4結(jié)論和總結(jié)
在這篇論文中,我們基于FGSM算法和DeepFool算法提出了一種SPVT算法,可以解決在短時(shí)間內(nèi)生成大量對(duì)抗樣本的問(wèn)題。使用SPVT方法生成對(duì)抗樣本可以自適應(yīng)地計(jì)算出樣本的擾動(dòng)幅度,從而可以將一個(gè)合適的擾動(dòng)幅度值輸入給FGSM算法進(jìn)行對(duì)抗樣本生成,避免生成擾動(dòng)過(guò)大或者過(guò)小的圖片。
參考文獻(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)編輯:光文玲】