張義蓮,顏 晟,朱旻捷,陳 艷
(1.國(guó)網(wǎng)上海嘉定供電公司,上海 201800;2.國(guó)網(wǎng)上海市電力公司,上海 200122)
機(jī)器學(xué)習(xí)因?yàn)榫哂心軌驈拇髷?shù)據(jù)中習(xí)得數(shù)據(jù)的特定模式的強(qiáng)大能力和解決傳統(tǒng)編程難以解決的任務(wù)的巨大潛力,吸引了全球研究者的關(guān)注和研究。如今,機(jī)器學(xué)習(xí)在諸如模式識(shí)別、自動(dòng)駕駛、機(jī)器輔助決策等方面取得了廣泛且成功的應(yīng)用。
機(jī)器學(xué)習(xí)已經(jīng)被應(yīng)用于諸多安全關(guān)鍵性領(lǐng)域,如垃圾郵件過(guò)濾[1-2]、惡意軟件檢測(cè)[3-5]、蠕蟲(chóng)病毒檢測(cè)[6]、網(wǎng)絡(luò)協(xié)議認(rèn)證[7]等。自機(jī)器學(xué)習(xí)系統(tǒng)被越來(lái)越多地部署在安全關(guān)鍵性領(lǐng)域以來(lái),越來(lái)越多的人開(kāi)始關(guān)注機(jī)器學(xué)習(xí)系統(tǒng)的脆弱性和魯棒性。除安全專家以外,也有懷有各種目的的惡意攻擊者。更令人感到危險(xiǎn)的是,機(jī)器學(xué)習(xí)系統(tǒng)總是認(rèn)為它是從一個(gè)具有自然或者純凈分布的可信源處取得的數(shù)據(jù),使得機(jī)器學(xué)習(xí)系統(tǒng)更容易遭受基于數(shù)據(jù)驅(qū)動(dòng)的攻擊。在這些攻擊方式中,數(shù)據(jù)毒化攻擊成為一種新興的且強(qiáng)有力的攻擊威脅。針對(duì)機(jī)器學(xué)習(xí)系統(tǒng)的攻擊方式,它可以分為原因性的攻擊和探索性的攻擊兩種[8]。原因性攻擊旨在操縱訓(xùn)練數(shù)據(jù),而探索性攻擊則直接攻擊模型本身。數(shù)據(jù)毒化攻擊屬于原因性攻擊,通過(guò)將精心構(gòu)造的毒化樣本注入數(shù)據(jù)集中來(lái)實(shí)現(xiàn)攻擊者的目的。這種攻擊在實(shí)際操作中很容易實(shí)現(xiàn),原因是大多數(shù)情況下攻擊者雖然無(wú)法修改已經(jīng)被模型采樣利用的數(shù)據(jù),但可以向數(shù)據(jù)集中注入自行構(gòu)造的新數(shù)據(jù)。文獻(xiàn)[9]中,Suciu 從特征、算法、實(shí)例和能力4 個(gè)維度對(duì)攻擊者知識(shí)進(jìn)行建模。本文采用與大多數(shù)研究相同的分類方式,即將攻擊者知識(shí)簡(jiǎn)單劃分為受限知識(shí)[7,10-11]和完整知識(shí)[7-8,11-15]。擁有完整知識(shí)的攻擊者了解受害模型的特征集F、數(shù)據(jù)集D和使用的算法。這往往表明了最壞的情況。在受限知識(shí)的情況下,攻擊者僅僅知道部分的特征集和數(shù)據(jù)集,甚至完全不知道模型采用的特征集和數(shù)據(jù)集,僅僅知道模型使用的算法。這種情況下攻擊者往往會(huì)使用一個(gè)替代數(shù)據(jù)集來(lái)實(shí)施攻擊。
本文對(duì)現(xiàn)存的數(shù)據(jù)毒化攻擊方式進(jìn)行調(diào)研,并根據(jù)它們的攻擊模型進(jìn)行分類。數(shù)據(jù)毒化攻擊的相關(guān)研究正變得越來(lái)越熱門,然而相關(guān)的論文卻略顯混亂。相關(guān)文章中很多著眼于特定的模型、特定的學(xué)習(xí)條件或者攻擊者特定的目的與攻擊能力,亟待被分類總結(jié)。第1 節(jié)首先介紹針對(duì)線性分類器的毒化攻擊。該攻擊方式采用迭代式次梯度上升算法構(gòu)造毒化樣本。第2 節(jié)介紹針對(duì)線性回歸的毒化攻擊。該攻擊方式與針對(duì)線性分類器的攻擊方式十分相似,在線性分類器攻擊算法的基礎(chǔ)上進(jìn)行了少許修改,以適應(yīng)回歸學(xué)習(xí)的條件。第3 節(jié)和第4 節(jié)分別闡述針對(duì)SVM 和貝葉斯分類器的毒化攻擊。關(guān)于深度神經(jīng)網(wǎng)絡(luò),在第5 節(jié)主要介紹了生成梯度算法和純凈標(biāo)簽攻擊算法兩種十分典型且有效的攻擊方式。
在線性分類器中,模型通過(guò)最小化損失函數(shù)學(xué)得一個(gè)仿射函數(shù)f(x)=ωTx+b作為決策邊界。該損失函數(shù)在由f(x)和y計(jì)算得到的二次損失與正則項(xiàng)Ω(ω)之間做出權(quán)衡:

