Universal Adversarial Attack
Attack可以是分別爲每個輸入\(x^0\)找到對應的攻擊信號\(\Delta x\),還可以是找到一個適用於所有輸入的攻擊信號\(\Delta x\),這就是Universal Adversarial Attack,詳見:Universal adversarial perturbations(https://arxiv.org/abs/1610.08401)。
One Pixel Attack
One Pixel Attack就是攻擊時的constraint爲只能修改圖片中一個pixel,即\(d(x^0,x')=||x^0-x'||_0=||\Delta x||_0\leq1\),其中可以將L0範數理解爲非零元素的個數。
如何確定要攻擊哪個像素呢?暴力求解速度會很慢。還有個問題是我們是否需要最佳的攻擊方案?如果能夠使用Loss梯度下降找到最佳的攻擊方案,那當然是好的,但其實我們只需攻擊成功即可,因爲攻擊的目標主要是使模型失效,只要可以攻擊成功就行。比如原模型對某圖片的分類結果是置信度爲16.48%的Cup,我們能找到一個方案使模型分類結果是置信度爲16.74%的Soup Bowl即可而不需要必須使得置信度爲100%。同理,我們只要能找到某個可以擊破的像素就行而並不需要找到最薄弱的像素。
那如何找到一個攻擊方案呢?用Differential Evolution就行。Differential Evolution的好處是有較大的概率得到全局最優解並且不需要計算梯度也就不需要被攻擊模型的參數。Differential Evolution與遺傳算法非常類似,都包括變異、雜交和選擇操作,但這些操作的具體定義與遺傳算法有所不同。
詳見One pixel attack for fooling deep neural networks(https://arxiv.org/abs/1710.08864)。
Adversarial Reprogramming
我們可以在不改變模型參數的情況下,通過Attack來修改模型的“功能”,比如將一個圖片分類模型的功能改爲方塊計數(方塊數量對應某種種類),詳見:
- Adversarial Reprogramming of Neural Networks(https://arxiv.org/abs/1806.11146v2)
- https://arxiv.org/abs/1705.09554
- https://arxiv.org/abs/1707.05572
Attack in the Physical World
有一個問題是,我們說的這些攻擊在物理世界中會失效嗎?比如相機等設備會不會像人一樣無法識別那些攻擊信號呢?答案是不一定。有人做了相關實驗,將擾動得到的圖片\(x'\)打印出來,然後用手機、相機等拍照再做分類或識別,仍然可以成功攻擊模型,詳見:Adversarial examples in the physical world(https://arxiv.org/abs/1607.02533v4)、https://www.youtube.com/watch?v=zQ_uMenoBCk&feature=youtu.be
攻擊還可以用在人臉識別領域,比如我戴一個實體眼鏡(用於攻擊)之後可能就會被人臉識別系統識別爲其他人,詳見:https://www.cs.cmu.edu/~sbhagava/papers/face-rec-ccs16.pdf
攻擊還可以用在自動駕駛中,假如汽車在自動駕駛時需要看紅綠燈等標誌物,那在這些標誌物上貼一些攻擊信號也許就會導致車輛“失控”,詳見:https://arxiv.org/abs/1707.08945
Attack Text & Audio
攻擊並不僅限於Image,還可以攻擊Text,可參考:https://arxiv.org/pdf/1707.07328.pdf
攻擊並不僅限於Image和Text,還可以攻擊Audio,可參考:
- https://nicholas.carlini.com/code/audio_adversarial_examples
- https://adversarial-attacks.net
- 現實中ASR可能會受到攻擊,ASR指Automatic Speech Recognition(自動語音識別),即語音轉文字,詳見:https://nicholas.carlini.com/code/audio_adversarial_examples/
- ASV也可能會受到攻擊,ASV指Automatic Speaker Verification,即識別是誰講話,詳見:https://arxiv.org/abs/1911.01840
Hidden Voice Attack
Hidden Voice Attack就是生成一段人類無法聽懂的audio但仍然可以騙過你的模型,比如用一段人類聽不懂但被模型判定爲“Hey, Siri”的audio啓動你的蘋果手機。
詳見:https://arxiv.org/abs/1904.05734
如下圖所示,處理audio的步驟爲Preprocessing、Signal Processing、Model Inference,Hidden Voice Attack就是在Signal Processing階段進行攻擊。
如下圖所示,對audio的擾動方式有4種,具體不再詳細介紹。
Time Domain Inversion
Time Domain Inversion簡稱TDI,它利用了magnitude FFT多對一的性質(兩個不同的signal經過mFFT可以得到相同結果),所以我們可以將time domain中的signal進行處理,處理之後會影響人聽懂但不影響模型。
Random Phase Generation
FFT返回了一個複數\(a+bi\),而\(magnitude=\sqrt{a^2+b^2}\),不同的\(a\)和\(b\)可以計算得到相同的magnitude,所以可以對\(a\)和\(b\)進行修改,修改後會影響人聽懂但不影響模型。
High Frequency Addition
High Frequency Addition簡稱HFA。
在Preprocessing過程中會使用low-pass filter過濾掉比人聲高很多的頻段以增加Voice Processing System的準確率,那我們就可以在audio中加入高頻段audio,這樣會影響人聽懂但不影響模型。
Time Scaling
將audio縮短到model能正確辨識但人聽不懂。
Github(github.com):@chouxianyu
Github Pages(github.io):@臭鹹魚
知乎(zhihu.com):@臭鹹魚
博客園(cnblogs.com):@臭鹹魚
B站(bilibili.com):@絕版臭鹹魚
微信公衆號:@臭鹹魚
轉載請註明出處,歡迎討論和交流!