目錄
前言
1. DeepXplore
1.1 DeepXplore工作流程
1.2 DeepXplore主要的貢獻是:
1.3 論文中的示例
2. DEEP CONTRACTIVE NETWORK—深度壓縮網絡
3. DeepFool
參考文獻:
前言
傳統軟體需要測試,對于深度學習系統的對抗攻擊會使得深度學習模型産生錯誤的行為,是以對于深度學習系統也需要測試。
DLFuzz,是檢測深度神經網絡健壯性的差分模糊測試架構。DLFuzz目标是最大化神經元覆寫率并生成更多的針對深度學習模型的對抗樣本。相比于DeepXplore使用高神經元覆寫率和多錯誤觸發數聯合進行樣本的優化和選取。輸入的是原始的測試資料樣本。輸出的是基于原始樣本生成的對抗樣本,對抗樣本可以觸發模型的錯誤預測。
本文讨論的是DLFuzz的相關擴充知識,在這裡隻簡單說明一下,有時間下回在描述DLFuzz。接下來讨論DeepXplore、DEEP CONTRACTIVE NETWORK深度壓縮網絡和DeepFool。
1. DeepXplore
(DeepXplore: Automated Whitebox Testing of Deep Learning Systems)
1.1 DeepXplore工作流程
圖1. DeepXplore工作流程
如上圖1所示,DeepXplore将未标記的測試輸入作為種子(seeds),通過同質異構的DNN模型表現出不同的行為,同時經過聯合優化控制各個DNN之間的行為差異化程度和最大化神經元覆寫率,最後輸出新的可以觸發深度學習系統不同行為的輸入集。
1.2 DeepXplore主要的貢獻是:
(1)神經元覆寫率;
(2)生成新輸入集;
(3)新輸入集自動打标簽;
(4)對新輸入集的再訓練。
(1)神經元覆寫率:DNN 中的每個神經元往往需要負責提取其輸入的一個特定的特征,是以神經元覆寫率的提升可以有效測試深度學習系統的行為。
提升神經元覆寫率,一般通過疊代找到沒有激活的神經元,對輸入進行幹擾,使得經過該神經元的輸出大于門檻值,則此神經元被激活。即該神經元被覆寫。
(2)生成新的輸入集進行測試
通過梯度來計算聯合優化問題,最終生成新的輸入集。聯合優化的目标:其一是最大化神經元覆寫率;其二是最大化各個深度學習模型的行為差異。
最大化神經元覆寫率在于覆寫更多的資料特征。而最大化行為差異是使得新的輸入集可以使得深度學習模型訓練得出錯誤的結果,以此來測試深度學習系統的魯棒性。
(3)新輸入集自動打标簽
如圖1.所示,将未标記的測試輸入作為種子,訓練多個DNN模型,這些DNN模型的本質是類似的,主要的差別就是神經元數量的不同,通過控制神經元數量也可以比較深度神經網絡模型的魯棒性。輸入種子資料後,多個DNN模型進行訓練,然後進行投票,擷取标簽資料。
(4)對新輸入集的再訓練
用新輸入集對模型進行再訓練,用來提升模型的準确性和識别污染的資料。
1.3 論文中的示例
圖2. 兩個深度神經網絡用于将圖像分類為汽車或者人臉
兩個網絡均把給定的圖像以高機率歸類為汽車;然後,DeepXplore會試圖通過修改輸入以使一個神經網絡繼續将輸入的圖像歸類為汽車,而DNN2則會認為它是一個面孔,進而最大化發現差異化行為的可能性。
2. DEEP CONTRACTIVE NETWORK—深度壓縮網絡
(TOWARDS DEEP NEURAL NETWORK ARCHITECTURES ROBUST TO ADVERSARIAL EXAMPLES )
論文中實驗驗證發現,對去噪自編碼(Denoising Auto Encoders,DAE)輸入對抗樣本時,輸出為去噪聲後的樣本,能夠去除大量的對抗噪聲,但是如果把去噪自編碼和深度網絡堆疊起來,反而變得更加脆弱,新的深度網絡同樣會受到對抗樣本的攻擊。
然後作者又對壓縮自編碼(CAE)進行分析和實驗。壓縮自編碼是在自編碼的損失函數的基礎上引入分層收縮懲罰,使得輸入的微小變化不會給隐層激活值帶來太大改變,進而使輸出變量對一定範圍内的輸入變量的變化不敏感。因為損失函數的平滑度懲罰項,增強了壓縮自編碼(CAE)的泛化能力,對于對抗樣本這種輸入變化不明顯的樣本具有較好的魯棒性。
借助壓縮自編碼(CAE) 的思想,将壓縮自編碼(CAE)擴充到深度網絡,對懲罰項的近似處理減少計算代價,提出深度收縮網絡(DCN)。深度壓縮網絡(DCN)使用了和壓縮自編碼器(Contractive Auto Encoders)相同的分層收縮懲罰,類似的平滑度懲罰項,通過平滑模型輸出的機制來加強模型在類似對抗樣本這樣的小擾動下的魯棒性。作者進行實驗也證明了該網絡可提高深度神經網絡對對抗樣本的魯棒性。
3. DeepFool
( DeepFool:a simple and accurate method to fool deep neural networks )
作者讨論的内容是尋求最小的擾動來達到生成對抗樣本。在這篇論文中作者提出DeepFool算法,來生成最小最優的擾動使得樣本成為對抗樣本,并且提出了一個簡單的精确的方法來計算對抗擾動以及比較不同分類器的魯棒性。
圖3. 兩種模型加入的擾動
DeepFool論文中比較了FGSM(fast gradient sign method), FGSM雖然計算快,但隻是提供了最優擾動的一個粗略的估計,它使用的是梯度的方法,容易得到局部最優解,DeepFool能夠得到更小的擾動。
如圖3. DeepFool算法生成的擾動和FGSM算法生成的擾動。可以看到當生成的target label都為turtle時,DeepFool算法所加入的擾動,明顯低于FGSM。
文中首先對于二分類器進行魯棒性評估。
圖4. 二分類
分類器在x處的魯棒性:
如圖4,分類器在x處的魯棒性,即x到分類邊界的距離。
分類器的魯棒性:
樣本離分類邊界越遠,樣本2範數越小,評測數值越大表示越魯棒。
在多分類分類器上的DeepFool實際上可以看作是,在二值分類器上DeepFool的聚合。
圖5. 多分類器
如圖5,對于多分類器問題,需要得到一個點到某分類函數邊界的最小距離:
便可以得到最小擾動:
DeepFool訓練出來的對抗樣本進行Fine-tuning後,網絡的魯棒性變的更好。FGSM的Fine-tuning卻讓網絡的魯棒性變差。作者認為用變動過大的擾動來進行Fine-tuning會讓網絡的魯棒性變差。經過實驗對比,使用DeepFool算法得到的更小擾動的對抗樣本,并且使用這樣的對抗樣本來增強實驗資料能夠增加神經網絡模型對對抗擾動的魯棒性。因為DeepFool生成的精确的最小的擾動,是以可以用來評估模型的魯棒性。
參考文獻:
[1] DeepXplore: Automated Whitebox Testing of Deep Learning Systems
[2] TOWARDS DEEP NEURAL NETWORK ARCHITECTURES ROBUST TO ADVERSARIAL EXAMPLES
[3] DeepFool:a simple and accurate method to fool deep neural networks