[論文解讀]Feature-Guided Black-Box Safety Testing of Deep Neural Networks

Feature-Guided Black-Box Safety Testing of Deep Neural Networks

深度神經網絡的功能導向黑盒安全測試

總結: 一種使用蒙特卡洛樹搜索的方式來獲取反例的方法,使用SIFT提取關鍵點,並採用兩個玩家回合制的方式對關鍵點進行操作.

初步

預備定義

N,CαcCN(α,c)αcN(α)=argmaxcCN(α,c)αc()D:,IR[0,255]w×h×ch,whchP0=w×h×chw×hP0[01]:Lk=α1α2kLαLkdη(α,k,d)={α ααkd}使Lk,αd \begin{array}{l} N爲一個神經網絡,C爲其類別數量\\ 給定輸入α和c∈C類\\ N(α, c)表示相信α在c類中的置信度\\ N(α) = arg max_{c∈C }N(α, c)表示將α分入c的類別\\ (就是哪個置信度高分到哪個)\\ \\\\ D:輸入域,可以表示爲IR^{w×h×ch}_{[0,255]},w,h,ch是一個圖片的寬度,高度和通道數\\ P_0 = w × h × ch 是輸入尺寸的集合\\ w×h中的元素稱爲像素,將P0中的元素稱爲尺寸\\ 我們注意到尺寸被歸一化在[0,1]\\ \\ 距離衡量指標: Lk = ||α1 − α2||_k 兩幅圖像的距離 L範數\\ \\ 給定圖像α,距離度量Lk和距離d\\ η(α, k, d) =\{α' | \ ||α' − α||_k ≤ d\} 代表使用Lk範數做爲距離衡量指標後,到α的距離不大於d的點的集合 \end{array}\\

定義1: 反例的定義與安全性的定義
αDk0LkdcN(α)α:αη(α,k,d),N(α)N(α),N(α)=c(,aa(,a),aaLk,)advN,k,d(α,c):cadvN,k,d(α)=UcC,cN(α)advN,k,d(α,c):advN,k,d(α,c)=:c,advN,k,d(α)=:(:CC,) \begin{array}{l} 給定一個輸入α∈D,一個k≥0的距離度量Lk和一個距離d\\ 一個c \neq N(α) 的對抗性用例α'定義爲:\\ α' ∈ η(α, k, d),N(α) \neq N(α'), N(α') = c\\ (這裏意思是,a'和a是兩個測試用例(兩個圖片,a'是反例),a'在a的L_k距離範圍內,但他們兩個屬於不同的類別)\\ adv_{N,k,d}(α, c):c類別的一系列反例\\ adv_{N,k,d}(α) = U_{c∈C,c \neq N(α)}adv_{N,k,d}(α, c):所有類別的反例\\ adv_{N,k,d}(α, c) = ∅:c類的目標安全性安全, \\ advN,k,d(α) = ∅:非目標安全性\\ (理解: 當C類沒有反例C類就安全,所有類沒有就全部都安全) \end{array}\\

特徵提取

Scale Invariant Feature Transform (SIFT)

特點: 無需使用神經網絡就可以進行對象定位和跟蹤

步驟:標度空間極值檢測(檢測圖像中相對較暗或較亮的區域),關鍵點定位(確定這些區域的確切位置)和關鍵點描述符分配(瞭解目標對象的上下文圖片及其本地區域)
ΛαλΛαλxλyλsλrλxλy,λs,λr \begin{array}{l} 設Λ(α)是圖像的一組特徵\\ 其中每個特徵λ∈Λ(α)是一個元組(λx,λy,λs,λr)\\ (λx,λy)是座標,λs是特徵的大小,λr是特徵的響應強度 \end{array}\\

高斯混合模型

