> 文档中心 > 中科院与腾讯联合出品CVPR2022新作:LAS-AT利用可学习攻击策略进行对抗训练

中科院与腾讯联合出品CVPR2022新作:LAS-AT利用可学习攻击策略进行对抗训练


1 引言

由中科院,腾讯AI实验室以及香港中文大学联合出品的硬核对抗训练的新作LAS-AT发表于CVPR2022。对抗训练被认为是抵御对抗攻击最有效的防御方法,它通常会被描述为求解一个极小极大问题,其性能取决于内部优化生成对抗样本的质量。目前在对抗训练中主流采用的攻击算法是PGD攻击,该算法需要人为手动指定攻击参数,有研究表明在对抗训练的不同阶段中固定的攻击策略会对提高模型鲁棒性带来限制。在该论文中,作者通过引入“可学习的攻击策略”(LAS-AT)的概念,并提出了一种新的对抗训练框架,该算法框架利用强化学习机制自动生成攻击策略,从而进一步提高模型的鲁棒性。

论文链接:https://arxiv.org/abs/2203.06616
代码链接:https://github.com/jiaxiaojunQAQ/LAS-AT

2 方法概述

如下图所示为该论文的方法示意图,可以发现论文中的模型由一个目标网络和一个策略网络所组成。论文作者使用对抗样本去训练目标网络进而提高它的鲁棒性,同时策略网络生成攻击策略去生成对抗样本,由此可见这两个网络是具有竞争关系的。

  • 目标网络: 目标网络是一个用于图像分类的卷积神经网络,可以表示为 y ^ = f w (x) \hat{y}=f_w(x)y^=fw(x),其中 y ^ \hat{y}y^表示的是估计标签, x xx是一张输入图像, w ww是神经网络的参数。
  • 策略网络: 策略网络生成对抗攻击的策略进而去控制对抗样本的生成,其中输入的是一个样本,输出的是一个策略。由于策略网络的参数是逐步被更新的,在不同的训练阶段中,根据目标网络的鲁棒性的情况,给定相同的样本作为输入也会给出不同的策略。令 a={ a 1 , a 2 ,⋅, a M }∈A a=\{a_1,a_2,\cdot,a_M\}\in\mathcal{A}a={a1,a2,,aM}A表示的是一种策略,其中每个元素表示的是一个攻击参数。 A \mathcal{A}A表示的是策略值空间,参数 a m ∈{1,2,⋯   , K m } a_m \in \{1,2,\cdots,K_m\}am{1,2,,Km} K m K_mKm个选项,并且被编码成one-hot向量。在不同的攻击参数下每个参数选项的意义是不同的。比如对于PGD攻击来说,它有三个攻击参数,即攻击步长的大小 α \alphaα,攻击迭代数 I II,以及最大的攻击扰动强度 ε \varepsilonε。每一个参数有 K m K_mKm个可选值,比如攻击步长 α \alphaα的取值范围为 {0.1,0.2,0.3,⋯   } \{0.1,0.2,0.3,\cdots\}{0.1,0.2,0.3,},攻击迭代数 I II的取值范围为 {1,10,20,⋯   } \{1,10,20,\cdots\}{1,10,20,}。对于这些攻击参数的可选值的一个组合可以看作是一个策略。策略网络可以获得给定输入 x xx和参数 w ww的条件概率分布 p(a∣x;θ) p(a|x;\theta)p(ax;θ),其中 x xx是输入图片, θ \thetaθ是策略网络的参数 θ \thetaθ
  • 对抗样本生成器: 给定一个干净的样本,对抗样本的生成过程可以被定义为
    x a d v = x + δ ← g ( x , a , w ) x_{adv}=x +\delta \leftarrow g(x,a,w) xadv=x+δg(x,a,w)其中 x xx表示的是一个干净的样本, x a d v x_{adv}xadv表示的是其对应的对抗样本, a aa是一个攻击策略, w ww表示的是目标网络的参数, g(⋅) g(\cdot)g()表示的是PGD攻击。

3 对抗训练公式化表述

