[论文解读]Feature-Guided Black-Box Safety Testing of Deep Neural Networks

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

深度神经网络的功能导向黑盒安全测试

总结: 一种使用蒙特卡洛树搜索的方式来获取反例的方法,使用SIFT提取关键点,并采用两个玩家回合制的方式对关键点进行操作.

初步

预备定义

N , C α c C N ( α , c ) α c N ( α ) = a r g m a x c C N ( α , c ) α c ( ) D : , I R [ 0 , 255 ] w × h × c h , w h c h P 0 = w × h × c h w × h P 0 [ 0 1 ] : L k = α 1 α 2 k L α L k d η ( α , k , d ) = { α   α α k d } 使 L k , α 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: 反例的定义与安全性的定义
α D k 0 L k d c N ( α ) α : α η ( α , k , d ) , N ( α ) N ( α ) , N ( α ) = c ( , a a ( , a ) , a a L k , ) a d v N , k , d ( α , c ) : c a d v N , k , d ( α ) = U c C , c N ( α ) a d v N , k , d ( α , c ) : a d v N , k , d ( α , c ) = : c , a d v N , k , d ( α ) = : ( : C C , ) \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 Λ α G i , p x p y ) : G i , x = 1 2 π λ i , s 2 exp ( ( p x λ i , x ) 2 2 λ i , s 2 ) G i , y = 1 2 π λ i , s 2 exp ( ( p y λ i , y ) 2 2 λ i , s 2 ) λ i , s : , ( λ i , x , λ i , y ) Φ = { φ i } i 1 , 2 , . . . k , : k = Λ ( α ) : k , ϕ i = λ i , r / j = 0 k λ j , r ( k ) : G x = i = 1 k ϕ i × G i , x  and  G y = i = 1 k ϕ i × G i , 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 ) : α x y z R G B , R G B 3 , 1 I = { + , } , τ ( x , y ) z { 1 , 2 , 3 } , X δ X , i : D D δ 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  [ 0 1 ] δ X , i ( α ) ( x y z ( , ) \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距离定义目标函数,并将与一个对抗示例的距离视为衡量其严重性的指标。 注意,对抗性示例的集合 a d v N k d α c advN,k,d(α,c) a d v N k d α advN,k,d(α) 可以是无限的。

定义2:
a d v N , k , d ( α , c ) ( a d v N , k , d ( α ) ) α α arg min α { sev α ( α ) α ad v N , k , d ( α , c ) ( or adv N , k , d ( α ) ) } s e v α ( α ) = α α k , α α : L k \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 × Λ ( α ) ) ) , s 0 , { T a } a { I , I I } , L ) S I , η α k d S × Λ α I I , Λ α α s : s S , s 0 S , α s 0 α : T I S × Λ α S × Λ α , T I s λ = s λ T I I ( S × Λ ( α ) ) × P ( P 0 ) × I S T I I s λ X i = δ X i ( α ( s ) ) s S I λ , I I X i ( ) : S ( S × Λ ( α ) ) C × G s ( ) 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上的像素值

