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),每次通