标准对抗训练有固定的攻击策略,可以表示为
min ⁡wE ( x , y ) ∼ DL( f w ( x a d v),y) \min\limits_{w}\mathbb{E}_{(x,y)\sim \mathcal{D}}\mathcal{L}(f_w(x_{adv}),y)wminE(x,y)DL(fw(xadv),y)其中 x a d v = g ( x , a , w ) x_{adv}=g(x,a,w) xadv=g(x,a,w),并且a a a表示的是人为设定的攻击策略。D \mathcal{D} D是训练集,L \mathcal{L} L表示的是交叉熵损失函数,其用于衡量对抗样本 x a d vx_{adv} xadv的预测标签与真实标签y y y之间的距离。
在该论文中,作者代替使用人为设定的样本不可知攻击策略,而是使用一个策略网络去自动生成基于策略 p(a∣x;θ) p(a|x;\theta)p(ax;θ)的样本。在论文中对抗训练的策略可以公式化表示为min ⁡ w E ( x , y ) ∼ D [max ⁡ θ E a ∼ p ( a ∣ x ; θ ) L ( f w( x a d v ) , y ) ] \min\limits_{w}\mathbb{E}_{(x,y)\sim \mathcal{D}}[\max\limits_{\theta}\mathbb{E}_{a\sim p(a|x;\theta)}\mathcal{L}(f_w(x_{adv}),y)] wminE(x,y)D[θmaxEap(ax;θ)L(fw(xadv),y)]与标准的对抗训练相比,最与众不同的地方在于对抗样本的生成方式。标准对抗训练采用的是人为设定的样本不可知的策略 a aa去求解内部优化问题。然而论文中的作者是使用策略网络根据条件概率分布 p(a∣x;θ) p(a|x;\theta)p(ax;θ)去产生一个样本依赖策略,即作者提出的策略是可以学习的,其对抗样本的生成包含策略网络参数 θ \thetaθ,这会导致损失函数是两个网络参数的函数。由该论文提出的对抗训练的公式可知,目标网络和策略网络是有一种相互竞争的关系,即最小化和最大化相同的损失函数。目标网络学习调整参数去抵御对抗攻击策略生成的对抗样本,而策略网络根据给定的攻击目标网络的样本去提高攻击策略。在一开始的训练阶段,目标网络是非常脆弱的,一个弱的攻击就可以使它分类出错,此时,策略网络可以很容易的生成有效的攻击策略,并且策略是多种多样的,因为弱的攻击策略和强的攻击策略都可以成功攻击目标网络。随着训练过程的进行,目标网络变得越来越鲁棒,策略网络不得不去学习生成更强对抗样本的攻击策略。因此,这种博弈机制可以随着策略网络的生成策略的提高逐步促进目标网络的对抗鲁棒性。

4 损失函数项

4.1 评估鲁棒性损失

为了引导策略网络的学习,作者提出了一种新的度量方式去评估对抗攻击,主要使用的是目标网络单步更新的鲁棒性。具体地,一个攻击策略a a a首先被用作去创造一个对抗样本 x a d vx_{adv} xadv,并且该对抗样本通过一阶梯度下降法去单步调整目标网络的参数w w w。如果更新后的目标网络能够正确预测由其它攻击策略 a^ \hat{a} a^生成的对抗样本 x a d va ^x^{\hat{a}}_{adv} xadva^的标签,则此时可以说该攻击策略是有效的。比如说对于PGD攻击,最大对抗扰动强度为8,迭代步数为10,步长为2。评估鲁棒性的损失函数可以表述为
L 2 (θ)=−L(f( x a d v a ^, w ^ ),y) \mathcal{L}_2(\theta)=-\mathcal{L}(f(x^{\hat{a}}_{adv},\hat{w}),y)L2(θ)=L(f(xadva^,w^),y)其中 w^ = w − λ∇w L1 ∣ x a d v \hat{w}=w-\lambda \nabla_w \mathcal{L}_1 |_{x_{adv}} w^=wλwL1xadv是更新目标网络的参数,λ \lambda λ是步长。令 L1 ( w , θ ) = L ( f (x a d v , w ) , y ) \mathcal{L}_1(w,\theta)=\mathcal{L}(f(x_{adv},w),y) L1(w,θ)=L(f(xadv,w),y) x a d va ^ = g ( x ,a^ ,w^ ) x^{\hat{a}}_{adv}=g(x,\hat{a},\hat{w}) xadva^=g(x,a^,w^)是由攻击策略 a^ \hat{a} a^生成的对抗样本,其主要用于评估带有参数 w^ \hat{w} w^的目标网络的鲁棒性。 L2 \mathcal{L}_2 L2被用作去评估攻击策略,需要注意的是 w^ \hat{w} w^不是要被优化的参数,由上公式可知, L2 \mathcal{L}_2 L2的值越大,意味着更新后目标模型更鲁棒。