游戏模型路径
s 1 u 1 s 2 u 2 使 k 1 λ k u k = T I ( s k , λ k ) ( X k , i k ) , s k + 1 = T I I ( ( s k , λ k ) , X k , i k ) l a s t ρ ρ , P a t h a F , 使 l a s t ρ a { I I I } I : Path I F D ( Λ ( α ) ) 2 : P a t h T I F D ( P ( P 0 ) × I ) σ = σ I σ I I ( s t r a t e g y   p r o f i l e ) \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 σ I I ) ρ a { 1 , I I } P a t h a F R ( σ , ρ ) σ ( f u l l y   p r o b a b i l i s t i c   s y s t e m ) α ρ = α l a s t ρ ρ t ρ : N ( α ρ ) = c α ρ α k > d , c η ( α , k , d ) t ρ ρ 1 : R σ ρ = { 1 / sev α ( α 0 )  if  t ( ρ )  and  ρ P a t h 1 F λ Λ ( α ) ( ρ ) ( λ ) R ( σ , ρ T T ( last ( ρ ) , λ ) )  if  ¬ t ( ρ )  and  ρ P a t h I F ( X , i ) P ( P 0 ) × I σ I I ( ρ ) ( X , i ) R ( σ , ρ T I I ( l a s t ( ρ ) , X , i ) )  if  ρ Path I I F σ I ( ρ ) ( λ ) I ρ λ , σ I I ( ρ ) ( X , i ) I I ρ X i I , σ I s e v α ( α ρ ) , \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.
I I I σ I I σ I s 0 R σ I σ I I s 0 arg max σ t opt σ I I R ( ( σ I , σ I I ) , s 0 ) o p t σ I I m a x σ I I m i n σ I I n a t σ I I I I , 游戏的目标是让玩家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
o p t σ I I { m a x σ I I , m i n σ I I , n a t σ I I } . , I 当optσII∈\{maxσII , minσII , natσII \}.时,确定性和无记忆策略足以满足玩家I的需要。

问题的复杂性

M α k d , p t i m e a d v N k d α c = h , O ( P 0 h ) 对于博弈模型M(α, k,d),在p-time时间内能确定advN,k,d(α,c)=∅\\ 对于系统最长的有限路径的长度h,状态数(因此也就是系统的大小)O(|P_0|^h)

蒙特卡罗树搜索渐近最优策略

o p t σ I I = m a x σ I I M C T S M α k d M C T S U C B : t c 1 t c 2 , t c 1 t c 2 , r n r 访 n S i m u l a t i o n α 0 1 / s e v α α 0 v r + v n + 1 b e s t C h i l d r o o t r / n r o o t : o p t σ I I = n a t σ I I G Λ α o p t σ I I = m i n σ I I o p t σ I I n a t σ I I m a x σ I I \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算法

在这里插入图片描述

游戏中的严重性间隔

t c 1 t c 2 c , I I o p t σ I I , M C T S α s e v ( M ( α , k , d ) , o p t σ I I ) s e v α ( α ) α M α k d t c 1 t c 2 c o p t σ I I 1 I I S I α k d [ sev ( M ( α , k , d ) , max σ 12 ) , sev ( M ( α , k , d ) , min σ 12 ) ] , s e v ( M ( α , k , d ) , n a t σ I I ) S I ( α , 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)\\

通过最佳策略保证安全

τ , 使 p P 0 , α ( p ) α ( p ) = n τ , ( n 0 ) α η α k d τ G α k d η α k d τ I I     \begin{array}{l} τ是一个正实数,是像素操作中使用的操作幅度\\ 如果对于所有维度p∈P_0,我们都有|α'(p) − α(p)| = n ∗ τ ,(n ≥ 0)\\ 则图像α'∈η(α,k,d)是τ-网格图像\\ 令G(α,k,d)是η(α,k,d)中的τ网格图像的集合\\ 对于参与者II\ 合作\ 的情况,我们有以下结论。\\ \end{array}

定理2
α η α k d τ , 使 α a d v N , k , d ( α , c ) , ( c ) , s e v α ( α ) s e v ( M ( α , k , d ) , m a x σ I I ) 令α'∈η(α,k,d)是任何τ网格图像,使得α' ∈ adv_{N,k,d}(α, c),(其中c是目标类别),\\ 那么我们有sevα(α') ≥ sev(M(α, k, d), max_{σII} )
从直觉上讲,该定理说该算法可以从τ网格图像集中找到最佳对抗示例

如果网络是Lipschitz连续网络,则仅当τ足够小时,才需要考虑τ网格图像。

定理3
τ τ / 2 , s e v ( M ( α , k , d ) , m a x σ I I ) > d , a d v N , k , d ( α , c ) = ( s e v M α k d m a x σ I I > d η α k d τ ) τ s e v M α k d m a x σ I I d 如果所有τ网格图像都是关于τ/ 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 . N L k L i p s c h i t z , 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
N L 1 L i p s c h i t z h τ 2 s e v M α k d m a x σ I I > d a d v N k d α 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证明略

如何评价用例的好坏?

s e v α ( α ) = α α k , α α N , , ( , ) {sev}_{\alpha}\left(\alpha^{\prime}\right) = ||α −α'||_k,是对抗例α'对原始图像α的严重程度\\ 对于N张图片,直接求平均值就是该用例最终的严重性值,这个值越小越好 \\(越小代表距离越小,代表这个反例就越好)

git地址

原项目地址,原项目有很多错误,无法运行程序

fork后项目地址,已经可以正确生成反例,代码在mnist实验中可以使用

发布了71 篇原创文章 · 获赞 21 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_33935895/article/details/103484271