(持續更新)
一、相關優質博客
1.全面入門
2.直觀理解原理
3.相關補充論文
4.對抗防禦分類
二、論文細節知識點
- 1.hessian矩陣(表一):hessian矩陣實際上就是函數的二階導矩陣
Hessian矩陣在機器學習中的應用(拓展):即hessian矩陣能來找極值點 - 2.RNN簡單介紹,
- 3.自編碼器簡單介紹:個人理解爲類似無監督的學習算法,讓機器訓練出能保留原始數據較好特徵的權值矩陣,然後每次訓練當前層都先採用上一層的得到的權值矩陣。自編碼器通常被用於降維或特徵學習。本文裏提到這是一種加解密的模型,目的是使輸入和輸出的差異減小,可用於壓縮/解壓任務。
- 4.基本的GAN介紹裏包括WGAN:改進損失函數,提供訓練指標;
GAN進一步的原理解釋就是:以下摘自博主「JensLee」:
首先這個網絡模型(定義在上面),先傳入生成器中,然後生成器生成圖片之後,把圖片傳入判別器中,標籤此刻傳入的是1,真實的圖片,但實際上是假圖,此刻判別器就會判斷爲假圖,然後模型就會不斷調整生成器參數,此刻的判別器的參數被設置爲爲不可調整,d.trainable=False,所以爲了不斷降低loss值,模型就會一直調整生成器的參數,直到判別器認爲這是真圖。此刻判別器與生成器達到了一個平衡。也就是說生成器產生的假圖,判別器已經分辨不出來了。所以繼續迭代,提高判別器精度,如此往復循環,直到生成連人都辨別不了的圖片。
三、論文內容節選
1.表一:(私:LaTeX練習輸入)
符號 | 定義 |
---|---|
沒有修改、處理過的原始數據輸入 | |
分類問題中的標籤,。其中是類別數 | |
對抗樣本,即修改後的數據輸入 | |
在針對性對抗樣本中敵手的分類標籤 | |
深度學習模型(對於圖像分類任務來說,) | |
深度學習模型的參數 | |
損失函數 | |
原始的輸入數據和修改後輸入數據的差異: (輸入的數據是相同的尺寸) | |
範數 | |
梯度 | |
海森矩陣,二範數的一個拓展 | |
Kullback-Leibler (KL) 散度函數 |
2.產生對抗樣本的方法
這部分可以參考機器之心的文章,這裏只做些補充
- A.L-BFGS Attack
$min_x’
(公式咋居中不太會= =)
   作者表明,生成的對抗樣本也可以推廣到不同的模型和不同的訓練數據集。 他們認爲,對抗樣本是由於測試數據集中從未/罕見的例子。Szegedy[22] 等人首次證明了可以通過對圖像添加小量的人類察覺不到的擾動誤導神經網絡做出誤分類。他們首先嚐試求解讓神經網絡做出誤分類的最小擾動的方程。但由於問題的複雜度太高,他們轉而求解簡化後的問題,即尋找最小的損失函數添加項,使得神經網絡做出誤分類,這就將問題轉化成了凸優化過程。該問題通過線性搜索C>0的情況來找到合適的近似值。
