利用Capsule重構過程,Hinton等人實現對抗樣本的自動檢測
360253&lang=zh_CN#wechat_redirect" target="_blank" rel="nofollow,noindex">膠囊網路 (capsule network,CapsNet)可以自動把對抗樣本揪出來啦。如果對抗樣本讓分類器把看起來是:cat:的影象識別成了:dog:,利用重構過程,capsule 模型可以把這張影象還原成:dog:,並且還知道這張被識別成:dog:、還原成:dog:的影象並不是:dog:。這項研究來自 capsule 模型的原作者 Sabour、Frosst 以及 Hinton,相關論文將在 NIPS 2018 的機器學習安全研討會中展示。
在一般的影象識別過程中,模型只是簡單地輸出影象的類別,而沒有輸出影象的特徵,甚至並不能內在地、完整地表徵影象。這導致了在測試中受到對抗攻擊時,除非讓人進行對比驗證,否則根本不知道出了問題;或者直到出了問題,才知道存在對抗攻擊。
Sabour 等人在 2017 年的論文《Dynamic Routing Between Capsules》中表明,通過新增另一個根據姿態引數(poseparameter)和正確的頂層 capsule 特徵重建輸入影象的網路,可以提升 capsule 網路的判別效能。通過重建網路進行反向傳播的導數迫使頂層 capsule 的姿態引數去捕獲大量影象資訊。利用此類正則化器訓練的 capsule 網路不僅能輸出類別,還能輸出輸入的類別條件重建影象。
在近期由 Nicholas Frosst、Sara Sabour、Geoffrey Hinton 等人的研究論文中指出,重建子網路可以有效地檢測對抗攻擊:根據 winning 頂層 capsule 的姿態引數和特徵來重建輸入,以驗證網路正在感知我們期望其在該類典型樣本中感知的目標。也就是說,重建影象才是網路真正看到的影象,如圖 1 所示。
論文提出了一種和攻擊無關的檢測技術——DARCCC,它依賴於真實影象和對抗影象的類別重建距離分佈之間的差異。作者把 DARCCC 擴充套件到更標準的影象分類網路(卷積神經網路)後發現,在黑箱攻擊和典型的白盒攻擊上,本文提出的檢測方法在 MNIST、Fashion-MNIST、SVHN 三種影象資料集上效果更好,如圖 4 所示。
然而,論文提出的檢測方法能夠被更為強大的白盒攻擊擊敗。該白盒攻擊使用 R-BIM 方法把重建誤差考慮在內並反覆干擾影象,從而允許良好的重建。然而,這種更強的攻擊不會產生與原始影象相似但帶有少量附加噪聲的典型對抗影象。相反,為了使模型錯誤地對影象進行分類,對原始影象的干擾必須很大,並通常生成實際上與目標類別其它影象相似的「對抗」影象(這樣在定義上就不能稱為「對抗」啦,如圖 D.4 所示)。此外,對 capsule 網路來說,如果對重建誤差施加了足夠的權重來避免檢測,它通常不可能改變影象,產生所需錯誤類別。
論文:DARCCC: Detecting Adversaries by Reconstruction from Class Conditional Capsules
論文地址:https://arxiv.org/pdf/1811.06969.pdf
摘要:本研究展示了一種簡單技術:用 capsule 模型檢測對抗影象。capsule 模型不僅能夠對影象進行分類,還可以利用姿態引數(poseparameters)和正確的頂層 capsule 特徵來重建影象。對抗影象與典型的類別預測並不相同,當模型根據對應類別的頂層 capsule 特徵重建影象時,它們的重建誤差較大。我們在輸入影象及其根據頂層 capsule 得到的重建影象間設定 L2 距離的閾值,該方法可以在三種不同資料集上高效檢測對抗影象。
對於訓練用來重建影象的 CNN 來講,例如利用最後一個隱藏層(Softmax 之前)的全部或部分輸出重建影象,該技術也很有效。我們還探索了更強大的白盒攻擊,其將重建誤差也考慮在內。白盒攻擊能夠欺騙我們的檢測技術,但要想使模型改變預測類別,白盒攻擊必須使「對抗」影象類似其他類別的影象。
方法
在《Dynamic Routing Between Capsules》提出的CapsNet中的重建網路中,其採用所有類別 capsule 的姿態引數,並且除了對應預測類別的姿態引數,其它所有值都被 mask 為 0。在訓練過程中,研究者優化了輸入影象和重建影象在分類損失上的 L2 距離。我們使用相同的重建網路,通過測量輸入和預測重建之間的歐式距離來檢測對抗攻擊。
圖 2 展示了一個抽樣的自然影象 vs 對抗影象的距離直方圖。我們利用兩種分佈之間的不同並提出 DARCCC 來基於類別重建檢測對抗樣本。DARCCC 可以基於重建距離的閾值來分辨對抗樣本。圖 1 展示了真實樣本和對抗樣本的重建影象;對抗重建和輸入影象之間的偏差啟發了本研究的方法。
圖 1:來自訓練好的膠囊網路的預測類別姿態引數的重建,用於實際資料(圖左)以及成功地實現對抗目標類別為「1」的資料(圖右)。來自對抗性資料的重建類似於輸入影象的「1」(圖右)。
圖 2:在 MNIST 的真實資料和對抗資料上,capsule 模型(圖左)、CNN+R(圖中)、Masked CNN+R(圖右)的輸入和重建樣本之間的 L2 距離直方圖。
儘管上述系統是針對CapsNet的資訊姿態引數而設計的,相同的策略也可以擴充套件到CapsNet以外的模型。通過使用標準的 CNN 並將倒數第二個隱藏層分為對應每個類別的組,我們建立了一個類似的架構「Masked CNN+R」。每個神經元組的和作為對應類別的邏輯值。並且通過 Sabour 等人使用過的相同 masking 操作,這個組自身會被傳遞到重建子網路。我們還研究了通過忽略 masking 並使用典型「CNN+R」模型來探索類別條件重建的作用,其整個倒數第二層被用於重建。
圖 3 畫出了三個模型的誤差率、攻擊檢測率和成功攻擊檢測率。對於所有三個模型,DARCCC 不僅能準確地檢測到成功改變類別的攻擊(成功攻擊檢測率),還能檢測到無論是否改變類別而進行的影象擾動(攻擊檢測率)。
圖 3:DARCCC 攻擊檢測率、成功攻擊檢測率和黑箱 FGSM 攻擊誤差率的圖示。從圖中可以看出,隨著誤差率的增加,檢測率也在增加,並在誤差率到達一定程度後能保持幾乎 100% 的檢測率;此外,DARCCC 對成功攻擊的對抗擾動更加敏感。
圖 4:在不同時間步中,DARCCC 檢測率和白盒 BIM 攻擊成功率。從圖中可以看出,當攻擊成功率(藍色)逐漸增大時,三個模型在 MNIST 和 Fashion MNIST 資料集上都表現不錯,都能以很高的概率檢測到對抗擾動和成功攻擊的對抗擾動;而在 SVHN 資料集上,capsule 模型表現得更好。
圖 D.4:每個模型的初始影象(頂部)和 R-BIM 擾動影象。這些影象能成功地讓分類器作出「褲子」目標類別的預測。只有 Capsule 模型攻擊需要使用和「褲子」影象相似的初始影象才能實現攻擊,並且沒有「鞋子」影象能成功讓分類器作出「褲子」類別的預測。
圖 A.1:用於重建的 CNN+R 和 Capsule 模型的架構。
所以這篇論文的意義到底是什麼呢?簡言之,研究者表示:結合重建過程,CapsNet可以用來自動檢測對抗攻擊,不需要人力;並且CapsNet防禦對抗攻擊的能力更強,只有和攻擊目標很像的對抗樣本才更容易成功CapsNet,這也削弱了樣本的對抗性;研究者並沒有提出將成功攻擊CapsNet的樣本的預測優化為真實預測的方法,或許這會是下一個值得探索的方向。此外,CapsNet相對於另外兩個基於CNN的重建架構在防禦和檢測對抗攻擊上存在很大的優勢,這種優勢的根本原因是什麼,是不是表徵等變性?同樣值得深思。