4.2 预测干净样本损失

一个好的攻击策略应该不仅可以提高目标模型的鲁棒性也能够保持预测干净样本的准确率。在该论文中作者也考虑了单步更新目标模型在预测干净样本的性能,评估攻击策略的损失函数可以被定义为
L 3 (θ)=−L(f(x, w ^ ),y) \mathcal{L}_3(\theta)=-\mathcal{L}(f(x,\hat{w}),y)L3(θ)=L(f(x,w^),y)其中 L3 \mathcal{L}_3 L3θ \theta θ的函数, L3 \mathcal{L}_3 L3的数值越大,意味着更新后的目标模型在分类干净样本中有一个更低的损失值。

结合以上两个损失函数项,该论文方法的对抗训练总损失函数可以表述为min ⁡wE ( x , y ) ∼ D [max ⁡ θ E a ∼ p ( a ∣ x ; θ ) [ L 1( w , θ ) + α ⋅ L 2( θ ) + β ⋅ L 3( θ ) ] ] \min\limits_{w}\mathbb{E}_{(x,y)\sim \mathcal{D}}\left[\max\limits_{\theta}\mathbb{E}_{a\sim p(a|x;\theta)}[\mathcal{L}_1(w,\theta)+\alpha \cdot \mathcal{L}_2(\theta)+\beta \cdot \mathcal{L}_3(\theta)]\right]wminE(x,y)D[θmaxEap(ax;θ)[L1(w,θ)+αL2(θ)+βL3(θ)]]其中α \alpha αβ \beta β表示为 L2 \mathcal{L}_2 L2 L3 \mathcal{L}_3 L3的权衡系数。

5 优化过程

