天天看點

Understanding adversarial robustness via critical attacking route(通過關鍵攻擊路徑了解對抗魯棒性)Abstract主要貢獻尋找關鍵攻擊路徑

Understanding adversarial robustness via critical attacking route(通過關鍵攻擊路徑了解對抗魯棒性)Abstract主要貢獻尋找關鍵攻擊路徑

目錄

  • Abstract
  • 主要貢獻
  • 尋找關鍵攻擊路徑
    • 一些定義
    • 計算神經元之間的影響
    • 執行個體級關鍵攻擊路徑
    • 模型級關鍵攻擊路徑

論文位址:Understanding adversarial robustness via critical attacking route.

Abstract

深度神經網絡 (DNN) 容易受到由具有難以察覺的擾動的輸入生成的對抗性示例的影響。了解 DNN 的對抗性魯棒性已成為一個重要問題,這肯定會導緻更好的實際深度學習應用。為了解決這個問題,我們嘗試從關鍵攻擊路徑的新角度解釋深度模型的對抗魯棒性,該路徑由基于梯度的影響傳播政策計算。類似于社交網絡中的謠言傳播,我們認為對抗性噪音通過關鍵攻擊路線被放大和傳播。通過逐層利用神經元的影響,我們用對模型決策做出最高貢獻的神經元組成關鍵攻擊路線。在本文中,我們首先将對抗性魯棒性與關鍵攻擊路徑聯系起來,因為該路線對對抗環境中的模型預測做出了最重要的貢獻。通過限制這條路徑上的傳播過程和節點行為,我們可以削弱擾動的傳播并提高模型的魯棒性。此外,我們發現關鍵攻擊神經元可用于評估樣本對抗性硬度,具有較高刺激的圖像更容易被幹擾為對抗性示例。

主要貢獻

了解和解釋對抗性示例可以洞察模型的弱點和盲點,為我們提供建構穩健深度學習模型的線索。在社交網絡中,提供更高資訊容量的節點比其他節點更重要,這些節點很可能會傳播謠言并被包含在關鍵路線中。每次擾動的小殘餘對抗性逐漸放大并從底層傳播到頂層,最終導緻錯誤的模型行為。

作者提出了一種基于梯度的影響傳播政策來獲得關鍵攻擊神經元,這将進一步有助于為神經網絡建構神經元的關鍵攻擊路線:

  1. 提出了一種基于梯度的影響逐層傳播方法,以在多個級别(包括執行個體級别和模型級别)提取關鍵攻擊路徑。 關鍵攻擊路徑負責在深度學習模型中傳遞對抗性噪聲和重要的語義資訊。 這條路線有助于了解對抗環境中的模型行為。
  2. 關鍵攻擊路線揭示了深度模型的一些對抗性缺陷。 是以,我們可以通過限制和糾正關鍵攻擊路線内神經元的行為來直接提高對抗對抗樣本和腐敗的魯棒性。
  3. 基于關鍵攻擊路線,我們提出了一種評估樣本對抗性硬度的名額,該名額衡量了我們需要應用于樣本以欺騙模型的對抗性擾動的強度。 這個名額為我們提供了一個機會來判斷圖像被擾亂成對抗樣本的難度。

尋找關鍵攻擊路徑

下一層具有更高梯度的神經元更有可能對下一層的隐藏表示做出更高的貢獻。将這些神經元稱為關鍵攻擊神經元。關鍵攻擊路線由這些關鍵攻擊神經元和它們之間的所有連接配接組成。

首先通過計算反向梯度提取每個圖像的關鍵攻擊路徑。 在為每個圖像提取執行個體級關鍵攻擊路徑後,将執行個體級關鍵攻擊路線聚合到模型級路徑中。具體的,整體流程框圖如下所示:

Understanding adversarial robustness via critical attacking route(通過關鍵攻擊路徑了解對抗魯棒性)Abstract主要貢獻尋找關鍵攻擊路徑

一些定義

給定具有樣本 x ∈ X x\in X x∈X和類标 y ∈ Y y\in Y y∈Y的資料集 D D D,深度監督學習模型嘗試學習一個映射或分類函數 F : X → Y F:X\rightarrow Y F:X→Y。模型 F F F由 L L L個串行的層組成,對于第 l l l層 F l F_l Fl​,其中 l = 1 , . . . , L l = 1,..., L l=1,...,L,包含一個神經元集。使用上标 m m m來表示滿足 F l m ∈ F l F^m_l\in F_l Flm​∈Fl​的第 m m m個神經元。一個神經元 F l m F^m_l Flm​的輸出 Z l m Z^m_l Zlm​相當于第 l l l層特征圖的第 m m m個通道。對抗性示例具有微小的擾動,但能使模型輸出錯誤分類:

