攻擊可解釋性技術
AI中的攻防
方院士曾經提到,對于安全領域而言,當一項新技術出現的時候,會面臨兩種情況,一種情況是用其賦能安全,在這方面可以賦能攻擊,也可以賦能防御,比如生成對抗網絡(GAN),可以用GAN識別惡意軟件,也可以用GAN生成可以繞過殺軟的惡意軟件;另一種情況是其本身存在安全問題,對抗樣本、數據投毒均屬于這一種情況。
我們來簡單整理一下發展脈絡,出現了AI技術,人們想著用它來輔助安全,比如基于AI的殺毒引擎,但是攻擊者開始研究AI本身的缺陷,發現了對抗樣本的存在,其根本原因學術界尚有爭議,但是它是深度學習模型的本質缺陷,只要是深度學習模型都會存在對抗樣本的問題,所以攻擊者可以構造能夠規避基于AI的殺毒引擎檢測的對抗樣本(adversarial attack在其出現之前,還有個名稱,就叫做evasion attack)。既然對抗樣本無法規避,那么是否可以用一些可解釋性技術,來解釋模型做出決策的依據呢,如果可以做到這一點,我們知道是樣本的哪一特征或者一些特征的組合讓模型將其分類為正常軟件或者惡意軟件,那也是可以的。簡單地說,我們用AI作為引擎輔助防御,但是攻擊者能夠AI本身,為了提高其決策可靠性,人們又引入了可解釋技術,那么,攻擊者是否可以進一步去攻擊攻擊、欺騙可解釋性技術呢?
答案是可以的,這也是文本的重點,將會介紹如何攻擊兩種流行的可解釋技術:LIME和SHAP.
可解釋的技術
在深度神經網絡(Deep Neural Networks,DNN)的推動下,深度學習在許多領域取得了重大突破。深度神經網絡成功的一個關鍵因素是它的網絡足夠深,大量非線性網絡層的復雜組合能對原始數據在各種抽象層面上提取特 征。然而,由于大多數深度學習模型復雜度高、參數多、透明性低,如黑盒一般,人們無法理解這種“端到端”模型做出決策的機理,無法判斷決策是否可靠。
深度學習模型在實際應用中產生了各種問題,可解釋性的缺失使這些問題難以解決。例如在醫療領域,看似非常精確的用于肺炎患者預后的系統,非常依賴數據集中的虛假相關性。該系統預測有哮喘病史的病人死于肺炎的風險較低,但這是因為哮喘病人得到了更快、 更好的關注,才導致他們的死亡率更低。實際上,這類病人死于肺炎的風險會更高。在司法領域,借助 COMPAS 軟件對罪犯再犯風險的評估,法官能更合理地對保釋金額、判刑等做出決策。但由于訓練和測試模型時所用數據庫的代表樣本不足或是無關統計相關等原因,模型存在潛在的人種偏見、性別歧視,或是其他各種主觀偏見。在圖像處理領域,高度精確的神經網絡面對對抗攻擊卻很脆弱。只需對圖像的像素進行不可察覺的改變,圖像處理神經網絡就可以將其任何預測改變為任何其他可能的預測。
對于安全性要求苛刻的應用,例如健康診斷、信用 額度、刑事審判,人們依舊選擇線性回歸、決策樹等不那么精確,但人類可理解的模型。深度學習模型可解釋性的缺失,嚴重阻礙了其在醫學診斷、金融、自動駕駛、軍事等高風險決策領域的應用。因此研究可解釋性就顯得格外重要,可解釋性有利于系統的使用者更 好地理解系統的強項和不足,并明確系統的知識邊界,了解系統在何種情況下有效,從而恰當地信任和使用系統來進行預測。對系統的設計者而言,可解釋性有利于優化和改進系統,避免模型中的歧視和偏見,并加強對系統的管理和監控。
可解釋性技術的關鍵在于將模型決策結果以可理解的方式向人類呈現,它有助于人們理解復雜模型的內部工作機制以及模型如何做出特定決策等重要問題。從模型自身的性質來看,線性模型、決策樹天生帶有可解釋性,而深度學習天生是不具有可解釋性的,為了提升可解釋性,可解釋性技術可以分為兩類:全局可解釋性和局部可解釋性。全局可解釋性從整體上理解模型如何進行預測,而局部可解釋性為模型的單個預測提供局部解釋,后者的代表就是LIME和SHAP。
LIME&SHAP
LIME、SHAP這類方法的本質是構建更簡單的可解釋模型,用這些模型作為復雜模型的近似,可以解釋任何給定的黑盒分類器,它們通過通過學習每個預測的局部可解釋模型(如線性模型),以一種可解釋、可靠的方式解釋任何分類器的單個預測,它們估計實例上的特征屬性,確定每個特征對模型預測的貢獻。
設f為需要解釋的分類器,g是選中的用于學習并解釋f的可解釋模型,G是g的集合
另設g的復雜度為Ω(g),對于線性模型而言,其可由非零權重的數量來衡量;并用πx來衡量x和x’的相近程度
LIME,SHAP的目標就是在生成一種解釋,同時滿足:1.在x附近逼近黑盒行為;2.復雜度盡可能低,故目標函數如下所示

上式中的損失函數定義為

其中X’是在x附近的x’的集合
而LIME和SHAP的主要區別在于如何選擇Ω(*g)和πx
在LIME中,這些函數的定義是啟發式的,Ω(g)是線性模型中的非零權重,πx是使用余弦或者l2距離定義的。而在SHAP中,SHAP將這些函數的定義定義在博弈論原則的基礎上,以保證解釋滿足某些期望的性質。
應用
我們來看看LIME,SHAP在解釋模型時會有什么結果,這兩種方法非常流行,已經有成熟的庫可以用了,我們直接導入即可

