Lecture 16 | Adversarial Examples and Adversarial Training


Ian Goodfellow 本來以為會有 adversarial example 是因為一定程度的 overfitting,那麼只要另外 train 一個 model,那麼模型犯的錯誤就會不一樣

  • 然而實驗發現不同模型容易將同一個 adversarial example 分錯,甚至分成同一個錯誤類別
  • 研究發現 original example 和 adversarial example 所產生的偏移向量,若對其它無噪音example 加上這個偏移向量,總能得到一個 adversarial example,因此這應該是系統性效應,而不是隨機效應;比起 overfitting,更像是 underfitting
  • 模型可能過於線性,即使是 NN,也可以看成分段的 linear model
    • ReLU 分段線性
    • Maxout 分段線性
    • sigmoid 我們常常用心調參使得 score 在中間地帶,而這地段也非常線性
    • LSTM 是過去和現在 memory cell 的加總,而加總也非常線性

模型參數模型輸出 的映射 (mapping),是非線性的,這也是為什麼 NN這麼難 train;然而從 模型輸入模型輸出 的 mapping 是分段線性的,因此優化input (使得到想要的output)的問題 比 優化參數問題要簡單

(img 22:) 圖表沒看懂

(img 23:40)

  • 這三列的 perturbation 的 L2-norm 都一樣
  • 在 pixel 較多(圖片較大)的情況下,對每個 pixel 都做很小的擾動,這樣就能以難以察覺的差異造成 model輸出的變化很大?
    • 原句:That means that you can actually make changes that are almost imperceptible but actually move you really far and get a large dot product with the coefficients of the linear function that the model represents
  • 在構造 adversarial example 時,必須確保不會造成第一列那種狀況 (改變了它真正的 class)

The Fast Gradient Sign Method

  • 用一階泰勒展開式作的近似

Maximize

  • 想要最大化 cost function
  • 只要找到一個方向,和 gradient 的內積最大,加上原始 example,就可以欺騙網路

subject to

  • 即 每個 dimension 的最大值不能超過

=>

  • 可以在原始image加上 的擾動

這個方法應用到一般NN時,可以達到99%的攻擊成功率,這就意味著模型線性程度過高的假設是可以成立的。

還有其他攻擊方法像是 Nicholas Carlini's attack,是基於 Adam 優化器的某幾步

Maps of Adversarial and Random Cross-Sections

(img 29:)

  • 每個單元格代表 CIFAR-10 某個 test example 的 decision boundary
  • 單元格正中央是 original example
  • 白色是正確的 class,其他顏色是錯誤的 class
  • 由左向右的方向是 FGSM 的方向,也就是
  • 上下的方向是 隨機一個和上述方向 orthogonal 的方向
  • 可以看到右側都分錯了類,也就是如果在這個方向上的 inner product (內積)很大,就可以得到 adversarial example
  • 這也多多少少證明了 model 過於線性
  • adversarial example 就像藏在實數中的有理數,每個實數附近都有一個有理數

其實每個 real example 都靠近某個線性的 decision boundary

(img 31:) 這次,x軸和y軸都是 FGSM找到的方向 (應該是向右向下?)

(img 31:52)

  • 將 original example 加了 random noise,model 仍然可以判斷正確
    • 例外:第三列第三行
  • 將 adversarial example 加了 random noise,它仍然會是 adversarial
  • 因為 random noise 平均來說和 的內積為 0

Estimating the Subspace Dimensionality

(img 34:)

  • finding out just how many dimensions there are to these subspaces where the adversarial examples lie in a thick contiguous region
  • 平均 adversarial region 的 dimension 是 25
  • 這裡的 dimensionality 其實是在告訴你:利用 random noise 找到 adversarial example 的容易程度
    • 如果任何 direction 都是 adversarial 的,那任何 變化 都會造成分類錯誤
    • 如果大多數 direction 是 adversarial 的,那大部分時候,隨機方向會是 adversarial 的
  • 不同模型常常有相同的 adversarial example,當 adversarial subspace 維數越大,兩個模型的 adversarial subspace 越可能重疊

Adversarial Attack 也可以針對 RL 攻擊

論文:Universal Adversarial Perturbations

  • 在所有類別都可以指定同一個錯誤類別的 perturbation

RBFs behave more intuitively

  • 一些 quadratic models 可以很好的抵抗 adversarial example

Cross-model, Cross-dataset generalization

Transferability Attack

(img 50:)

Enhancing Transfer with Ensembles

  • 如果有一個 adversarial exampl 可以欺騙 ensemble 中的所有模型 (例如五個),那它有極高機率可以欺騙其他 machine learning model

Adverarial Examples in the Human Brain

  • 即使使用了 ensemble trick 攻擊,也無法有效攻擊大腦
  • 這表示我們可能需要一個截然不同的 model set

Practical Attacks

Failed Defenses

Generative Modeling is not Sufficient to Solve the Problem

  • 只有在認真設計的 generative model 才可能解決此問題
  • 真正重要的是 posterior probability

Training on Adversarial Examples

(img 64:40)

results matching ""

    No results matching ""