Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務

機器之心發表於2018-07-03

近日,谷歌大腦研究者 Ian Goodfellow 等人提出一種新型對抗攻擊,可對已訓練的網路進行重新程式設計,使之執行其他多種任務。

對抗樣本的研究通常受攻擊者風險的驅動,攻擊者旨在通過對模型輸入的微小改變引起模型預測錯誤。此類攻擊可使自動駕駛汽車對貼了貼紙(小型 L_0 擾動)的停車牌視若無睹 [1],或導致保險公司的損傷模型(damage model)從被精心改動的損傷圖片(小型 L_∞擾動)上得出的賠償金額高於實際情況。基於該背景,研究者提出了多種方法來構建 [2–7] 和防禦 [8–13] 這種型別的對抗工具。截至目前,大部分對抗攻擊包括非目的性攻擊和目的性攻擊:前者旨在降低模型效能,但不要求模型生成指定輸出;而目的性攻擊中,攻擊者針對輸入設計對抗擾動,使模型對該輸入生成指定的輸出。例如,對分類器的攻擊可能對每個輸入影象都指定特定的輸出類別,或者對強化學習智慧體的攻擊可能導致該智慧體進入某特定狀態 [14]。

本研究考慮的是更復雜的攻擊者目的:使模型執行攻擊者選擇的任務,且攻擊者無需計算特定的輸出結果。考慮一個用來執行某原始任務的模型:對於輸入 x,模型輸出 f(x)。考慮攻擊者想要執行的對抗任務:對於輸入Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務(不必要和 x 屬於同一域),攻擊者想要計算的函式為Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務。本論文研究者展示了攻擊者可通過學習對抗重程式設計函式 hf (·; θ) 和 hg(·; θ)(對映兩個任務)達到目標。這裡,h_f 將Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務的域轉換成 x 的域(即 Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務是函式 f 的有效輸入),而 h_g 將 Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務的輸出對映Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務的輸出。然後調整該對抗程式(adversarial program)的引數 θ,以達到Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務

在本研究中,出於簡潔性考慮,以及為了獲得高度可解釋性的結果,研究者將Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務定義為一個小影象,將 g 定義為處理小影象的函式,x 是大影象,f 是處理大影象的函式。函式 h_f 僅包含在大影象的中心繪製 x,在邊界處繪製 θ,h_g 是輸出類別標籤之間的硬編碼對映。但是,這個想法更通用;h_f (h_g) 可以是轉換兩種任務的輸入(輸出)格式、使模型執行對抗任務的任意一致變換(consistent transformation)。

研究者將使用機器學習演算法執行新任務的攻擊類別稱為對抗重程式設計(adversarial reprogramming),將 θ 作為對抗程式(adversarial program)。與大部分之前的對抗樣本研究相比,該擾動的規模不需要限制。該攻擊的成功不需要到人類察覺不到或更細微的程度。對抗重程式設計的潛在後果包括從公共服務中竊取計算資源,將 AI 助手設定為間諜或垃圾郵件程式。5.3 節將詳細討論這類攻擊的風險。

神經網路的輸入新增偏移似乎不足夠使得網路執行新任務。但是,該靈活性確實僅基於對網路輸入的改動,且與深度神經網路的表達能力結果一致。例如,[15] 顯示,依據網路超引數,通過沿輸入空間中一維軌跡移動而獲取的唯一輸出模式的數量隨著網路深度的增加而出現指數級增長。此外,[16] 顯示即使引數更新僅限於在低維子空間中發生,網路在常見任務上訓練取得高準確率。對神經網路輸入新增偏移相當於修正網路第一層的偏置項(對於空間共享偏置項的卷積網路而言,該操作有效引入了新引數,因為新增的輸入不受貢獻偏置項的限制),因此對抗程式對應在低維引數子空間中的更新。最後,遷移學習中的成功證明神經網路的表徵可以泛化至完全不同的任務中。因此,對訓練好的網路進行重程式設計的任務可能比從頭訓練網路簡單一些,研究者通過實驗對該假設進行了探索。

Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務

圖 1:對抗重程式設計圖示。(a)將 ImageNet 標籤對映至對抗任務標籤(影象中的方塊)。(b)來自對抗任務的影象(左)被嵌入對抗程式的中心(中),得到對抗影象(右)。該對抗程式使 Inception V3 網路執行計算影象中方塊數量的任務。(c)使用對抗影象進行推斷的圖示。把對抗影象輸入該網路時,網路預測對映至對抗任務的 ImageNet 標籤。

Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務

圖 2:做 MNIST 分類的對抗程式示例。(a-f)導致六個 ImageNet 模型執行 MNIST 分類任務的對抗程式。每個程式被應用到一個 MNIST 數字。

Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務

表 1:已訓練 ImageNet 分類器可以通過對抗重程式設計來執行多種任務。上表給出了重程式設計網路在計數任務、MNIST 分類任務和 CIFAR-10 分類任務上的準確率

Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務

表 2:當面向未訓練網路時,對抗重程式設計的有效性會降低。上表給出了重程式設計網路在 MNIST 分類任務上的準確率。目標網路已被隨機初始化,但未被訓練。

研究者發現,經過訓練的神經網路要比隨機網路更容易受到對抗重程式設計的影響。這表明,對抗程式可以為了新的任務改變已有網路學習到的特徵。這可以視為一種新形式的遷移學習,其中網路的輸入(相當於第一層的偏置項)被修改了,而不是更典型的輸出層權重(readout weight)。研究結果表明,在現代人工神經網路中,神經迴路的動態重用應該更有實用性。由於共享計算能力,它有潛力使機器學習系統能夠更簡單的重新目的化(repurpose),變得更靈活、高效。實際上,機器學習近來的研究已經集中在構建具備可重用元件的大型動態連線網路上了。

論文:Adversarial Reprogramming of Neural Networks

Ian Goodfellow等人提出對抗重程式設計,讓神經網路執行其他任務

論文連結:https://arxiv.org/abs/1806.11146

摘要:深度神經網路易受對抗攻擊的影響。在計算機視覺領域中,對影象進行精心設計的擾動可導致神經網路犯錯,如將熊貓識別成長臂猿或用貓的影象來「愚弄」計算機。之前的對抗樣本的設計目的是降低模型效能或使機器學習模型生成攻擊者提前設定的特定輸出。我們介紹了一種對抗攻擊,其對目標模型進行重新程式設計,使其執行攻擊者指定的任務,且攻擊者無需指定或計算每個測試輸入的期望輸出結果。該攻擊通過極大優化單個對抗擾動來實現,該攻擊將擾動新增至機器學習模型的所有測試輸入,以使模型在處理這些輸入時執行攻擊者選擇的任務,即使模型的訓練目的並非是做該任務。因此我們可以把這些擾動看作是新任務的程式。我們在六個 ImageNet 分類模型上展示了對抗重程式設計,使這些模型執行計數任務,和兩個分類任務:對輸入 ImageNet 分類模型的 MNIST 和 CIFAR-10 樣本進行分類。

相關文章