Page 191 - 《软件学报》2021年第11期
P. 191

黄立峰  等:一种基于进化策略和注意力机制的黑盒对抗攻击算法                                                  3517


                    10.     if  L x <  L x t
                                  ( )   then
                              ˆ ()
                    11.        x t+ 1  ←  ˆ, x δ ←  ˆ x −  x
                    12.        p t+1 ,C t+1 ←Update(Z,p t ,C t )  //更新搜索路径与协方差矩阵
                    13.     end if
                    14. end while
                    15. return δ, ˆ x
                    每次迭代中,主要包含以下两个步骤:
                    (1)  梯度拟合阶段(算法 1 中第 2 行~第 9 行).
                                                                                                     2
                    该阶段基于协方差矩阵对损失函数的梯度方向进行拟合计算:首先,根据当前协方差矩阵从分布N(0,σ C t )
                 中采样若干扰动向量,以此为基础生成偏移向量;然后修改当前对抗样本,产生一组候选样本,通过统计候选
                 样本的损失函数变化值估计梯度方向;最后将拟合的梯度进行归一化处理,结合扰动幅值约束更新对抗样本 ˆ x .
                    为了提高计算效率,受到 ZOO 方法中分层式攻击策略(hierarchical attack)           [27,34] 的启发,ES-Attack 先从低维
                                                                                                     n
                      m
                 空间 R 中随机采样 M 个扰动向量 z 至集合 Z,再基于双线性插值方法将低维向量 z 上采样到图像空间 R 中,
                 最后得到偏移向量 u.关于维度 m 的选择,本文将在第 3.2 节进行讨论.
                    拟合的梯度方向 g t 描述了损失函数 L 在不同方向上的变化趋势,由偏移向量集合 U 中所有的元素加权平
                 均计算得到.在 ES-Attack中,各偏移向量的权重为损失函数的变化量,即让 L减少更多的向量在评估梯度时占有
                 更重要的地位,计算公式如下:
                                             Δ ( , ,)L xu y =  i     ( L x +  t  u    i , )y −  ( L x −  t  u i ,)y    (6)
                                                t
                                                    1
                                                      M
                                                           L x u y
                                               g =− ∑   u ⋅ Δ (, , ),u ∈ U                            (7)
                                                t
                                                   M  i= 1  i  t  i  i
                 其中,本文方法选择使用交叉熵(cross entropy)作为损失函数 L.对于非目标攻击,L(x,y)=logf(x) y ,当 L 减小时,f 输
                 出正确结果 y 的概率也随之减小.对于目标攻击,( , )L xy = −         log( )f x ,L 减小意味着模型 f 输出指定目标标签 y   的

                                                                     y
                 概率增加,本文主要考虑目标攻击.如算法 1 中第 9 行所示,本文选择使用 L 2 攻击生成对抗样本,若替换为
                 ˆ x ←  Clip  , x ε (x +  t  α ⋅  sign( )) 则转变为 L ∞ 攻击,其中,sign 为符号函数.
                                   g
                                    t
                    (2)  参数更新阶段(算法 1 中第 10 行~第 13 行).
                    若更新的对抗样本没有使损失函数减小,则返回步骤(1)梯度拟合阶段,重新采样扰动向量并估计梯度方向;
                 否则视为一次成功的搜索,并基于该次采样的向量数据对扰动和相关参数依次进行更新.在第 t 次迭代过程中,
                 搜索路径与协方差矩阵参数的更新规则定义如下:
                                                         c (2 c−  ) ⎛  1  M  ⎞
                                                 −
                                           p t+ 1  =  (1 c p + )  t  ⎜  z i ⎟ ∑  , z ∈  i  Z          (8)
                                                          σ    ⎝  M  i= 1  ⎠
                                                                  ⎛  1  M  T ⎞
                                                               +
                                            −
                                      C t+  1  =  (1 c −  1  c 2 )C +  t  c 1 (p t+  T 1  ⋅  p t+  1 ) c 2 ⎜  z z i ⎟ ∑  ,z ∈  i  Z  (9)
                                                                        i
                                                                  ⎝  M  i= 1  ⎠
                 其中,c,c 1 和 c 2 分别为搜索路径和协方差矩阵的学习率.更新的路径 p t+1 描述了下一次随机采样的分布均值的移
                 动方向,在该次迭代搜索路径 p t 的基础上,通过对向量集合 Z 中的所有元素平均求和计算得到.这类似于
                 MI-FGSM 方法 [39] 中动量迭代的思想,使向量 z 中相反方向的分量互相抵消,同时叠加相同方向的分量,确保搜索
                 路径沿着损失函数的梯度方向移动.协方差矩阵 C t+1 的更新公式包含了 3 部分,分别是已经学习到的知识 C t 、
                 下一次迭代的搜索路径信息 p t+1 以及满足当前损失函数下降的采样向量集合 Z.一种直观的解释是:协方差矩阵
                 会不断学习历史过程中成功的搜索路径信息,并使下一次随机采样的向量以更大的几率分布在让损失函数减
                 小的方向上.当 ES-Attack的迭代次数达到预设的上限 T或攻击成功时,停止黑盒攻击,并返回当前生成的扰动数
                 据δ和对抗样本 ˆ x .
                    相比之前基于梯度拟合的黑盒攻击方法,本文提出的 ES-Attack 方法有两个明显优势.
                    (1)  有效减少梯度拟合过程的交互查询次数.在 FD-Attack 方法              [26] 与 ZOO 方法 [27] 中,拟合梯度方向所需的
                        查询次数依赖于图像维度的大小.若输入的图像维度为 n(如对于 Inception 模型 n=299×299×3),每次通
   186   187   188   189   190   191   192   193   194   195   196