【综述】对抗样本生成及攻防技术综述
作者是電子科技大學(xué)的劉小壘等,2019年發(fā)表在計(jì)算機(jī)應(yīng)用研究
主要內(nèi)容:
以機(jī)器學(xué)習(xí)的安全性問題為出發(fā)點(diǎn),介紹了當(dāng)前機(jī)器學(xué)習(xí)面臨的隱私攻擊、完整性攻擊等安全問題,歸納了目前常見對(duì)抗樣本生成方法的發(fā)展過程及各自的特點(diǎn),總結(jié)了目前已有的針對(duì)對(duì)抗樣本攻擊的防御技術(shù),最后對(duì)提高機(jī)器學(xué)習(xí)算法魯棒性的方法做了進(jìn)一步的展望。
一、機(jī)器學(xué)習(xí)模型的攻擊方式
1.1一般說來,對(duì)機(jī)器學(xué)習(xí)模型的攻擊方式包括破壞模型的機(jī)密性 (confidentiality) 、完整性 integrity) 和 可 用 性 (availability)。同時(shí),這三個(gè)性質(zhì)也構(gòu)成了 CIA 安全模型:
a)機(jī)密性是指機(jī)器學(xué)習(xí)模型在訓(xùn)練過程中必須保證已有數(shù)據(jù)集中的信息不被泄露,比如醫(yī)療系統(tǒng)中病人的病例或診斷結(jié)果;
b)完整性是指機(jī)器學(xué)習(xí)模型必須保證同類別樣本被歸類到相同的類中,反饋結(jié)果不會(huì)因某些原因而偏離,比如垃圾郵件通過偽裝造成分類器的誤識(shí)別;
c)可用性是保證所有的數(shù)據(jù)集可持續(xù)的供機(jī)器學(xué)習(xí)模型來使用。
1.2另一方面,安全研究人員將常見的針對(duì)機(jī)器學(xué)習(xí)模型的攻擊分為三類:隱私攻擊、針對(duì)訓(xùn)練數(shù)據(jù)的攻擊以及針對(duì)算法模型的攻擊。
1)隱私攻擊,這類攻擊者通過觀察模型來預(yù)測(cè)某些敏感信息,或者通過已有的部分?jǐn)?shù)據(jù)來恢復(fù)數(shù)據(jù)集中的敏感數(shù)據(jù)。
2)針對(duì)訓(xùn)練數(shù)據(jù)的攻擊,攻擊者通過修改現(xiàn)有數(shù)據(jù)或注入精心制作的惡意數(shù)據(jù)來對(duì)系統(tǒng)的完整性造成影響(在實(shí)際應(yīng)用中,算法模型的訓(xùn)練者會(huì)很注重?cái)?shù)據(jù)的隱私性,所以一般在前期訓(xùn)練過程中,數(shù)據(jù)不會(huì)被攻擊者輕易修改。然而很多系統(tǒng)為了適應(yīng)環(huán)境的變化,會(huì)不斷迭代更新模型,這時(shí)就可能遭到攻擊)
3)針對(duì)算法模型的攻擊,通過在機(jī)器學(xué)習(xí)模型推理階段中對(duì)輸入數(shù)據(jù)做輕微修改,就能夠讓模型得出錯(cuò)誤的結(jié)果。這些被輕微修改后的數(shù)據(jù)稱為對(duì)抗樣本。這種針對(duì)算法模型的攻擊方法能夠較為輕易地找到讓模型作出錯(cuò)誤判斷的對(duì)抗樣本。
二、對(duì)抗樣本生成方法
只補(bǔ)充上篇綜述沒有提到的部分
1.L-BFGS
Szegedy等人使用有約束L-BFGS 算法來求解,將問題進(jìn)行了如下轉(zhuǎn)換:
其中 loss 為一個(gè)與模型和標(biāo)簽有關(guān)的損失函數(shù)。由于神經(jīng)網(wǎng)絡(luò)一般是非凸的,上述損失函數(shù)最終得到一個(gè)近似值。對(duì)于每一個(gè)常量 c>0,重復(fù)優(yōu)化求解這個(gè)最小化問題,每一個(gè)c 值 都能找到一個(gè)滿足問題的可行解,通過執(zhí)行全局的線性搜索,最終找到滿足 L2距離最小的對(duì)抗樣本。
2.FGSM
通常使用反向傳播來高效率地計(jì)算待求梯度。該方法通過損失函數(shù)的梯度來決定像素的變化方向,最終所有的像素都會(huì)等比例地增大或減小。對(duì)于各種各樣的模型,這種方法能有效地產(chǎn)生所需的對(duì)抗樣本。
快速梯度符號(hào)法與 L-BFGS 方法有兩個(gè)主要的區(qū)別:
a)快速梯度符號(hào)法基于 L∞距離求解;
b)每次求解不需要迭代,生成對(duì)抗樣本速度快,但相似度并不是最高。
3 JSMA 雅可比顯著圖生成對(duì)抗樣本
簡(jiǎn)單來說,想要使得樣本被模型錯(cuò)誤分類為目標(biāo)標(biāo)簽 t,必須增加模型輸出的目標(biāo)標(biāo)簽 t 的概率,同時(shí)減少其他標(biāo)簽的概率,直到目標(biāo)標(biāo)簽的概率大于其他標(biāo)簽。這可以通過使用顯著性矩陣,有選擇地改變圖像的某些像素來實(shí)現(xiàn)。在求解出顯著性矩陣后,通過算法選擇顯著性最大的像素,并對(duì)其進(jìn)行修改,以增加分類為目標(biāo)標(biāo)簽 t 的概率。重復(fù)這一過程,直到目標(biāo)標(biāo)簽的概率大于其他標(biāo)簽,或達(dá)到了最大次數(shù)。
6.MalGAN
Hu等人提出了基于 MalGAN 的惡意軟件對(duì)抗樣本生成方法。惡意軟件檢測(cè)算法通常集成到防病毒軟件中或托管在云端,因此對(duì)攻擊者來說是一個(gè)黑盒模型,很難知道惡意軟件檢測(cè)使用的分類器以及分類器的參數(shù)。 Hu等人通過給黑盒模型輸入各種特征的樣本,利用原始樣本和黑盒模型所產(chǎn)生的輸出來訓(xùn)練一個(gè)辨別器SD,再用辨別器SD指導(dǎo)生成器來產(chǎn)生對(duì)抗樣本
本文中說:實(shí)際上,MalGAN 算法強(qiáng)調(diào)整個(gè)樣本集的正確率,而不關(guān)心單個(gè)樣本的相似度,這意味著每個(gè)樣本所需的擾動(dòng)可能很大,產(chǎn)生的對(duì)抗樣本的相似度可能很低。這就導(dǎo)致該算法在實(shí)際應(yīng)用中具有較大局限性,具體到單個(gè)樣本的修改,可能已經(jīng)大到不能接受。
(這篇論文我也看過,但是沒有想到這一點(diǎn)…)
三、對(duì)抗樣本的防御方法(只記錄針對(duì)上篇綜述的補(bǔ)充)
1.蒸餾防御:
1.1蒸餾訓(xùn)練最初是用于將較復(fù)雜(教師)模型精簡(jiǎn)為較簡(jiǎn)單(學(xué)生)模型,具體來說,首先以常規(guī)方法用硬標(biāo)簽在訓(xùn)練集上訓(xùn)練出教師模型,然后,利用教師模型預(yù)測(cè)訓(xùn)練集得到對(duì)應(yīng)的軟標(biāo)簽(訓(xùn)練集的真實(shí)標(biāo)簽為硬標(biāo)簽,教師模型預(yù)測(cè)標(biāo)簽為軟標(biāo)簽),接著用軟標(biāo)簽代替硬標(biāo)簽在訓(xùn)練集上訓(xùn)練出學(xué)生模型。
1.2蒸餾防御使用蒸餾訓(xùn)練來提高神經(jīng)網(wǎng)絡(luò)的健壯性,但有兩點(diǎn)區(qū)別。首先,教師模型和學(xué)生模型的結(jié)構(gòu)完全相同,其次,蒸餾防御通過設(shè)置蒸餾溫度迫使學(xué)生模型的預(yù)測(cè)結(jié)果變得更加可信。也就是說,蒸餾防御可以降低模型對(duì)輸入擾動(dòng)的敏感程度。
1.3蒸餾防御在正常訓(xùn)練模型的損失函數(shù) softmax 中引入了溫度常數(shù) T:
訓(xùn)練過程中增加溫度常數(shù)T會(huì)使得模型產(chǎn)生標(biāo)簽分布更加均勻的預(yù)測(cè)輸出。當(dāng)溫度系數(shù)接近無窮大時(shí),softmax(x)接近均勻分布。
在訓(xùn)練過程中引入蒸餾防御,總共分三步進(jìn)行:
a)將 softmax 的溫度常數(shù)設(shè)置為 T,以常規(guī)方法用硬標(biāo)簽在訓(xùn)練集上訓(xùn)練出教師模型;
b)利用教師模型預(yù)測(cè)訓(xùn)練集得到對(duì)應(yīng)的軟標(biāo)簽;
c)將 softmax 的溫度常數(shù)設(shè)置為 T,用軟標(biāo)簽代替硬標(biāo)簽在訓(xùn)練集上訓(xùn)練出學(xué)生模型(與教師模型的結(jié)構(gòu)相同);
在測(cè)試過程中,對(duì)于測(cè)試集中的輸入數(shù)據(jù),使用學(xué)生模型的輸出進(jìn)行預(yù)測(cè)。然而這種防御方法只能抵御有限的對(duì)抗樣本攻擊。
總結(jié)
以上是生活随笔為你收集整理的【综述】对抗样本生成及攻防技术综述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux权限设置方法
- 下一篇: 改变cmd窗口的前景色和背景色