注:凸優化問題參考;詳細公式解釋
- FGSM(通俗的解釋)
首先梯度是什麼?https://blog.csdn.net/u013080804/article/details/80670559梯度是用來更新擬合函數的較快迭代方法,用於更新w和b。
具體公式解釋加上這裏的圖二,典型的FGSM即用同沿梯度的值更新樣本值,從而超出分類器的邊界成爲其他類。 - FVG:改進噪聲的表達式;OTCM:
- BIM:交叉熵損失函數
- JSMA:基於雅克比行列式的顯著圖攻擊:通過對抗顯著圖找到對分類器影響程度最大的兩個特徵,然後將特徵增加到圖中,重複迭代就能完成生成對抗樣本的任務。找的特徵是其他類型的分類,屬於目標攻擊。
- DeeoFool:二分類的線形平面可以參考文章。其他可簡單參考:推而廣之,在二分類問題中,當分割平面不是線性時,處理非線性的分割平面時,可以利用移動距離小,可以認爲是線性的分割平。每次迭代時,該點都以很小的移動距離以梯度的方向來逼近分割平面。由於移動距離很小,可以使用該點的梯度代替參數矩陣w。多分類問題時,與二分類問題類似,只不過在迭代計算時需要考慮該點向不同分類標籤移動時要選取一定距離最短的那個。
(注:有目標,迭代。)是分類函數,目的是求最小的二範數擾動使得原樣本分類器的結果加上 原樣本到分類器界限的距離乘以分類器上法向量的值爲0,即將原樣本的判斷結果加上擾動就可以移動到分類器的邊界。也就是該研究提出魯棒性分析的一個基石:分類器的魯棒性:樣本離分類邊界越遠(求均值),樣本2範數越小,評測數值越大表示越魯棒。個人理解爲前面所講的分類器增加干擾是爲了判斷分類邊界距離,這個距離衍生的測評值可以來評價魯棒性。 - CPPN EA FOOL(2015):
之前的攻擊方法都是假反例攻擊,即都是將數據集的圖片添加擾動而是分類器識別錯誤。這篇論文從假正例攻擊方式出發,試圖使用進化算法或者梯度上升來生成一個人類識別不出,但是卻能讓機器深信不疑的圖片。這部分的研究闡明瞭人類視覺與目前的DNN的差別,並提出了對DNN用於計算機視覺的泛化性的問題。(讀原本論文)
這裏使用進化算法生成樣本,並用多種方法,如EA算法、CPPN EA算法和梯度上升,解決多分類任務。作者用兩種不同的方法編碼圖片,直接編碼(灰度或HSV值)和間接編碼(合成模式生成網絡,CPPN)。在每次迭代過程中MAP-Elites就像普通的進化算法一樣,選擇一個隨機的有機體,隨機的變換他們,如果新的這個更健壯(有着更高的關於某類的可能性),就取代舊的那個有機體。通過這種方式,MAP-Elites可以在每個類中找到最好的個體。對許多對抗樣本來說,CPPN就像JSMA一樣,可以找到關鍵特徵來改變深度神經網絡的輸出。同一進化過程中的許多圖像在密切相關的類別上都是相似的。即編碼完成後,進行類似進化算法的迭代,每次找出更健壯的個體取代舊個體,進而找到每類最好的個體來。 - C&W’s Attack(2017):簡單解釋,;;找到稍微詳細點的是基於距離測量方法。先定義了一個新的目標函數,然後分別限制範數使得產生的擾動無法被察覺。(迭代,白盒?)
- ZOO(2017):黑盒攻擊,不能直接計算梯度,通過新定義損失函數,並用對稱差商估計梯度和Hessian矩陣,進而查詢和評估梯度。獲得了best梯度,對x進行修改,輸入目標model,如果出錯則保留修改後的x,否則,循環②③④直到產生best梯度最終,這個方法與C&W’s Attack有着相當的性能。對稱差鏈接
- Universal Perturbation(2017)
- One Pixel Attack()
- Feature Adversary(2016):有目標攻擊,白盒。該方法不是去找到最小的擾動,而是通過計算原樣本和添加擾動後,網絡裏第K層的特徵映射的最小值來生成對抗樣本。(即存在一個添加擾動後的新樣本,使得第K層的輸出差值最小)
- Hot/Cold():PASS includes two stages: 1) aligning the modified
image with the original image; 2) measuring the similarity
between the aligned image and the original one.
ECC增強相關係數,SSIM結構相似性; 表示對抗樣本到原始樣本的一個單對應性的函數,單應性矩陣可參考:即一種映射變化。SSIM通過平均新定義的測量標準RSSIM的方式,來測量圖片的顯著差別度。
PASS由、參數和測量圖片的顯著差別度函數來組合定義,即對齊信息和相似度度量組合定義。接着採用新的PASS度量來描述問題,即求最小距離的測量函數值(如PASS或範數度量),使得滿足一定的條件進而找到這個樣本。屬於有目標,迭代式的白盒攻擊。hot即爲目標標籤,cold爲原樣本標籤。 - Natural GAN(2017):無目標,迭代,黑盒攻擊
傳統的GAN訓練難,因此採用改進後的WGAN網絡來訓練。訓練完後的生成器G將隨機噪聲映射到輸入域,也就是A的輸入。反相器:反相器是可以將輸入信號的相位反轉180度、相位差:兩個作週期變化的物理量的相之間的差值,個人理解爲訓練的’反相器’L能將輸入映射到輸入輸入數據的內容(誤)。生成器和反相器都是用來讓對抗樣本變得自然的東西。
總的來說,就是訓練後的WGAN使用生成器將隨機噪聲(G網絡生成隨機圖片的作用)映射到輸入域,通過最小化像Feature Adversary那樣的內在表示距離來生成對抗性噪聲,生成器再來生成對抗樣本。參考博客。 - Model-based Ensembling Attack(2017):argmin(·)表示使後面這個式子達到最小值時的x’的取值.白盒生成,黑盒攻擊,可遷移。這個方法主要是通過在各個白盒模型上得到對抗樣本,然後通過優化一個函數,來取得這個最優函數對應的樣本,這個樣本就可以遷移到別的黑盒模型中,並有目標的攻擊黑盒模型,也可以無目標的攻擊。
- Ground-Truth Attack():