αΛα,λiΛαGi,pxpy):Gi,x=12πλi,s2exp((pxλi,x)22λi,s2)Gi,y=12πλi,s2exp((pyλi,y)22λi,s2)λi,s:,(λi,x,λi,y)Φ={φi}i1,2,...k,:k=Λ(α):k,ϕi=λi,r/j=0kλj,r(k):Gx=i=1kϕi×Gi,x and Gy=i=1kϕi×Gi,y(,使/)G(Λ(α)) \begin{array}{l} 給定圖像α及其關鍵點集合Λ(α),我們爲λi∈Λ(α)定義二維高斯分佈G_i,對於像素(px,py)有:\\ \mathcal{G}_{i, x}=\frac{1}{\sqrt{2 \pi \lambda_{i, s}^{2}}} \exp \left(\frac{-\left(p_{x}-\lambda_{i, x}\right)^{2}}{2 \lambda_{i, s}^{2}}\right) \quad \mathcal{G}_{i, y}=\frac{1}{\sqrt{2 \pi \lambda_{i, s}^{2}}} \exp \left(\frac{-\left(p_{y}-\lambda_{i, y}\right)^{2}}{2 \lambda_{i, s}^{2}}\right)\\ λ_{i,s}:方差,(λ_{i,x}, λ_{i,y})分別作爲均值\\ Φ = \{φ_i\}_{i∈{1,2,...k},}:混合模型的權重\\ k = |Λ(α)|:k是關鍵點集合的個數,\phi_{i}=\lambda_{i, r} / \sum_{j=0}^{k} \lambda_{j, r}是權重(k就起到一個表示總個數的作用)\\ 最後的混合高斯模型就是加權:\\ \mathcal{G}_{x}=\prod_{i=1}^{k} \phi_{i} \times \mathcal{G}_{i, x} \text { and } \mathcal{G}_{y}=\prod_{i=1}^{k} \phi_{i} \times \mathcal{G}_{i, y}\\ (就是把數據對應放在高斯混合模型的定義中,權重使用相應強度/所有強度求和)\\ G(Λ(α))爲最後的混合高斯模型 \end{array}\\

有模型之後就可以將一張圖片變成高斯混合模型處理後的圖片

像素操縱(pixel manipulatio)

