孟東宇
(1.上海微系統(tǒng)與信息技術(shù)研究所上海200050;2.上??萍即髮W(xué)信息學(xué)院,上海201210;3.中國(guó)科學(xué)院大學(xué)北京100029)
近年來(lái),深度學(xué)習(xí)及相關(guān)技術(shù)高速發(fā)展,在眾多領(lǐng)域取得了重大的突破[1]。在機(jī)器視覺(jué)[2-3],語(yǔ)音識(shí)別等領(lǐng)域[4],基于深度學(xué)習(xí)的方法將原有方法的功能極限向前大幅推進(jìn)。而隨著硬件性能優(yōu)化和軟件模型設(shè)計(jì)的進(jìn)步,深度學(xué)習(xí)在很多實(shí)際生產(chǎn)生活場(chǎng)景中也得到了應(yīng)用,自動(dòng)駕駛汽車[5],人臉識(shí)別驗(yàn)證[6]等等技術(shù)稱為了新的熱點(diǎn)。
這些場(chǎng)景中,計(jì)算機(jī)系統(tǒng)的功能正確性對(duì)相關(guān)人員的生命財(cái)產(chǎn)安全起決定性作用。因此,如何有效地對(duì)深度學(xué)習(xí)系統(tǒng)的安全性做檢測(cè)和驗(yàn)證成為了重要的研究課題。此前,研究人員已經(jīng)發(fā)現(xiàn),即使對(duì)于在正常測(cè)試樣本上表現(xiàn)十分出色的神經(jīng)網(wǎng)絡(luò)模型,只需在正常測(cè)試樣本上疊加一個(gè)非常小的惡意噪聲,就可以導(dǎo)致神經(jīng)網(wǎng)絡(luò)出現(xiàn)錯(cuò)誤。這樣由正常樣本疊加微小惡意噪聲而生成的數(shù)據(jù)樣本被稱為對(duì)抗樣本。對(duì)抗樣本的存在對(duì)基于深度學(xué)習(xí)技術(shù)的人工智能系統(tǒng)造成了巨大的安全威脅。
由于深度學(xué)習(xí)技術(shù)的相關(guān)理論研究依然處于起步階段,人們無(wú)法形式化地解釋深度神經(jīng)網(wǎng)絡(luò)的工作機(jī)制,也就無(wú)法通過(guò)形式驗(yàn)證的方法確保大型深度神經(jīng)網(wǎng)絡(luò)的正確性。因此,借鑒其他軟件安全研究方法,找到某一特定神經(jīng)網(wǎng)絡(luò)模型的對(duì)抗樣本就有了巨大的實(shí)際安全評(píng)估研究?jī)r(jià)值。對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行攻擊產(chǎn)生對(duì)抗樣本是得到一手安全威脅的重要指標(biāo),也是評(píng)估、研究、乃至解決這一安全問(wèn)題的第一步。
此前關(guān)于針對(duì)特定網(wǎng)絡(luò)產(chǎn)生對(duì)抗樣本的方法多集中在所謂白盒威脅模型下[7-9]。在此模型中,攻擊者掌握了目標(biāo)網(wǎng)絡(luò)的模型結(jié)構(gòu)及參數(shù)。然而,此模型在實(shí)際威脅建模中并不常見(jiàn),更為廣泛的應(yīng)用場(chǎng)景實(shí)際是黑盒攻擊模型,即攻擊者能對(duì)受攻擊網(wǎng)絡(luò)做出請(qǐng)求,給出輸入樣本,得到目標(biāo)網(wǎng)絡(luò)的輸出,但攻擊者對(duì)網(wǎng)絡(luò)本身的結(jié)構(gòu)設(shè)計(jì)和參數(shù)內(nèi)容并不知情。許多實(shí)際應(yīng)用如視頻網(wǎng)站查重檢測(cè)、在線病情診斷等在服務(wù)器不被入侵的情況下就面臨此類威脅。因而,對(duì)黑盒模型下對(duì)抗樣本產(chǎn)生方法的研究就尤為重要。
文中針對(duì)于此,以圖像分類網(wǎng)絡(luò)為例提出了一種在黑盒模型下針對(duì)深度神經(jīng)網(wǎng)絡(luò)模型的攻擊方法。該方法借助黑盒優(yōu)化方法,不需要借助網(wǎng)絡(luò)的具體結(jié)構(gòu)和參數(shù)內(nèi)容,僅需向網(wǎng)絡(luò)發(fā)起查詢即可產(chǎn)生攻擊。本文所提出的對(duì)抗樣本產(chǎn)生方法對(duì)深度神經(jīng)網(wǎng)絡(luò)的安全評(píng)估有推動(dòng)作用。
深度學(xué)習(xí)是一類深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法。通過(guò)大量樣本的端到端訓(xùn)練,神經(jīng)網(wǎng)絡(luò)模型能夠自動(dòng)抽取訓(xùn)練所用數(shù)據(jù)集的有效特征,達(dá)到非常好的效果。
一般而言,認(rèn)為深度神經(jīng)網(wǎng)絡(luò)是對(duì)一個(gè)高維空間中復(fù)雜函數(shù)的逼近。訓(xùn)練過(guò)程中,通過(guò)計(jì)算當(dāng)前函數(shù)給出的估計(jì)值和標(biāo)定的真實(shí)值之間的誤差,反向求導(dǎo)進(jìn)行隨機(jī)梯度下降優(yōu)化,從而更新網(wǎng)絡(luò)權(quán)重達(dá)到函數(shù)逼近的效果。
深度學(xué)習(xí)類方法自2012年以極大優(yōu)勢(shì)贏得ILSVRC比賽重新回到公眾視野中之后[10],迅速在多個(gè)領(lǐng)域取得了重大的突破,包括圖像處理,自言語(yǔ)言處理等領(lǐng)域。深度學(xué)習(xí)方法也在自動(dòng)駕駛汽車,監(jiān)控?cái)z像等應(yīng)用場(chǎng)景下進(jìn)入了我們生活。
對(duì)抗樣本(adversarial examples)是一種針對(duì)深度神經(jīng)網(wǎng)絡(luò)的特殊攻擊形式。其一般形式為在生產(chǎn)環(huán)境下,控制深度神經(jīng)網(wǎng)絡(luò)的輸入,使其具有幅度極小人類難以注意的惡意噪聲,從而達(dá)到使神經(jīng)網(wǎng)絡(luò)產(chǎn)生錯(cuò)誤處理的效果。具體而言,研究人員在原本神經(jīng)網(wǎng)絡(luò)可以正常處理的樣本的基礎(chǔ)上疊加一個(gè)極小的經(jīng)過(guò)計(jì)算得到的惡意噪聲,就能夠使得神經(jīng)網(wǎng)絡(luò)對(duì)輸入的處理發(fā)生變化;于此同時(shí),人類很難區(qū)別兩次輸入的區(qū)別。
對(duì)抗樣本一般根據(jù)生成所依據(jù)的模型和具體算法來(lái)區(qū)分。常見(jiàn)的威脅模型分為3類:白盒模型,黑盒模型,和轉(zhuǎn)移模型。白盒模型中,攻擊者可以利用網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)的所有知識(shí)產(chǎn)生攻擊;黑盒模型中,攻擊者可以利用對(duì)模型的詢問(wèn)得到輸入輸出對(duì),但無(wú)法獲知模型內(nèi)部信息;轉(zhuǎn)移模型中,攻擊者不能向模型發(fā)起查詢請(qǐng)求,對(duì)模型內(nèi)部信息也不知情,但了解模型所要解決的具體問(wèn)題是什么[11]。
當(dāng)前較為主流的白盒攻擊方法包括Carlini攻擊[8],F(xiàn)GSM攻擊[7],以及PGD攻擊[12]等。其主要的攻擊思路為依據(jù)神經(jīng)網(wǎng)絡(luò)產(chǎn)生輸入對(duì)輸出結(jié)果影響的梯度,再根據(jù)梯度更新輸入圖像,逐步迭代從而產(chǎn)生最終的攻擊樣本。
在黑盒模型中,無(wú)法直接利用網(wǎng)絡(luò)模型內(nèi)部結(jié)構(gòu)與參數(shù)進(jìn)行反向傳播計(jì)算,因而也無(wú)法直接得到生成對(duì)抗樣本所需的梯度。
為了對(duì)黑盒威脅模型下的輸入針對(duì)輸出所具有的梯度進(jìn)行計(jì)算,文中的方法采用了黑盒優(yōu)化算法,在對(duì)模型內(nèi)部結(jié)構(gòu)和參數(shù)內(nèi)容不知情的情況下對(duì)所需梯度進(jìn)行估計(jì)。文中采用的黑盒優(yōu)化模型為最大期望算法(expectation-maximization)。
具體而言,想要在某項(xiàng)參數(shù)的可采樣分布中優(yōu)化目標(biāo)函數(shù),可以首先給出對(duì)參數(shù)的初始估計(jì),然后迭代如下過(guò)程:在當(dāng)前估計(jì)狀態(tài)周圍采樣,選取采得樣本中目標(biāo)函數(shù)表達(dá)較優(yōu)的樣本,對(duì)參數(shù)估計(jì)進(jìn)行再次擬合。
這一方法可以在不獲取網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)的條件下,快速得到近似的優(yōu)化結(jié)果。非常適合深度神經(jīng)網(wǎng)絡(luò)中黑盒模型的對(duì)抗樣本產(chǎn)生問(wèn)題。
黑盒樣本生成方法將黑盒EM優(yōu)化方法應(yīng)用到深度神經(jīng)網(wǎng)絡(luò)模型中。本節(jié)對(duì)具體算法設(shè)計(jì)進(jìn)行介紹。
文中考慮一般的單通道灰度圖像和三通道彩色圖像。一般而言,圖像具有較高的維度,即使是如手寫字體識(shí)別數(shù)據(jù)集這樣相對(duì)簡(jiǎn)單的數(shù)據(jù)集,其單張圖像的維度也高達(dá)784維。
文中使用簡(jiǎn)單的多元高斯分布模型來(lái)對(duì)圖像進(jìn)行建模。以單通道圖像為例,對(duì)于每一個(gè)像素點(diǎn),將其像素值表示為一個(gè)高斯分布,即用高斯分布的均值表示像素值,用方差表示像素可能的變化范圍。這樣一來(lái),可以用均值、方差兩個(gè)參數(shù)對(duì)某一像素點(diǎn)進(jìn)行描述。
對(duì)于整張圖像而言,基本模型假設(shè)任意兩個(gè)像素之間沒(méi)有關(guān)系,即任意兩個(gè)像素之間的隨機(jī)變量相互獨(dú)立。這一假設(shè)忽略了圖像內(nèi)容上的空間相關(guān)性,是一個(gè)簡(jiǎn)化的基本模型。通過(guò)后面的試驗(yàn)表面,即使在這樣簡(jiǎn)單的模型下,對(duì)抗樣本生成方法也能夠獲得很好的優(yōu)化效果。
由于圖像內(nèi)容有其豐富而復(fù)雜的內(nèi)在結(jié)構(gòu),通過(guò)對(duì)這些空間結(jié)構(gòu)的表示,能夠降低維度,得到更為精煉的圖像表示。將在后文介紹這一更為優(yōu)化的表示方法。
優(yōu)化目標(biāo)由兩部分組成,第一部分對(duì)應(yīng)于當(dāng)前樣本能否成功欺騙目標(biāo)網(wǎng)絡(luò),這是對(duì)生成樣本的功能性保證;第二部分對(duì)應(yīng)于生成樣本與原樣本間的距離,我們希望生成的對(duì)抗樣本與原樣本有盡可能小的差別,從而使人類觀察者無(wú)法察覺(jué)到圖像的異常。
對(duì)第一項(xiàng)優(yōu)化目標(biāo),用概率歸一化前一層對(duì)應(yīng)元素的數(shù)值與第二大的數(shù)值之前的差距作為具體的優(yōu)化函數(shù)。當(dāng)對(duì)應(yīng)項(xiàng)是當(dāng)前概率最大的一項(xiàng)時(shí),該項(xiàng)數(shù)值為正值,且差距越大,數(shù)值越大;當(dāng)對(duì)應(yīng)項(xiàng)數(shù)值不是概率最大的一項(xiàng)時(shí),我們將其值設(shè)為零,即只要生成的的樣本能夠成功欺騙目標(biāo)網(wǎng)絡(luò),就不再考慮第一項(xiàng)在整個(gè)優(yōu)化目標(biāo)中的作用。
對(duì)于第二項(xiàng)優(yōu)化目標(biāo),采用當(dāng)前樣本與初始樣本之間的歐幾里得距離。希望得到的樣本在能夠成功欺騙目標(biāo)網(wǎng)絡(luò)的情況下盡可能與初始樣本相似。
為了平衡兩項(xiàng)的關(guān)系,在實(shí)際使用時(shí)可以給第一個(gè)優(yōu)化目標(biāo)設(shè)定相較于第二項(xiàng)更大的權(quán)重,從而在保證優(yōu)先完成第一項(xiàng)優(yōu)化目標(biāo)的情況下盡可能完成第二項(xiàng)優(yōu)化目標(biāo)。希望同時(shí)最小化兩項(xiàng)優(yōu)化目標(biāo)。
黑盒對(duì)抗樣本的生成方法流程圖參見(jiàn)圖1,
包括以下幾個(gè)主要步驟:
圖1 對(duì)抗樣本生成流程圖
1)模型初始化:對(duì)抗樣本常常以正常的圖像數(shù)據(jù)為藍(lán)本,作為初始值,在其基礎(chǔ)之上進(jìn)行惡意噪聲疊加,得到對(duì)抗樣本。對(duì)應(yīng)到我們的圖像表示方法中,我們將初始狀態(tài)下的模型均值設(shè)為正常數(shù)據(jù)的值,再統(tǒng)一設(shè)定其方差,作為模型的初始化方法。
2)采樣:以當(dāng)前所估計(jì)的參數(shù)為生成模型進(jìn)行多次隨機(jī)采樣。
3)評(píng)估:對(duì)于每一個(gè)采樣得到的圖像,首先將它像送入神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行處理得到輸出結(jié)果,以此判斷它是否能夠成功欺騙目標(biāo)網(wǎng)絡(luò),進(jìn)而得到優(yōu)化目標(biāo)的第一項(xiàng)。緊接著,計(jì)算當(dāng)前采樣圖像與初始樣本的歐幾里得距離,以此得出優(yōu)化目標(biāo)的第二項(xiàng)。綜合兩項(xiàng)的內(nèi)容,能夠計(jì)算出這一采得圖像的效用值。
4)篩選:依據(jù)步驟3得到的效用值對(duì)步驟2所采樣得到的樣本做排序,效用值越小,就認(rèn)為采樣樣本的質(zhì)量越好。從采得樣本中取效用最好的一部分(如十分之一)供后續(xù)處理使用。
5)參數(shù)更新:有了較優(yōu)的部分樣本,就可以對(duì)圖像的生成模型進(jìn)行更新。具體而言,用當(dāng)前一次采得較優(yōu)的樣本的均值替代原均值,用其方差替代原方差。
6)重復(fù)步驟2)~5)一定次數(shù)。由于得到可以成功欺騙目標(biāo)網(wǎng)絡(luò)的對(duì)抗樣本后,還可以繼續(xù)通過(guò)原有目標(biāo)函數(shù)進(jìn)一步降低對(duì)抗樣本與初始樣本的距離,因此本文不推薦在第一次采得能夠欺騙目標(biāo)網(wǎng)絡(luò)的時(shí)候就停止優(yōu)化,而是應(yīng)該以迭代次數(shù)作為終止條件。
前文提到,可以用過(guò)對(duì)描述圖像的概率模型進(jìn)行改進(jìn)從而提高本文所提算法的效率。一個(gè)可行的方法是通過(guò)主成分分析[13]或自編碼器[14-17]對(duì)圖像進(jìn)行降維,再在映射得到的較低維空間中進(jìn)行建模、采樣和計(jì)算。這樣一來(lái),算法的運(yùn)行效率可以得到較大的提升。
此處內(nèi)容介紹對(duì)所提出算法進(jìn)行的實(shí)驗(yàn)數(shù)據(jù)、實(shí)驗(yàn)方法以及實(shí)驗(yàn)結(jié)果。
文中采用經(jīng)典的兩個(gè)實(shí)驗(yàn)數(shù)據(jù)集:MNIST(手寫數(shù)字識(shí)別數(shù)據(jù)集)和CIFAR-10(小型物體識(shí)別數(shù)據(jù)集)來(lái)進(jìn)行測(cè)試。
對(duì)于MNIST數(shù)據(jù)集,選出55 000個(gè)訓(xùn)練樣本和1 000個(gè)測(cè)試樣本。訓(xùn)練得到的目標(biāo)分類器在正常的測(cè)試樣本上能夠得到的正確率為99.4%。
對(duì)于CIFAR-10數(shù)據(jù)集,選出45 000個(gè)訓(xùn)練樣本,10 000個(gè)測(cè)試樣本。在此數(shù)據(jù)集上訓(xùn)練得到的目標(biāo)分類器的正確率達(dá)到了90.6%。
訓(xùn)練得到的兩個(gè)模型都有很高的正確率,并且能夠取得非常好的泛化效果。
實(shí)驗(yàn)中,希望對(duì)目標(biāo)分類器產(chǎn)生對(duì)抗樣本,即我們?cè)谌我膺x出的正常測(cè)試數(shù)據(jù)上,運(yùn)算得出并疊加一個(gè)小的惡意噪聲,使得原本能被分類正確的樣本被錯(cuò)分為其他類別。
測(cè)試中,文中提出的對(duì)抗樣本生成方法會(huì)向目標(biāo)模型發(fā)起查詢,但對(duì)模型內(nèi)部的結(jié)構(gòu)與參數(shù)均不知情。測(cè)試中的所有初始樣本均為可以被目標(biāo)分類器分類正確的樣本。
從生成對(duì)抗樣本成功率以及對(duì)抗樣本與初始樣本的平均距離對(duì)本文所提出的算法進(jìn)行評(píng)價(jià)。
文中提出方法在MNIST和CIFAR-10數(shù)據(jù)集上對(duì)抗樣本生成的成功率、平均噪聲距離以及平均生成用時(shí)見(jiàn)表1。
表1 對(duì)抗樣本生成實(shí)驗(yàn)結(jié)果
從表中數(shù)據(jù)可以看到,在兩個(gè)測(cè)試數(shù)據(jù)集上,本文提出的黑盒模型下的對(duì)抗樣本生成都達(dá)到了100%的成功率,其成功率甚至高于部分白盒對(duì)抗樣本生成方法[18-20],且平均噪聲很小。
圖2展示了一組初始樣本與本文所提出的方法生成的對(duì)抗樣本之間的對(duì)比關(guān)系。圖2的左側(cè)圖為初始樣本,右側(cè)圖為生成的對(duì)抗樣本,左圖可以被目標(biāo)網(wǎng)絡(luò)正確分類為0,而右圖會(huì)被錯(cuò)分為類別1。
圖2 初始樣本與對(duì)抗樣本對(duì)比圖
文中詳盡調(diào)查研究了現(xiàn)有的神經(jīng)網(wǎng)絡(luò)對(duì)抗樣本生成方法,發(fā)現(xiàn)當(dāng)前所提出方法對(duì)黑盒模型的重視程度不足。因而,文中提出了一種新的基于黑盒威脅模型的深度神經(jīng)網(wǎng)絡(luò)對(duì)抗樣本的生成方法。文中所提出的方法利用黑盒優(yōu)化方法,對(duì)不可直接求梯度的神經(jīng)網(wǎng)絡(luò)做梯度估計(jì),可以在不了解神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)和參數(shù)的情況下以高成功率快速生成高質(zhì)量對(duì)抗樣本,填補(bǔ)了之前研究在這一方向上的空白。