作者提出一个算法交替优化这两个网络的损失函数。给定参数θ \theta θ,优化目标网络的子问题可以表述为
min ⁡wE ( x , y ) ∼ D E a ∼ p ( a ∣ x ; θ )[ L 1 (w,θ)] \min\limits_{w}\mathbb{E}_{(x,y)\sim \mathcal{D}}\mathbb{E}_{a \sim p(a|x;\theta)}[\mathcal{L}_1(w,\theta)]wminE(x,y)DEap(ax;θ)[L1(w,θ)]给定一个干净的样本,策略网络生成一个策略分布p ( a ∣ x ; θ ) p(a|x;\theta) p(ax;θ),从该条件分布中随机采样出一个策略,并用该策略去生成对抗样本。利用以下梯度下降法去更新目标模型的参数
w t + 1= w t − η 1 ⋅ 1 N∑ n = 1N∇ w L(f( x a d vn , w t ), y n ) w^{t+1}=w^{t}-\eta_1\cdot \frac{1}{N}\sum\limits_{n=1}^N\nabla_w \mathcal{L}(f(x^n_{adv},w^t),y_n)wt+1=wtη1N1n=1NwL(f(xadvn,wt),yn)其中N N N表示的是在一个批次中的样本数量, η1 \eta_1 η1表示的是学习率。给定w w w,优化策略网络的参数的子问题可以描述为max ⁡θ J(θ) \max\limits_{\theta}J(\theta)θmaxJ(θ)其中J ( θ ) =E ( x , y ) ∼ D E a ∼ p ( a ∣ x ; θ ) [L1 + αL2 + βL3 ] J(\theta)=\mathbb{E}_{(x,y)\sim \mathcal{D}}\mathbb{E}_{a \sim p(a|x;\theta)}[\mathcal{L}_1+\alpha \mathcal{L}_2+\beta \mathcal{L}_3] J(θ)=E(x,y)DEap(ax;θ)[L1+αL2+βL3]。在这个优化问题中,最大的挑战在于对抗样本生成的过程是不可微的,即梯度信息不能通过对抗样本被反向传播到攻击策略的调整中。另外,还有其它很多不可微的操作,如关系到对抗攻击中迭代次数的选择等,它们很难将梯度信息反向传播到策略网络中。在该论文中作者利用强学学习算法去解决以上不可微的问题,则可以计算目标函数J ( θ ) J(\theta) J(θ)关于参数θ \theta θ的导数为
∇ θ J ( θ )= ∇ θ E ( x , y ) ∼ DE a ∼ p ( a ∣ x ; θ ) [ L 0 ] = E ( x , y ) ∼ D∫ a L 0 ⋅ ∇ θ p ( a ∣ x ; θ ) d a = E ( x , y ) ∼ D∫ a L 0 ⋅ p ( a ∣ x ; θ ) ∇ θ log ⁡ p ( a ∣ x ; θ ) d a = E ( x , y ) ∼ DE a ∼ p ( a ∣ x ; θ ) [ L 0 ⋅ ∇ θ log ⁡ p ( a ∣ x ; θ ) ] \begin{aligned}\nabla_\theta J(\theta)&=\nabla_\theta \mathbb{E}_{(x,y)\sim \mathcal{D}}\mathbb{E}_{a \sim p(a|x;\theta)}[\mathcal{L}_0]\\&=\mathbb{E}_{(x,y)\sim \mathcal{D}} \int_a \mathcal{L}_0 \cdot \nabla_\theta p(a|x;\theta)da\\&=\mathbb{E}_{(x,y)\sim \mathcal{D}}\int_a \mathcal{L}_0 \cdot p(a|x;\theta)\nabla_\theta \log p(a|x;\theta)da\\&=\mathbb{E}_{(x,y)\sim \mathcal{D}}\mathbb{E}_{a\sim p(a|x;\theta)}[\mathcal{L}_0\cdot \nabla_\theta \log p(a|x;\theta)]\end{aligned}θJ(θ)=θE(x,y)DEap(ax;θ)[L0]=E(x,y)DaL0θp(ax;θ)da=E(x,y)DaL0p(ax;θ)θlogp(ax;θ)da=E(x,y)DEap(ax;θ)[L0θlogp(ax;θ)]其中 L0 =L1 + αL2 + βL3 \mathcal{L}_0=\mathcal{L}_1+\alpha \mathcal{L}_2+\beta \mathcal{L}_3 L0=L1+αL2+βL3,从策略的条件分布中采样攻击策略生成对抗样本,关于参数θ \theta θ的近似梯度可以表示为
∇ θ J(θ)≈ 1 N∑ n = 1NL 0 ( x n ;θ)⋅ ∇ θ log⁡ p θ ( a n ∣ x n ) \nabla_\theta J(\theta)\approx \frac{1}{N}\sum\limits_{n=1}^N \mathcal{L}_0 (x^n;\theta)\cdot \nabla_\theta \log p_\theta(a^n|x^n)θJ(θ)N1n=1NL0(xn;θ)θlogpθ(anxn)则策略梯度的参数可以通过梯度上升法被更新为
θ t + 1= θ t + η 2 ⋅∇J( θ t ) \theta^{t+1}=\theta^t + \eta_2 \cdot \nabla J(\theta^t)θt+1=θt+η2J(θt)其中 η2 \eta_2 η2是学习率,θ \theta θw w w被交替更新,其中w w w更新一次,θ \theta θ更新k k k次。

6 收敛性分析