α(x,y,z):αxyzRGB,RGB3,1I={+,},τ(x,y)z{1,2,3},XδX,i:DDδX,i(α)(x,y,z)={α(x,y,z)+τ, if (x,y)X and i=+α(x,y,z)τ, if (x,y)X and i=α(x,y,z) otherwise [01]δX,i(α)(xyz(,) \begin{array}{l} α(x, y, z):圖像α上位於(x,y)的像素的z通道值(通常爲RGB或灰度值,RGB3個,灰度1個)\\ I = \{+, −\}是一組操作指令,τ是表示操作幅度的正實數\\ 對於所有的像素(x,y)和所有的通道z∈\{1,2,3\},在其輸入子集X上的像素操縱δ_{X,i} : D →D定義爲\\ \delta_{X, i}(\alpha)(x, y, z)=\left\{\begin{array}{l}{\alpha(x, y, z)+\tau, \text { if }(x, y) \in X \text { and } i=+} \\ {\alpha(x, y, z)-\tau, \text { if }(x, y) \in X \text { and } i=-} \\ {\alpha(x, y, z) \quad \text { otherwise }}\end{array}\right.\\ 請注意,如果值是有界的,例如[0,1],則需要將δ_{X,i}(α)(x,y,z)限制在界限之內。\\ (理解就是對一組像素的某個通道統統加上一些值或者減少值,並且要控制最後的值不要超出範圍)\\ \end{array}\\

操作安全

提出了一種功能導向的方法,而不是使用梯度方向作爲優化的指南

基於遊戲的方法

玩家I選擇特徵,而玩家II然後選擇選定特徵中的像素和操作指令

儘管玩家I的目標是最大程度地減少與對抗示例的距離,

但玩家II可以根據高斯混合模型對像素進行採樣,可以是合作者,對抗者或天生的,

我們根據Lk距離定義目標函數,並將與一個對抗示例的距離視爲衡量其嚴重性的指標。 注意,對抗性示例的集合advNkdαcadvN,k,d(α,c)advNkdαadvN,k,d(α)可以是無限的。

定義2:
advN,k,d(α,c)(advN,k,d(α))ααargminα{sevα(α)αadvN,k,d(α,c)(or advN,k,d(α))}sevα(α)=ααk,αα:Lk \begin{array}{l} 在集合adv_{N,k,d}(α, c)(或者 adv_{N,k,d}(α))中找到距原始圖像α最小距離的α'\\ \arg \min _{\alpha^{\prime}}\left\{\operatorname{sev}_{\alpha}\left(\alpha^{\prime}\right) | \alpha^{\prime} \in \operatorname{ad} v_{N, k, d}(\alpha, c)\left(\text {or adv}_{N, k, d}(\alpha)\right)\right\}\\ {sev}_{\alpha}\left(\alpha^{\prime}\right) = ||α −α'||_k,是對抗例α'對原始圖像α的嚴重程度\\ 注意:Lk的選擇將影響感知相似性 \end{array}\\
理解:就是從反例中選一個嚴重性程度最大的(距離最小的)反例

兩層回合制遊戲

將對抗性示例的製作過程轉化爲假設有兩個玩家I和II的兩層回合制遊戲。
M(α,k,d)=(S(S×Λ(α))),s0,{Ta}a{I,II},L)SI,ηαkdS×ΛαII,Λααs:sS,s0S,αs0α:TIS×ΛαS×Λα,TIsλ=sλTII(S×Λ(α))×P(P0)×ISTIIsλXi=δXi(α(s))sSIλ,IIXi():S(S×Λ(α))C×Gs()sλ)N(α(s))GΛ(α(s))) \begin{array}{l} M(α, k, d) = (S ∪ (S × Λ(α))), s_0, \{T_a\}_{a∈\{I,II\}}, L) \\ S爲是屬於玩家I的一組遊戲狀態,每個狀態代表η(α,k,d)中的圖像\\ S×Λ(α)是屬於玩家II的一組遊戲狀態,其中Λ(α)是一組特徵(關鍵點)的圖像\\ α(s):與狀態s∈S相關的圖像,s_0∈S是初始遊戲狀態,α(s0)是原始圖像α\\ 過度關係:T_I:S×Λ(α)→S×Λ(α),T_I(s,λ)=(s,λ)\\ T_{II}:(S×Λ(α))×P(P_0)×I→S定義爲T_{II}((s,λ),X,i)=δ_{X,i}(α(s))\\ 在每個遊戲的狀態s∈S的情況下,玩家I將選擇一個關鍵點λ,玩家II將選擇一個對(X,i)(選擇一組像素點和操作)\\ 標記函數: S∪(S×Λ(α)) → C ×G爲狀態s或()s,λ)分配一個類別N(α(s))和一個二維高斯混合模型G(Λ (α(s)))。 \end{array}\\
理解:T1轉移不會改變狀態與特徵,T2轉移會改變圖像a上的像素值

遊戲模型路徑
s1u1s2u2使k1λkuk=TI(sk,λk)(Xk,ik),sk+1=TII((sk,λk),Xk,ik)lastρρ,PathaF,使lastρa{III}I:PathIFD(Λ(α))2:PathTIFD(P(P0)×I)σ=σIσII(strategy profile) \begin{array}{l} 遊戲模型的路徑是遊戲狀態的序列s1u1s2u2\\ 使得對於所有k≥1,對於某些特徵λk,u_k = T_I(s_k, λ_k) \\ 對於( X_k, i_k) , s_{k+1} =T_{II}((s_k, λ_k), X_k, i_k) \\ 令last(ρ)爲有限路徑ρ的最後狀態,Path^F_a是有限路徑的集合,以使last(ρ)屬於玩家a∈\{I,II\}\\ 參與者I的隨機策略:\operatorname{Path}_{\mathrm{I}}^{F} \rightarrow \mathcal{D}(\Lambda(\alpha))\\ 參與者2的隨機策略:P a t h_{\mathrm{TI}}^{F} \rightarrow \mathcal{D}\left(\mathcal{P}\left(P_{0}\right) \times I\right)\\ σ=(σI,σII)爲策略配置文件( strategy\ profile) \end{array}\\
獎勵函數的定義