此處λ為正則參數(shù),組成數(shù)據(jù)集D。引入Ω(ω)的目的是通過(guò)在參數(shù)ω和b上施加限制來(lái)防止過(guò)擬合。機(jī)器學(xué)習(xí)中存在3 種常用的正則項(xiàng)。LASSO 正則項(xiàng)使用l1正則,即Ω(ω)=||ω||1,能夠在參數(shù)中引入稀疏性,從而帶來(lái)了良好的最優(yōu)化解特點(diǎn)。吉洪諾夫正則使用了l2正則項(xiàng),即。彈性網(wǎng)絡(luò)是LASSO 正則項(xiàng)和吉洪諾夫正則項(xiàng)的線性組合:

文獻(xiàn)[16]中,作者假設(shè)攻擊者目標(biāo)是使得目標(biāo)分類器的分類錯(cuò)誤達(dá)到盡可能最大,可被歸類為無(wú)目標(biāo)攻擊。這種攻擊方式嘗試最大程度地降低系統(tǒng)的性能。攻擊策略可被表達(dá)為:

在計(jì)算梯度的過(guò)程中,即計(jì)算W關(guān)于xc的偏導(dǎo)數(shù)時(shí),文獻(xiàn)[17]計(jì)算得到:


在LASSO 或者彈性網(wǎng)絡(luò)中,Ω是凸函數(shù)但不可微的情況下,可以簡(jiǎn)單將偏導(dǎo)數(shù)替換為sub(ω)。KKT 條件使計(jì)算變得簡(jiǎn)便,因?yàn)樵谧顑?yōu)化過(guò)程中可以簡(jiǎn)單得到,繞過(guò)了由sub(ω)造成的多種梯度上升方向的問(wèn)題。
因?yàn)镵KT條件在最優(yōu)化過(guò)程中總是滿足,式(5)和式(6)關(guān)于xc的偏導(dǎo)數(shù)應(yīng)當(dāng)恒等于0。將的計(jì)算結(jié)果重寫為矩陣形式:

代碼中,文獻(xiàn)[17]提出在每一步迭代過(guò)程中僅優(yōu)化一個(gè)毒化點(diǎn)xc,并在每一步的開(kāi)始更新分類器參數(shù)ω和b。這一更新步驟可以顯著提升攻擊點(diǎn)的攻擊效果,因?yàn)閤c的每一次修改都是基于剛剛學(xué)習(xí)到的參數(shù)。此處使用了一個(gè)投影運(yùn)算ΠB,將結(jié)果投影到一個(gè)可行域B。這一運(yùn)算通常會(huì)施加一個(gè)框式約束如B=[0,1]r,以求得梯度上升方向d,然后算法執(zhí)行一個(gè)線搜索得到梯度上升步長(zhǎng)η。當(dāng)目標(biāo)損失函數(shù)W在兩次相鄰迭代間不產(chǎn)生大的變化后,算法達(dá)到收斂,并輸出要求的毒化數(shù)據(jù)集。