定理1:假定目标函数 L 0 = L 1 +α L 2 +β L 3 \mathcal{L}_0=\mathcal{L}_1+\alpha \mathcal{L}_2+\beta \mathcal{L}_3L0=L1+αL2+βL3满足关于 θ \thetaθ w ww的梯度Lipshitz条件,并且 L 0 \mathcal{L}_0L0在参数空间 Θ \ThetaΘ中是 μ \muμ-强凹的。如果x ^ a d v(x,w) \hat{x}_{adv}(x,w)x^adv(x,w)是在 ϵ \epsilonϵ约束下 ℓ \ell球的 σ \sigmaσ近似解,随机梯度的方差被约束在 σ 2 >0 \sigma^2>0σ2>0内,则 w ww的学习率可以表示为
η 1= min ⁡ ( 1 L 0 , L 0 ( w 0 ) − min ⁡ w L 0 ( w ) δ 2 T L 0 )\eta_1=\min \left(\frac{1}{L_0},\frac{\mathcal{L}_0(w^0)-\min\limits_{w} \mathcal{L}_0(w)}{\delta^2 T L_0}\right) η1=min(L01,δ2TL0L0(w0)wminL0(w))其中 L 0 = L w θ L θ w/u+ L w w L_0=L_{w\theta}L_{\theta w}/u+L_{ww}L0=LwθLθw/u+Lww L 0 \mathcal{L}_0L0的Lipschitz常数,并且满足如下公式
1 T ∑ t = 0 T − 1 E [ ∥ ∇ L 0( w t) ∥ 2 2] ≤ 4 δΔ L 0 T +5 δ L w θ 2 μ\frac{1}{T}\sum\limits_{t=0}^{T-1}\mathbb{E}[\|\nabla \mathcal{L}_0(w^t)\|_2^2]\le 4 \delta\sqrt{\frac{\Delta L_0}{T}}+\frac{5 \delta L^2_{w\theta}}{\mu} T1t=0T1E[L0(wt)22]4δTΔL0+μ5δLwθ2其中 T TT表示的是最大对抗训练的轮数,并且有 Δ= L 0 ( w 0 )− min ⁡wL 0 (w) \Delta=\mathcal{L}_0(w^0)-\min\limits_{w}\mathcal{L}_0(w)Δ=L0(w0)wminL0(w)

由上定理可知,内部最大化的过程可以获得对抗样本 x a d v ∗ x^{*}_{adv} xadvδ \delta δ近似。该论文提出的方法LAS-AT可以以学习率5 δL w θ 2 / μ 5\delta L^2_{w\theta}/\mu 5δLwθ2/μ收敛到一个稳定点。另外,如果5 δL w θ 2 / μ 5\delta L_{w\theta}^2/\mu 5δLwθ2/μ是足够小的,论文中的方法可以找到一个理想带有参数 w⊤ w^{\top} w的鲁棒性模型,并且有一个好的对抗样本 x a d v ∗ x^{*}_{adv} xadv的近似。

7 实验结果

如下两表所示,分别为不同对抗训练的方法在数据集CIFAR10和CIFAR100的鲁棒性的对比结果。可以直观的发现,在大多数攻击场景下,论文中三种方法对抗训练出的模型的性能都优于其它方法对抗训练出的模型,而且在很多情况下,论文中的方法不仅提高了基础模型的鲁棒性,而且提高了干净样本分类的精度。


作者将论文中方法与其他超参数搜索方法进行了比较,包括经典的超参数搜索方法(随机搜索)和两种自动超参数搜索方法。从下图可以看出,论文中方法实现了在所有攻击场景下对抗训练出的模型都达到了最佳的鲁棒性性能。

为了研究LAS-AT的工作原理,作者分析了策略网络在不同训练阶段的攻击策略分布。最大扰动强度的范围设定为3到15,如下图所示为对抗训练期间最大扰动强度的分布演变情况。在对抗训练开始时,分布覆盖了最大扰动强度的所有可选值。每个值都有选择的机会,这确保了对抗样本的多样性。随着对抗训练的进行,小扰动强度的百分比降低。在后期,最大扰动强度的分布被几个大值占据。这一现象表明,策略网络逐渐增加大扰动强度的百分比,以生成更强的对抗扰动,进而目标网络的鲁棒性通过使用强对抗样本进行训练而逐渐增强。