σ=σIσII)ρa{1,II}PathaFR(σ,ρ)σ(fully probabilistic system)αρ=αlastρρtρ:N(αρ)=cαραk>d,cη(α,k,d)滿tρρ1:Rσρ={1/sevα(α0) if t(ρ) and ρPath1FλΛ(α)(ρ)(λ)R(σ,ρTT(last(ρ),λ)) if ¬t(ρ) and ρPathIF(X,i)P(P0)×IσII(ρ)(X,i)R(σ,ρTII(last(ρ),X,i)) if ρPathIIFσI(ρ)(λ)Iρλ,σII(ρ)(X,i)IIρXiI,σIsevα(αρ), \begin{array}{l} 爲σ=(σI,σII)和有限路徑\rho \in \bigcup_{a \in\{1, \mathrm{II}\}} P a t h_{a}^{F}定義獎勵R(σ, ρ)\\ 的想法是累積在路徑上發現的對抗性示例的嚴重性度量\\ 注意,給定σ,該遊戲成爲完全概率系統(fully\ probabilistic \ system)。\\ α'_ρ=α(last(ρ))是與路徑ρ的最後狀態關聯的圖像\\ t(ρ): N\left(\alpha_{\rho}^{\prime}\right)=c \vee\left\|\alpha_{\rho}^{\prime}-\alpha\right\|_{k}>d,表示路徑已達到其關聯圖像處於目標類別c或 η(α, k, d)之外的狀態\\ 只要滿足t(ρ),就可以終止路徑ρ\\ 不難發現,由於定義1中的約束,每個無限路徑都有一個可以終止的有限前綴\\ 獎勵函數定義如下:\\ R(σ,ρ)=\left\{\begin{array}{ll}{1 / \operatorname{sev}_{\alpha}\left(\alpha_{0}^{\prime}\right)} & {\text { if } t(\rho) \text { and } \rho \in P a t h_{1}^{F}} \\ {\sum_{\lambda \in \Lambda(\alpha)}(\rho)(\lambda) \cdot R\left(\sigma, \rho T_{\mathrm{T}}(\operatorname{last}(\rho), \lambda)\right)} & {\text { if } \neg t(\rho) \text { and } \rho \in P a t h_{\mathrm{I}}^{F}} \\ {\sum_{(X, i) \in \mathcal{P}\left(P_{0}\right) \times I} \sigma_{\mathrm{II}}(\rho)(X, i) \cdot R\left(\sigma, \rho T_{\mathrm{II}}(l a s t(\rho), X, i)\right) \text { if } \rho \in \operatorname{Path}_{\mathrm{II}}^{F}}\end{array}\right.\\ σI(ρ)(λ) 是玩家I在ρ上選擇λ的概率,σII(ρ)(X, i)是玩家II基於ρ的選擇(X,i)的概率\\ 路徑僅終止於玩家I的狀態\\ 如果找到一個反例,則分配獎勵是嚴重程度(最小距離)的倒數,否則,如果是其子項,則是獎勵的加權總和\\ 因此,最大化回報的策略σI將需要最小化嚴重性sev_α(α'_ρ), \end{array}\\

理解,就是按照給定方法搜索,直到滿足距離條件,或者不在距離條件內就停止搜索