圖1 對(duì)線性分類器的毒化攻擊算法
回歸學(xué)習(xí)已經(jīng)被應(yīng)用于諸多領(lǐng)域,如價(jià)格預(yù)測(cè)分析、銷售影響因素分析、地震預(yù)測(cè)、健康數(shù)據(jù)分析等,但對(duì)線性回歸的毒化攻擊研究很少。Jagielski 等研究者改進(jìn)肖等人提出的基于梯度的優(yōu)化算法應(yīng)用于回歸學(xué)習(xí)[18]。
線性分類器和先行回顧的主要區(qū)別在于響應(yīng)變量y是連續(xù)變量而不是離散標(biāo)簽。因此,Jagielski等研究者提出同時(shí)優(yōu)化x和它相應(yīng)的y。文獻(xiàn)[18]將xc替換為相應(yīng)的zc=(xc,yc),由此式(7)變?yōu)椋?/p>

其中θ=(ω,b),。將式(5)和式(6)變?yōu)橄铝芯仃囆问剑?/p>

這里與文獻(xiàn)[17]使用訓(xùn)練集的方式不同,文獻(xiàn)[18]采用未受污染的數(shù)據(jù)集來(lái)評(píng)估誤差,最終得到需要的梯度。這里算法使用提到的線搜索來(lái)構(gòu)造毒化數(shù)據(jù)。
文獻(xiàn)[12]中,Biggio 等研究者基于支持向量機(jī)(Support Vector Machine,SVM)學(xué)習(xí)問(wèn)題的最優(yōu)解特性,提出了針對(duì)SVM 的毒化攻擊。如同文獻(xiàn)[13]中的增量學(xué)習(xí)策略證明的,最優(yōu)解依賴于二次規(guī)劃問(wèn)題的參數(shù)和數(shù)據(jù)點(diǎn)的幾何分布。這使得毒化攻擊的實(shí)現(xiàn)具有了可行性,即攻擊者可以向訓(xùn)練集中注入精心構(gòu)造的數(shù)據(jù)點(diǎn)來(lái)最大化分類誤差。
攻擊者的目的是通過(guò)注入構(gòu)造數(shù)據(jù)點(diǎn)(xc,yc)來(lái)最大化分類誤差,可以數(shù)學(xué)表達(dá)為通過(guò)在Dtr∪(xc,yc)上訓(xùn)練SVM 模型達(dá)到最大化驗(yàn)證集上的hinge 損失函數(shù):

為優(yōu)化式(10),需要L關(guān)于xc的梯度。攻擊者通常會(huì)計(jì)算,此處u是所求的表征最優(yōu)化方向的梯度值,t是前進(jìn)步長(zhǎng)。式(11)明確寫出了間隔條件gk與xc有關(guān)的項(xiàng):

計(jì)算gk關(guān)于u的偏導(dǎo)數(shù):

Q下標(biāo)表明Q相應(yīng)的向量或子矩陣,Qks指Q的子矩陣中與第k個(gè)驗(yàn)證集數(shù)據(jù)點(diǎn)和S中的間隔支持向量的積有關(guān)的部分。
通過(guò)使用文獻(xiàn)[13]的隔離更新技術(shù),Biggio 等人發(fā)現(xiàn)KKT 條件在訓(xùn)練過(guò)程中保持恒定,即對(duì)于訓(xùn)練集中的第i個(gè)數(shù)據(jù),存在:

通過(guò)對(duì)式(13)和式(14)中的xc求微分,可以得到S中的間隔支持向量。文獻(xiàn)[12]使用Sherman-Morrison-Woodbury 定理[14]將其重寫為:


針對(duì)SVM的毒化攻擊算法的偽代碼如圖2所示[12]。
為計(jì)算方便簡(jiǎn)單,將隨機(jī)選取的數(shù)據(jù)點(diǎn)的標(biāo)簽進(jìn)行反轉(zhuǎn)來(lái)構(gòu)初始毒化點(diǎn)。算法將t固定為一個(gè)小常數(shù)。驗(yàn)證集的錯(cuò)誤的梯度計(jì)算依賴于假設(shè):集合S和R在更新過(guò)程中保持不變。在每步迭代過(guò)程中,SVM 最優(yōu)解采用遞進(jìn)方式[13]進(jìn)行重計(jì)算,使得攻擊效果更強(qiáng)。
Nelson 等人在文獻(xiàn)[19]中證明了可以通過(guò)操縱小部分的訓(xùn)練集來(lái)反轉(zhuǎn)基于貝葉斯分類器的垃圾郵件過(guò)濾器,提出了兩種基于“污染假設(shè)”的攻擊方式,即攻擊者能夠通過(guò)注入惡意數(shù)據(jù)來(lái)操控訓(xùn)練集。Nelson 等人提出了使得垃圾郵件過(guò)濾器癱瘓的“字典式攻擊”與阻礙正常郵件接收的“集中式攻擊”。該攻擊基于一個(gè)免費(fèi)開(kāi)源且常用的垃圾郵件過(guò)濾器SpamBayes。
SpamBayes 在對(duì)郵件進(jìn)行評(píng)分前會(huì)先將郵件的頭和正文部分進(jìn)行分詞。該操作基于一個(gè)假設(shè):一封郵件中詞條的出現(xiàn)與否會(huì)獨(dú)立影響該郵件的垃圾郵件評(píng)分。對(duì)于每一個(gè)詞條ω,其評(píng)分由式(18)計(jì)算得到:

式(18)中,NH、NS、NH(ω) 和NS(ω) 分 別 代表了垃圾郵件、有用郵件、包含詞條ω的垃圾郵件和包含詞條ω的有用郵件的數(shù)量。
Robinson 對(duì)PS(ω)和x的凸組合分別進(jìn)行平滑,平滑以N(ω)(帶有詞條的訓(xùn)練郵件)和s(預(yù)先選擇)為權(quán)重進(jìn)行:

SpamBayes 使用來(lái)自詞條集δ(E)的最重要的一些詞條的垃圾郵件評(píng)分計(jì)算信息評(píng)分I(E)。I(E)由E中評(píng)分在[0.4,0.6]區(qū)間外且離0.5 最遠(yuǎn)的前150個(gè)詞條組成。

SpamBayes 使用了兩個(gè)可調(diào)節(jié)的閾值θ0和θ1來(lái)預(yù)測(cè)一封郵件是否屬于垃圾郵件。當(dāng)郵件評(píng)分I(E)落入?yún)^(qū)間[0,θ0]、[θ0,θ1]或[θ1,1]時(shí),SpamBayes 分別將其判為有用郵件、不確定郵件或垃圾郵件。
文獻(xiàn)[19]將攻擊者的目標(biāo)概括為選取攻擊郵件a以求最大化由分布p得到的下一封合法郵件m預(yù)測(cè)得到的垃圾郵件評(píng)分I(a)(帶有惡意郵件a在訓(xùn)練集中計(jì)算得到式(22)),攻擊者的目的可以表達(dá)為:

為使過(guò)濾器無(wú)效,即將大部分的合法郵件判為垃圾郵件或者不確定郵件,字典式攻擊的思路十分直接:構(gòu)造大量包含合法郵件單詞的垃圾郵件并將它們發(fā)送給過(guò)濾器。經(jīng)過(guò)這些惡意數(shù)據(jù)的學(xué)習(xí)后,SpamBayes 最終會(huì)將這些單詞與垃圾郵件聯(lián)系在一起,導(dǎo)致大部分有用郵件的誤判。
如果攻擊者沒(méi)有對(duì)合法郵件使用的單詞的先驗(yàn)知識(shí),可以簡(jiǎn)單使用一個(gè)包含所有可能出現(xiàn)的單詞的英語(yǔ)詞典作為替代。如果攻擊者擁有合法郵件可能使用的部分單詞的先驗(yàn)分布,攻擊者可以選取更有可能出現(xiàn)在合法郵件中的單詞并構(gòu)造更簡(jiǎn)短的惡意郵件,使得攻擊更有效率。
在集中式攻擊條件下,攻擊者通常知曉部分甚至全部的特定合法郵件使用的單詞。攻擊者可以向受害分類器發(fā)送包含這些單詞的惡意郵件,從而提高相應(yīng)詞條的垃圾郵件評(píng)分。SpamBayes 在受污染的毒化訓(xùn)練集上訓(xùn)練后,極有可能將目標(biāo)郵件判定為垃圾郵件。
盡管有大量的研究集中在針對(duì)諸多傳統(tǒng)模型的毒化攻擊上,而針對(duì)深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)的毒化攻擊研究卻很少,即便DNN 已經(jīng)成為如今最著名也最具潛力的學(xué)習(xí)模型。正如有限的數(shù)篇論文顯示的,DNN 對(duì)于毒化攻擊暴露出明顯的脆弱性。Steinhardt 等研究者在文獻(xiàn)[20]中發(fā)現(xiàn)僅僅3%的訓(xùn)練集的改動(dòng)會(huì)導(dǎo)致11%的測(cè)試準(zhǔn)確率的下降,即便模型采用了強(qiáng)有力的防御措施。
文獻(xiàn)[21]中,Shafahi 等人提出了一種更加貼近現(xiàn)實(shí)情況的攻擊算法,命名為“純凈標(biāo)簽攻擊”。這種攻擊算法不需要攻擊者對(duì)標(biāo)記函數(shù)有任何的控制,通常注入的數(shù)據(jù)往往由經(jīng)過(guò)認(rèn)證的權(quán)威機(jī)構(gòu)進(jìn)行標(biāo)記。該攻擊也是目標(biāo)式的,意味著攻擊者的目標(biāo)是使一個(gè)特定的實(shí)例在測(cè)試階段被誤分類,同時(shí)保證系統(tǒng)的性能不會(huì)顯著下降。Shafahi 等人討論了兩種學(xué)習(xí)方式——遷移學(xué)習(xí)[22]和端到端訓(xùn)練條件下該攻擊的實(shí)現(xiàn)方式。文獻(xiàn)[23]中,Yang 等研究者首先對(duì)神經(jīng)網(wǎng)絡(luò)應(yīng)用傳統(tǒng)的基于梯度的攻擊算法,并通過(guò)引入稱為“生成器”的新網(wǎng)絡(luò)產(chǎn)生毒化點(diǎn)有效提升了攻擊效率。這一方法突破了傳統(tǒng)攻擊算法的計(jì)算開(kāi)銷平靜。
文獻(xiàn)[23]中,Yang 等研究者首先將傳統(tǒng)的基于梯度的毒化攻擊應(yīng)用于神經(jīng)網(wǎng)絡(luò)。直接梯度攻擊算法偽代碼如圖3 所示。
其中,下標(biāo)i、p表明是原始和毒化點(diǎn),上標(biāo)(p)說(shuō)明是毒化模型。在xp調(diào)節(jié)過(guò)程的每步迭代中,直接梯度方法調(diào)整xp的每個(gè)元素以計(jì)算,這一項(xiàng)控制了xp每步迭代的更新方向。每步調(diào)整的步長(zhǎng)固定為α,當(dāng)相鄰兩次迭代的損失差異低于一個(gè)固定門限Lth時(shí)算法收斂。直接梯度方法的計(jì)算和時(shí)間開(kāi)銷與輸入數(shù)據(jù)的維度和目標(biāo)模型的復(fù)雜度密切相關(guān),因此隨著學(xué)習(xí)模型復(fù)雜度和使用的數(shù)據(jù)集規(guī)模逐漸增大,該算法的應(yīng)用受到了很大限制。

圖3 針對(duì)深度神經(jīng)網(wǎng)絡(luò)的直接梯度毒化攻擊算法
受GAN[24]概念的啟發(fā),Yang 等人提出訓(xùn)練一個(gè)稱為“生成器”(G)的新模型,以產(chǎn)生旨在破壞成為“判別器”(D)的原始模型的毒化點(diǎn)xp。文獻(xiàn)[23]選取了一個(gè)自編碼器作為生成器,其中自編碼器的更新采用了從判別器中提取的損失函數(shù)和梯度的加權(quán)函數(shù)。判別器在毒化數(shù)據(jù)集上進(jìn)行重訓(xùn)練并計(jì)算其關(guān)于正常數(shù)據(jù)的損失函數(shù),然后輸出加權(quán)函數(shù)的計(jì)算結(jié)果返回生成器,以指導(dǎo)訓(xùn)練過(guò)程。圖4 描繪了生成式梯度方法產(chǎn)生毒化點(diǎn)的過(guò)程[23]。

