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