ML_2021_10-2 類神經網路能否躲過人類深不見底的惡意?

在前面的攻擊,是假設我們知道模型的weights,這類攻擊稱為White box attack

白箱攻擊非常簡單,盡量不要暴露parameters

下面課程前半部以圖片辨識為例介紹

Black box attack

1. Proxy network

a. 原理

我們雖然不知道想攻擊的模型的參數,但我們可以透過用同樣一批訓練資料,練出一個自己的網路。當我們能透過白箱攻擊讓Proxy network出現漏洞,則我們也有可能可以用同樣的方式讓想攻擊的network淪陷

b. 若無訓練資料

如果沒有訓練資料,也可以透過自己準備一批資料,餵給想攻擊的模型,讓他吐出一堆輸出,把輸入與輸出綁成成對資料,再拿去訓練自己的proxy network

上圖是用不同網路去攻擊各網路的accuracy,對角線因為是為白箱攻擊,所以不計入(能破proxy必能破attacked)

c. Advanced technique: Ensemble attack

  • 透過使用Ensemble model有效提高攻擊的強度


上圖縱列是指拿掉甚麼network,橫列則是被攻擊的network,如「-ResNet-152」那列就是結合除了ResNet-152以外的4個network所訓練出來的proxy network對各網路的攻擊結果;其中非對角線部分因為已在proxy network被訓練過,均視為白箱攻擊,不計入(0%)

為何黑箱攻擊如此容易成功?

  • 至今仍然還沒有確定性的答案
  • 多數人相信是因為模型之間存在著相似性,如下圖

圖片為一個高維向量,圖片的值是為原點,圖片的橫軸為可以讓攻擊成功的維度變化量,縱軸則為其他維度的偏移量。

可以發現,能在VGG-16攻擊成功的維度偏移方向,與其餘4種network均很相近。也就是說,能找到在VGG-16攻擊成功的圖片偏移方向與大小,在其他network上均大同小異。

  • 論文來源

  • 目前有一群人認為:或許Adversarial attack會成功,不是因為模型的問題,而是資料本身的特徵真的就是長那樣 $\rightarrow$ 或許資料量更大就能避免

One pixel attack

只動圖片裡的1 pixel就達成攻擊目的

Universal Adversarial Attack

  • 針對一個network的全方位攻擊方式

針對不同的圖片輸入,客製化出一個攻擊方式

Adversarial reprogramming

有點像殭屍寄生,讓原本的model輸出非他原本訓練想要的結果
upload successful

Backdoor in model

  • 在訓練階段就展開攻擊
  • 來源論文
  • 在訓練資料就放入attacked image,讓模型練完以後看似正常,卻只對單一類型圖片會出現問題,如同後門

$rightarrow$ 若這樣的技術成熟,公開資料集將會變得不安全


其他領域的攻擊應用

1. Speech processing

  • Detect synthesized speech:抓出合成的聲音訊號

攻擊者刻意在合成音裡面加入雜訊,讓機器以為那是原聲

2. NLP

文字輸入,進行機器QA

刻意在文字中加入雜訊,讓機器搞錯重點

3. 人臉辨識:真實世界攻擊

  • 既然能在虛擬世界中對圖片加工造成機器判別錯誤,當然也有可能在現實世界中對人臉加裝配件對機器造成攻擊

來源論文

  • 現實世界需要考慮諸多因素
    • 攝影角度 $\rightarrow$ universal attack(?
         - 解析度問題
         - 眼鏡印製的色差問題

除此以外,也有針對交通號誌的攻擊,讓自駕車變得困難


Defence

  • 防禦分為兩種
    • 主動防禦
    • 被動防禦

1. 被動防禦

  • network不動,在圖片丟入之前放一個Filter,來隔絕雜訊

  • 一種簡單的做法是刻意把圖片模糊化,讓原本可以讓攻擊成功的維度偏移量改變

    • 但同時也會降低原始正常圖片的辨識度

a. 更多作法

  • 圖片壓縮(刻意失真)

  • 讓Generator重新把input image重新畫一遍

    • 是有方法讓Generator產生一樣東西的,但因為generator沒看過雜訊,會產生不出來
         - 相關文獻
  • 被動防禦(模糊化)也可以視為在network前面加入一層,所以一旦被知道以後,防禦力將會大減 $\rightarrow$ 隨機化

b. Randomization

  • 把圖片隨機resize,padded一些背景之後再丟入network

upload successful

  • 相關文獻

  • 仍然有可能被攻破,抓出所有可能以後用universal attack

2. 主動防禦

a. Adversarial training

  • 在訓練階段就讓模型被攻擊

  • 把原始圖片做成attacked image後標上正確label以後再丟入model

  • 某種程度上就是data augmentation (有洞就補洞)

    • 就算不會被攻擊,也會有人用這樣的方式來強化model(降低overfitting可能性)
  • 訓練過程需要大量訓練資源,且如果碰到沒補過洞的attack algorithm,依然會被攻破

  • 有方法是不需額外計算的情況下做到adversarial training