圖4 生成式算法結(jié)構(gòu)
生成式方法產(chǎn)生毒化點(diǎn)的算法偽代碼如圖5 所示。

圖5 針對(duì)深度神經(jīng)網(wǎng)絡(luò)的生成式梯度毒化攻擊算法
首先注入初始毒化點(diǎn)xp(0)污染原始模型,然后計(jì)算損失函數(shù)并計(jì)算加權(quán)函數(shù)。算法使用加權(quán)函數(shù)更新G,并通過(guò)G 將xp(t)更新至xp(t+1)。生成式算法僅僅計(jì)算梯度的和,而不是在每一次更新中更新xp的單個(gè)元素。因此,它大大減少了計(jì)算量和時(shí)間開(kāi)銷,使得攻擊更靈活也更有效率。
該攻擊方式構(gòu)造毒化點(diǎn)的過(guò)程十分簡(jiǎn)單。首先,攻擊者選擇一個(gè)被標(biāo)記為目標(biāo)類的目標(biāo)實(shí)例,此處實(shí)例即數(shù)據(jù)集中的數(shù)據(jù)點(diǎn)。其次,為構(gòu)造相應(yīng)的毒化點(diǎn),攻擊者需要選擇一個(gè)基準(zhǔn)實(shí)例作為基類。基類正是攻擊者希望基準(zhǔn)實(shí)例被DNN 誤判為的類。攻擊者對(duì)基準(zhǔn)實(shí)例進(jìn)行了一些難以察覺(jué)的改動(dòng),以構(gòu)造毒化實(shí)例。在將構(gòu)造的毒化實(shí)例注入訓(xùn)練集后,攻擊者使用被污染的數(shù)據(jù)集重訓(xùn)練模型。當(dāng)測(cè)試階段模型將目標(biāo)實(shí)例誤判為基準(zhǔn)類時(shí),認(rèn)為攻擊成功。
文獻(xiàn)[21]提出了構(gòu)造毒化實(shí)例的基本思想是構(gòu)造與基準(zhǔn)實(shí)例看似相似但實(shí)則與目標(biāo)實(shí)例在特征空間發(fā)生碰撞的實(shí)例。DNN 函數(shù)的復(fù)雜性和非線性使得這一想法具備實(shí)現(xiàn)的可能。定義f(x)表示DNN 從輸入x至倒數(shù)第二層的函數(shù)。t、b和p分別表示目標(biāo)實(shí)例、基準(zhǔn)實(shí)例和毒化實(shí)例。構(gòu)造p的過(guò)程可表達(dá)為:

為優(yōu)化式(24),Shafahi 等研究者使用了一個(gè)前向后向分離過(guò)程[25]。
純凈標(biāo)簽攻擊偽代碼如圖6 所示。