我們針對前面提到過的COMPAS應用可解釋性技術進行分析
先來看看LIME的解釋


輸出的結果中,上面的是LIME對原始模型的決策結果做出的解釋,這里打印出了模型決策時最重要的前三個特征。可以看到,LIME認為模型在分類時將種族因素作為最重要的特征,也就是說原始模型是存在偏見的,此時,用戶發現該偏見后就可以采取一些措施進行糾正,但是對于攻擊者而言,它的目的就是為了欺騙可解釋模型,從而讓用戶無法發現模型存在偏見,最終造成危害。
再來看看SHAP方法。


從輸出結果可以看到,SHAP認為模型在做出決策時認為種族是最重要的因素,也就是說,這個模型存在種族歧視。如果熟悉COMPAS背景的人應該知道,它是用于評估犯人從監獄釋放后,在兩年內再次犯罪的可能性,早已有新聞表明該系統確實存在種族歧視,也就說到目前為止,SHAP,LIME等方案給出的結果是可信的。而用戶發現模型存在偏見、歧視之后就可以想辦法進行改進。但是如果攻擊者欺騙了SHAP,LIME呢?如果SHAP,LIME不認為模型存在歧視,但是其確實存在歧視,一旦將其應用于現實生活中,后果不堪設想,尤其當模型歧視的因素是比較敏感的話題的時候,比如人種、性別差異等。
攻擊LIME&SHAP
原理
LIME等技術通過構建局部可解釋近似模型來解釋給定黑盒模型的單個預測,每一個樣本的局部近似都被設計用來捕獲給定數據點附近的黑盒行為,這些鄰域構成了由輸入數據中單個實例的擾動特征生成的合成數據點。然而,使用這些擾動生成的實例可能是off-manifola或者out-of-distribution(OOD)的
為了更好地理解由擾動生成的合成數據點的性質,研究人員進行了實驗。他們使用LIME方法對輸入實例進行擾動,然后對包含原始實例和擾動實例的組合數據集進行主成分分析PCA,將其降到2維
結果如下

從圖中可以看到,合成的數據的分布與原始的實例的分布有很大的不同,這種現象是研究人員欺騙LIME,SHAP的基礎。攻擊者可以在輸入數據點上創建一個類似于原始分類器(可能具有很大的歧視性)的對抗性分類器,但是在擾動數據上的表現卻與原始分類器不同,對抗性分類器表現地沒有偏見并且是公平的,從而有效地欺騙LIME、SHAP。
設f是前面提到的有偏見的分類器,對手希望設計一個對抗性分類器,在用戶生成這個黑盒的解釋時,解釋技術會被欺騙,認為這個模型是無害的。這個分類器接收的N個數據點組成的數據集X來自于真實世界的分布Xdist。為了欺騙解釋性技術,攻擊者設計的對抗分類器,在從Xdist采樣的數據點上顯示有偏見的行為,而在不是來自Xdist
的數據點上保持沒有偏見,由于LIME,SHAP輸出的特征重要度嚴重依賴于擾動實例(通常是OOD樣本),因此得到的解釋將使對抗分類器看起來無害。
設Ψ是一個沒有偏見的分類器(基于與敏感特征不相干的無害特征進行預測),則對抗分類器e的形式如下

創建這種分類器的難點就是我們需要判斷給定的數據點是否來自Xdist,或者說是否是OOD的,為此需要創建一個分類器is_OOD
為了創建分類器is_OOD,需要構造新的數據集,擾動每個實例x生成新的實例xp,設所有通過擾動得到的實例的集合為Xp,然后將X中所有實例的標簽設置False,將Xp中所有實例的標簽設為True(在X中的實例除外),然后我們在聯合數據集Xp?X以及對應的標簽上訓練分類器即可。
實現
欺騙LIME

欺騙SHAP

COMPAS測試
COMPAS數據集如下





從結果可以看到,不論是LIME還是SHAP此時在解釋對抗模型的決策時,都認為其不再以種族作為最關鍵的決策因素,即不再認為該模型是存在種族歧視的,而實際上,通過我們的分析,我們知道該模型事實上是存在種族歧視的,由此我們就實現了對LIME,SHAP方案的欺騙。
其他數據集
COMPAS數據中的特征包括犯罪史、人口特征、COMPAS風險評分、入獄和服刑時間,其輸出為風險率,涉及到種族歧視的問題。Communities & Crime數據中的特征包括種族,年齡,教育程度,警察統計數據,婚姻狀況,公民身份等,其輸出為犯罪率,涉及到種族歧視問題。German Credit數據中的特征包括賬戶信息,信用記錄,貸款目的,就業情況,人口統計資料等,是輸出判斷客戶是否為優質客戶,其存在性別歧視。我們可以用同樣的方法進行攻擊,攻擊結果如下
Communities & Crime
數據集如下

lime
shap

從結果可以看出,兩種可解釋性方法都認為除人種外的其他因素在模型決策時更加重要,而模型認為重要的因素,比如母語是否為英語、孩子數量等在我們人類看來往往并不要緊。
German Credit
數據集如下

lime

shap

從結果可以看出,兩種可解釋性方法都認為除性別外的其他因素在模型決策時更加重要,而模型認為重要的因素,比如存款余額、是否為外國工作人員等在我們人類看來往往并不要緊。