定義3.
IIIσIIσIs0RσIσIIs0argmaxσtoptσIIR((σI,σII),s0)optσIImaxσIIminσIInatσIIII, 遊戲的目標是讓玩家I根據玩家II的策略σII選擇策略σI最大化初始狀態s0的獎勵R((σI,σII),s0),即\\ \arg \max _{\sigma_{\mathrm{t}}} \operatorname{opt}_{\sigma_{\mathrm{II}}} R\left(\left(\sigma_{\mathrm{I}}, \sigma_{\mathrm{II}}\right), s_{0}\right)\\ 其中選項optσII可以是maxσII,minσII或natσII\\ 玩家II可以根據高斯混合模型對像素進行採樣,可以是合作者,對抗者或天生的,
定理1
optσII{maxσII,minσII,natσII}.,滿I 當optσII∈\{maxσII , minσII , natσII \}.時,確定性和無記憶策略足以滿足玩家I的需要。

問題的複雜性

Mαkd,ptimeadvNkdαc=h,O(P0h) 對於博弈模型M(α, k,d),在p-time時間內能確定advN,k,d(α,c)=∅\\ 對於系統最長的有限路徑的長度h,狀態數(因此也就是系統的大小)O(|P_0|^h)

蒙特卡羅樹搜索漸近最優策略

optσII=maxσIIMCTSMαkdMCTSUCB:tc1tc2,tc1tc2,rnrn調Simulationα01/sevαα0vr+vn+1bestChildrootr/nroot:optσII=natσIIGΛαoptσII=minσIIoptσIInatσIImaxσII \begin{array}{l} 首先考慮optσII=maxσII的情況\\ MCTS算法通過對模型M(α,k,d)的策略空間進行採樣來逐步擴展部分博弈樹\\ MCTS以上限置信度上限(UCB)作爲探索方案,在理論上即充分探索遊戲樹時,它會收斂至最優解\\ 終止條件:tc1和tc2,tc1控制整個過程是否應終止,tc2控制何時進行移動,終止條件可以是例如迭代次數的界限等\\ 在部分樹上,每個節點都維護有一對(r,n),分別代表累積的獎勵r和訪問次數n\\ 擴展葉節點以將其子級添加到部分樹後,我們調用Simulation在每個子節點上運行模擬。\\ 在新節點上進行的模擬是從節點開始的遊戲直到終止爲止\\ 玩家在模擬過程中隨機行動。每個模擬在到達終止節點α0時終止,在該節點上可以計算獎勵1/sevα(α0)。\\ 然後,該獎勵將從新子節點通過其祖先反向傳播,直到到達根節點爲止。\\ 每次通過節點反向傳播新的獎勵v時,我們都會將其關聯對更新爲(r + v,n + 1)\\ bestChild(root)返回具有最高r / n值的root的子代\\ 其他情況:optσII=natσII的情況,通過選擇G(Λ(α))來選擇一個孩子,而不是選擇最好的孩子,\\ 對於optσII=minσII的情況,選擇最差的孩子\\ 我們注意到當optσII∈{natσII,maxσII}時,博弈不是零和。\\ \end{array}\\

MCTS算法

在這裏插入圖片描述

遊戲中的嚴重性間隔

tc1tc2c,IIoptσII,MCTSαsev(M(α,k,d),optσII)sevα(α)αMαkdtc1tc2coptσII1IISIαkd[sev(M(α,k,d),maxσ12),sev(M(α,k,d),minσ12)],sev(M(α,k,d),natσII)SI(α,k,d) 假設我們有固定的終止條件tc1和tc2以及目標類別c,給定玩家II的選項optσII,\\ 我們有一個MCTS算法來計算對抗性示例α'\\ 設sev(M(α, k, d), optσII)爲sev_α(α')\\ 其中α'是通過在輸入M(α,k,d),tc1,tc2,c上的optσII運行算法1而返回的對抗示例\\ 於玩家II的角色,存在一個嚴重度區間SI(α,k,d)\\ \left[\operatorname{sev}\left(M(\alpha, k, d), \max _{\sigma_{12}}\right), \operatorname{sev}\left(M(\alpha, k, d), \min _{\sigma_{12}}\right)\right]\\ 此外, sev(M(α, k, d), natσII ) ∈ SI(α, k, d)\\