F ( x ′ ) ≠ y s . t . ∥ x − x ′ ∥ < ϵ F(x')\neq y \quad s.t.\left \| x-x' \right \|<\epsilon F(x′)​=ys.t.∥x−x′∥<ϵ

計算神經元之間的影響

尋找關鍵神經元的難點是計算兩個相鄰層的神經元之間的影響。通過在反向傳播期間計算神經元之間的梯度,可以有效地解決該問題。事實上,梯度很大程度上取決于核心權重。相反,在最後一層,選擇相對于損失具有更大梯度的神經元。然後,基于它們對後幾層的影響,以反向傳播的形式選擇每一層的關鍵攻擊神經元。例如,通過反向傳播計算第 l − 1 l-1 l−1層的第 i i i個神經元 F l − 1 i F^i_{l-1} Fl−1i​和第 l l l層的第 j j j個神經元 F l j F^j_l Flj​的影響。

Understanding adversarial robustness via critical attacking route(通過關鍵攻擊路徑了解對抗魯棒性)Abstract主要貢獻尋找關鍵攻擊路徑

對于神經元輸出 Z l j Z^j_l Zlj​中的單個元素 z z z,計算第 l l l層第 i i i個神經元輸出 Z l − 1 i Z^i_{l-1} Zl−1i​對單個元素的影響。 使用以下公式:

c l − 1 i , z = ∑ s ∈ S l − 1 i ∣ ∂ z ∂ A ( s , Z l − 1 i ) ∣ ( 1 ) c^{i,z}_{l-1}=\sum_{s\in S^i_{l-1}}\left | \frac{\partial z}{\partial A(s,Z^i_{l-1})} \right | \quad (1) cl−1i,z​=s∈Sl−1i​∑​∣∣∣∣​∂A(s,Zl−1i​)∂z​∣∣∣∣​(1)

其中 S l − 1 i S^i_{l-1} Sl−1i​是第 l − 1 l-1 l−1層第 i i i個神經元中的元素集, A ( ⋅ ) A(·) A(⋅)表示提取特定位置的元素。神經元的影響計算為相對于神經元内每個位置的元素的梯度絕對值之和。為了最好地描述影響,我們認為,應該在考慮 Z l − 1 i Z^i_{l-1} Zl−1i​的所有元素變化方向後添加 ∣ ⋅ ∣ \left | · \right | ∣⋅∣操作。兩個中間層之間的梯度計算過程是基于卷積核參數的,不需要通過鍊式規則計算它們對損失 L L L的梯度。

首先計算 Z l j Z^j_l Zlj​中的每個元素 z z z的 c l − 1 i , z c^{i,z}_{l-1} cl−1i,z​。然後通過對 Z l i Z^i_l Zli​中的所有元素 z z z求和 c l − 1 i , z c^{i,z}_{l-1} cl−1i,z​來計算 Z l − 1 i Z^i_{l-1} Zl−1i​和 Z l j Z^j_l Zlj​之間的神經元影響。請注意,結果是在沒有 ∣ ⋅ ∣ \left | · \right | ∣⋅∣的情況下求和的,因為 Z l j Z^j_l Zlj​中元素值的所有變化都是由并集 Z l − 1 i Z^i_{l-1} Zl−1i​的變化引起的,可以将其視為僅在一個方向上發生變化:

c l − 1 i , j = ∑ z ∈ Z l j c l − 1 i , z ( 2 ) c^{i,j}_{l-1}=\sum_{z\in Z^j_l}c^{i,z}_{l-1} \quad (2) cl−1i,j​=z∈Zlj​∑​cl−1i,z​(2)

執行個體級關鍵攻擊路徑

由于關鍵攻擊路線是使用對下一層(或損失)貢獻最大的神經元形成的,我們可以做出一個關鍵假設,即這條路線包含最關鍵的資訊。路線的少量變化将對模型預測産生巨大影響。換句話說,當模型做出正确的預測時,這條路線傳達了最重要的語義。相反,這條路線也包含了模型被攻擊時的大部分對抗性錯誤。

給定一個樣本 x x x,首先推導出最後一個卷積層 L L L的第 m m m個神經元相對于損失 L L L的梯度,進而産生它們對模型決策的貢獻:

g L m = ∂ L ∂ Z L m ( 3 ) g^m_L=\frac{\partial L}{\partial Z^m_L} \quad (3) gLm​=∂ZLm​∂L​(3)

其中 Z L m Z^m_L ZLm​表示第 L L L層第 m m m個神經元的輸出。

然後,可以通過公式 ( 1 ) ( 2 ) (1)(2) (1)(2)遞歸計算第 l − 1 l-1 l−1層第 i i i個神經元 F l − 1 i F^i_{l-1} Fl−1i​對第 l l l層第 j j j個神經元 F l j F^j_l Flj​的影響。通過根據貢獻考慮前 k % k\% k%的神經元來進一步挑選關鍵的攻擊神經元。對于最後一個卷積層的神經元,我們有關鍵的攻擊神經元:

ω L x = t o p − k ( F L , ∣ g L ∣ ) ( 4 ) \omega^x_L=top-k(F_L,\left | g_L \right |) \quad (4) ωLx​=top−k(FL​,∣gL​∣)(4)

其中 t o p − k ( ⋅ ) top-k(·) top−k(⋅)表示基于特定度量的輸入集的前 k % k\% k%執行個體。稱 k 為關鍵攻擊路徑的寬度。在這種情況下,選擇 g g g作為度量并從集合 F L F_L FL​中選擇 ω L \omega_L ωL​。類似地,根據它們對第 l + 1 l+1 l+1層的關鍵攻擊神經元的影響 c c c,選擇第 l l l層的前 k % k\% k%神經元,遞歸實作:

ω l x = t o p − k ( F l , c ~ l i ) , c ~ l i = ∑ F l + 1 j ∈ ω l + 1 x c l i , j ( 5 ) \omega^x_l=top-k(F_l,\tilde{c}^i_l),\tilde{c}^i_l=\sum_{F^j_{l+1}\in \omega^x_{l+1}}c^{i,j}_ l \quad (5) ωlx​=top−k(Fl​,c~li​),c~li​=Fl+1j​∈ωl+1x​∑​cli,j​(5)

樣本 x x x的關鍵攻擊路徑 R ( x ) R(x) R(x)可以通過不同層的關鍵攻擊節點的連接配接來描述:

R ( x ) = ω 1 x , ω 2 x , . . . , ω L x ( 6 ) R(x)={\omega^x_1,\omega^x_2,...,\omega^x_L} \quad (6) R(x)=ω1x​,ω2x​,...,ωLx​(6)

模型級關鍵攻擊路徑

為了充分探索模型對對抗性噪聲的行為,進一步提出了從執行個體級路由聚合得出的模型級關鍵攻擊路徑 。給定具有 N N N個樣本的資料集 D D D,可以獲得每個圖像的執行個體級關鍵攻擊路線為 R ( x 1 ) , R ( x 2 ) , . . . , R ( x N ) {R(x_1),R(x_2),...,R(x_N)} R(x1​),R(x2​),...,R(xN​)。 然後,對于具體的模型,可以計算出所有執行個體的每一層每個關鍵攻擊神經元的出現頻率為 f f f。選擇最常見的前 k % k\% k%的神經元作為每一層 l l l的模型級關鍵攻擊神經元,如下所示:

Ω l = t o p − k ( F l , f l ) ( 7 ) \Omega_l=top-k(F_l,f_l) \quad (7) Ωl​=top−k(Fl​,fl​)(7)

進而得到模型級的關鍵攻擊路徑:

R ( D ) = Ω 1 , Ω 2 , . . . , Ω L ( 8 ) R(D)={\Omega_1,\Omega_2,...,\Omega_L} \quad (8) R(D)=Ω1​,Ω2​,...,ΩL​(8)

需要注意的是,模型級的關鍵攻擊路線不僅僅是許多不同的關鍵攻擊路線的簡單疊加。執行個體級的關鍵攻擊路徑在執行個體之間具有很大的相似性。

計算過程是一個逐層的過程,根據它們對下一層關鍵神經元的影響來挑選神經元。 這種方法更适用于線性模型。考慮使用分支結構中的梯度總和來處理非線性的模型。

未完待續:通過找到的關鍵神經元提高模型魯棒性的方法之後補充

繼續閱讀