圖6 純凈標(biāo)簽攻擊算法
其中,前向步驟是一個(gè)在特征空間最小化f(x)和f(t)的梯度上升步驟,后向步驟是一個(gè)最小化基準(zhǔn)實(shí)例與b的Frobenius 距離的臨近更新,后向步驟的目的是增大b和p的相似性。
5.2.1 遷移學(xué)習(xí)
遷移學(xué)習(xí)是一種廣泛使用的學(xué)習(xí)策略,僅僅重訓(xùn)練網(wǎng)絡(luò)的softmax 層以適用于特定的任務(wù)。在遷移學(xué)習(xí)中,純凈標(biāo)簽攻擊十分有效。甚至僅僅注入一個(gè)構(gòu)造的中毒實(shí)例,攻擊可以造成目標(biāo)實(shí)例的誤判率達(dá)到100%[21]。
通過(guò)在訓(xùn)練集中注入毒化實(shí)例,網(wǎng)絡(luò)學(xué)習(xí)到的決策邊界會(huì)發(fā)生旋轉(zhuǎn),以將中毒實(shí)例包含在基準(zhǔn)類一側(cè),將導(dǎo)致目標(biāo)實(shí)例也被包含在基準(zhǔn)類一側(cè),因?yàn)橹卸緦?shí)例和目標(biāo)實(shí)例在特征空間發(fā)生了碰撞,由此引發(fā)了目標(biāo)實(shí)例的誤分類。
5.2.2 端到端訓(xùn)練
端到端訓(xùn)練的含義是整個(gè)網(wǎng)絡(luò)在面臨學(xué)習(xí)問(wèn)題時(shí)需要經(jīng)過(guò)重訓(xùn)練。在這一條件下,簡(jiǎn)單使用與遷移學(xué)習(xí)相同的攻擊方式會(huì)完全失敗。因?yàn)樯鲜龅墓舴绞嚼昧颂卣魈崛『说囊恍┤毕?,?jīng)過(guò)重訓(xùn)練過(guò)程中毒實(shí)例將回到基準(zhǔn)類分布,決策邊界幾乎不發(fā)生旋轉(zhuǎn)。為解決這一問(wèn)題,Shafahi 等人使用了水印技術(shù)和多實(shí)例毒化的組合。為使得中毒實(shí)例和目標(biāo)實(shí)例在特征空間不會(huì)發(fā)生分離,水印技術(shù)可以在中毒實(shí)例中引入某些目標(biāo)實(shí)例不可分離的特征,由式(25)所示:

透明度參數(shù)γ控制了目標(biāo)實(shí)例和中毒實(shí)例的重疊程度。水印技術(shù)能夠有效提高單個(gè)中毒實(shí)例的攻擊效果,但僅此還不夠。為使得攻擊更加有效,文獻(xiàn)[21]采用了從多個(gè)基準(zhǔn)實(shí)例計(jì)算得到的多個(gè)中毒實(shí)例來(lái)毒化訓(xùn)練集。這將有效防止DNN 從目標(biāo)實(shí)例和中毒實(shí)例中學(xué)習(xí)到不同的特征,因?yàn)槟P捅仨氄业揭粋€(gè)能夠區(qū)分目標(biāo)實(shí)例和每一個(gè)中毒實(shí)例的公共特征。當(dāng)僅使用一發(fā)毒化時(shí),中毒實(shí)例回到了基準(zhǔn)類分布,目標(biāo)實(shí)例的判別沒(méi)有發(fā)生變化。但是,使用了多中毒實(shí)例攻擊后,目標(biāo)實(shí)例被成功導(dǎo)向基準(zhǔn)類分布,導(dǎo)致模型成功誤判了特定的目標(biāo)實(shí)例。
最終,當(dāng)網(wǎng)絡(luò)被重訓(xùn)練后,目標(biāo)實(shí)例被中毒實(shí)例導(dǎo)向基準(zhǔn)類分布,攻擊成功實(shí)施。與遷移學(xué)習(xí)不同,造成誤分類的并不是決策邊界的旋轉(zhuǎn),端到端訓(xùn)練的誤分類是由于將目標(biāo)導(dǎo)向了基準(zhǔn)類分布,這一過(guò)程中模型學(xué)習(xí)的決策邊界幾乎是沒(méi)有發(fā)生改變的[21]。
目前,毒化攻擊已經(jīng)成為機(jī)器學(xué)習(xí)系統(tǒng)安全日益嚴(yán)重的威脅,越來(lái)越多的研究者開(kāi)始關(guān)注針對(duì)不同機(jī)器學(xué)習(xí)模型的攻擊方法。選取并總結(jié)最有影響力且最為典型的攻擊算法,將它們根據(jù)相應(yīng)的攻擊模型進(jìn)行分類。選取的這些攻擊算法十分有效,某些算法能夠躲避現(xiàn)存的檢測(cè)方法,某些算法如純凈標(biāo)簽攻擊甚至能夠通過(guò)僅注入一個(gè)中毒實(shí)例達(dá)到100%的攻擊成功率,希望本文的工作能夠使現(xiàn)存的關(guān)于機(jī)器學(xué)習(xí)系統(tǒng)毒化攻擊的研究成果更加清晰,為相關(guān)研究者的研究工作提供啟發(fā)。