通過最佳策略保證安全

τ,使pP0,α(p)α(p)=nτ,(n0)αηαkdτGαkdηαkdτII   \begin{array}{l} τ是一個正實數,是像素操作中使用的操作幅度\\ 如果對於所有維度p∈P_0,我們都有|α'(p) − α(p)| = n ∗ τ ,(n ≥ 0)\\ 則圖像α'∈η(α,k,d)是τ-網格圖像\\ 令G(α,k,d)是η(α,k,d)中的τ網格圖像的集合\\ 對於參與者II\ 合作\ 的情況,我們有以下結論。\\ \end{array}

定理2
αηαkdτ,使αadvN,k,d(α,c),(c),sevα(α)sev(M(α,k,d),maxσII) 令α'∈η(α,k,d)是任何τ網格圖像,使得α' ∈ adv_{N,k,d}(α, c),(其中c是目標類別),\\ 那麼我們有sevα(α') ≥ sev(M(α, k, d), max_{σII} )
從直覺上講,該定理說該算法可以從τ網格圖像集中找到最佳對抗示例

如果網絡是Lipschitz連續網絡,則僅當τ足夠小時,才需要考慮τ網格圖像。

定理3
ττ/2,sev(M(α,k,d),maxσII)>d,advN,k,d(α,c)=(sevMαkdmaxσII>dηαkdτ)τsevMαkdmaxσIId 如果所有τ網格圖像都是關於τ/ 2的錯誤分類聚合器,並且sev(M(α, k, d), maxσII ) > d,\\ 那麼advN,k,d(α, c) = ∅\\ (注意,sev(M(α,k,d),maxσII)> d表示η(α,k,d)中的所有τ圖像都不是對抗性示例。)\\ 該定理表明,要實現完整的安全性驗證,可以逐漸減小τ直到sev(M(α,k,d),maxσII)≤d\\
定義4
α,αD,N(α,N(α))N(α,N(α))<hααk.NLkLipschitz,h>0, 若α, α' ∈ D, 我們有 |N(α', N(α)) − N(α, N(α))| <h · ||α' − α||_k. \\那麼網絡N是關於距離L_k的Lipschitz網絡,且h >0,。
理解:將a'分到a所在類的置信度減掉將a分到a所在類的置信度小於一個值,那麼就是L網絡

我們的常用網絡都是L網絡.
=min{N(α,N(α))N(α,N(α))α,αD,N(α)N(α)} \ell=\min \left\{\left|N\left(\alpha^{\prime}, N(\alpha)\right)-N(\alpha, N(\alpha))\right| | \alpha, \alpha^{\prime} \in \mathrm{D}, N\left(\alpha^{\prime}\right) \neq N(\alpha)\right\}
將l設爲類別更改的最小置信度差,l的值在[0,1]之間

定理4可以看作定理3的實例化

定理4
NL1Lipschitzhτ2sevMαkdmaxσII>dadvNkdαc= 令N爲關於L1的Lipschitz網絡和常數h。\\ 當\tau \leq \frac{2 \ell}{\hbar}且sev(M(α,k,d),maxσII)> d時,adv_{N,k,d}(α,c)=∅。
理解: 保證安全一共有兩個條件,一是t值的範圍,二是嚴重性超過某個值

1/e-收斂,因爲我們使用的是有限遊戲,所以當遊戲樹完全擴展時,可以保證MCTS收斂

定理3和定理4證明略

如何評價用例的好壞?

sevα(α)=ααk,ααN,,(,) {sev}_{\alpha}\left(\alpha^{\prime}\right) = ||α −α'||_k,是對抗例α'對原始圖像α的嚴重程度\\ 對於N張圖片,直接求平均值就是該用例最終的嚴重性值,這個值越小越好 \\(越小代表距離越小,代表這個反例就越好)

git地址

原項目地址,原項目有很多錯誤,無法運行程序

fork後項目地址,已經可以正確生成反例,代碼在mnist實驗中可以使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章