利用对抗变化网络进行对抗训练

1 引言

 前一段时间解读了一篇发表于CVPR2021的一篇文章《Improving the Transferability of Adversarial Samples with AdversarialTransformations》,解读文章的链接为《CVPR2021:对抗变换提高对抗样本的可迁移性》。该论文的创新点是首先对抗训练出一个对抗变换网络,该对抗变换网络的核心作用是用来抑制对抗样本攻击性,然后借助对抗变换网络生成对抗样本,最终生成的对抗样本在攻击性和可迁移性的方面能力得到了显著的提高。由此启发一个想法油然而生,如果利用论文中方法生成对抗样本对分类器模型进行对抗训练,那么是不是会使分类器模型的更加鲁棒呢?带着这个问题展开本文章的理论分析和实验验证。

2 方法描述

x ∈ R n × 1 x\in\mathbb{R}^{n\times 1} xRn×1表示干净的数据样本,其对应的真实标签为 y ∈ { 1 , ⋯   , k } y\in\{1,\cdots,k\} y{1,,k};带有参数 θ \theta θ的分类器网络为 f θ ( x ) f_{\theta}(x) fθ(x),其映射为 f θ : R n × 1 → R k × 1 f_\theta:\mathbb{R}^{n\times1}\rightarrow\mathbb{R}^{k\times1} fθ:Rn×1Rk×1;带有参数 φ \varphi φ的对抗变换网络 g φ ( x ) g_{\varphi}(x) gφ(x),其映射为 g φ : R n × 1 → R n × 1 g_{\varphi}:\mathbb{R}^{n\times 1}\rightarrow \mathbb{R}^{n\times 1} gφ:Rn×1Rn×1;损失函数为 J ( ⋅ , ⋅ ) J(\cdot,\cdot) J(,)。生成对抗样本 x ′ ∈ R   n × 1 x^{\prime}\in \mathbb{R}^{\ n\times 1} xR n×1一般的优化形式为 max ⁡ x ′ J ( f θ ( x ′ ) , y ) s . t . ∥ x ′ − x ∥ ∞ ≤ ε \begin{array}{rl}\max\limits_{x^{\prime}}& J(f_{\theta}(x^{\prime}),y)\\\mathrm{s.t.} & \|x^{\prime}-x\|_{\infty}\le \varepsilon\end{array} xmaxs.t.J(fθ(x),y)xxε其中 ∥ ⋅ ∥ ∞ \|\cdot\|_\infty 表示的是无穷范数, ε \varepsilon ε表示的是对抗样本 x ′ x^{\prime} x和干净样本 x x x之间的最大扰动距离。
当前常用样本数据变换的方式比较固定,比如翻转,缩放,颜色变换等。对抗变换网络的主要目的增强样本变换多样性,从而抑制对抗扰动的攻击性。在生成对抗样本的时候,则需要克服对抗变换网络削弱对抗攻击性的条件下,依然能够使得分类器模型分类出错。对抗变换网络训练与对抗样本生成的对抗目标可以用如下 min ⁡ \min min- max ⁡ \max max公式给出 min ⁡ φ max ⁡ x ′ J ( f θ ( g φ ( x ′ ) ) , y ) s . t . { ∥ x ′ − x ∥ ∞ ≤ ε arg ⁡ max ⁡ f θ ( g φ ( x ) ) = y \begin{array}{rl}\min\limits_{\varphi}\max\limits_{x^{\prime}}&J(f_{\theta}(g_{\varphi}(x^\prime)),y)\\\mathrm{s.t.}&\left\{\begin{aligned}\|&x^{\prime}-x\|_{\infty}\le\varepsilon\\&\arg\max f_{\theta}(g_{\varphi}(x))=y\end{aligned}\right.\end{array} φminxmaxs.t.J(fθ(gφ(x)),y){xxεargmaxfθ(gφ(x))=y其中对抗变换网络 g φ ( ⋅ ) g_{\varphi}(\cdot) gφ()可以是 C N N \mathrm{CNN} CNN网络,也可以是 V i s i o n   T r a n s f o r m e r \mathrm{Vision \text{ } Transformer} Vision Transformer,在以下的实验方法中会着重对这两种网络架构进行探讨。
 借助对抗网络 g φ ( ⋅ ) g_{\varphi}(\cdot) gφ()生成的对抗样本 x ′ x^{\prime} x对分类器模型 f θ f_{\theta} fθ进行对抗训练。此时对抗训练的目标可以由双 min ⁡ \min min- max ⁡ \max max进行描述 min ⁡ θ max ⁡ x ′ min ⁡ φ max ⁡ x ′ J ( f θ ( g φ ( x ′ ) ) , y ) s . t . { ∥ x ′ − x ∥ ∞ ≤ ε arg ⁡ max ⁡ f θ ( g φ ( x ) ) = y \begin{array}{rl}\min\limits_{\theta}\max\limits_{x^{\prime}}\min\limits_{\varphi}\max\limits_{x^{\prime}}&J(f_{\theta}(g_{\varphi}(x^\prime)),y)\\\mathrm{s.t.}&\left\{\begin{aligned}\|&x^{\prime}-x\|_{\infty}\le\varepsilon\\&\arg\max f_{\theta}(g_{\varphi}(x))=y\end{aligned}\right.\end{array} θminxmaxφminxmaxs.t.J(fθ(gφ(x)),y){xxεargmaxfθ(gφ(x))=y利用对抗变换网络对分类器网络进行训练的双 min ⁡ \min min- max ⁡ \max max对抗训练的原理示意图如下所示

min ⁡ \min min- max ⁡ \max max对抗训练有两种训练方式。一种方法就是分阶段进行对抗训练,即将双 min ⁡ \min min- max ⁡ \max max对抗训任务分解成两个 min ⁡ \min min- max ⁡ \max max对抗训练任务。另一种方法就是直接整体对双 min ⁡ \min min- max ⁡ \max max任务进行对抗训练。

  • min ⁡ \min min- max ⁡ \max max分阶段对抗训练:第一阶段进行内部最小最大对抗训练,主要目的训练对抗变换网络 g φ ( ⋅ ) g_{\varphi}(\cdot) gφ(),具体的最小最大目标函数为 min ⁡ φ max ⁡ x ′ J ( f θ ( g φ ( x ′ ) ) , y ) ⟶ φ ∗ \min\limits_{\varphi}\max\limits_{x^{\prime}}J(f_{\theta}(g_{\varphi}(x^{\prime})),y)\longrightarrow \varphi^* φminxmaxJ(fθ(gφ(x)),y)φ
    其中 φ ∗ \varphi^{*} φ表示的是对抗变换网络参数 φ \varphi φ训练成熟之后的参数。对以上最小最大目标函数与再进行拆解可知,当借助于对抗变换网络生成对抗样本,另外我们也需要使得对抗样本对原始的分类器模型产生攻击效果,此时最大化损失函数 L a t t a c k = J ( f θ ( g φ ( x ′ ) ) , y ) + γ J ( f θ ( x ′ ) , y ) L_{attack}=J(f_\theta(g_{\varphi}(x^{\prime})),y)+\gamma J(f_{ \theta}(x^{\prime}),y) Lattack=J(fθ(gφ(x)),y)+γJ(fθ(x),y)当训练对抗变换网络参数 φ \varphi φ时,我们希望对抗变换网络不仅可以抑制对抗样本的攻击性,而且尽可能保留干净样本的特征,此时最小化损失函数 L t = J ( f θ ( g φ ( x ′ ) ) , y ) + α 1 J ( f θ ( g φ ( x ) ) , y ) + α 2 ∥ x ′ − g φ ( x ′ ) ∥ 2 L_{t}=J(f_{\theta}(g_{\varphi}(x^{\prime})),y)+\alpha_1 J(f_{\theta}(g_{\varphi}(x)),y)+\alpha_2 \|x^{\prime}-g_{\varphi}(x^{\prime})\|^2 Lt=J(fθ(gφ(x)),y)+α1J(fθ(gφ(x)),y)+α2xgφ(x)2阶段一相关的算法流程图如下所示

    第二阶段进行外部最小最大对抗训练,其主要目的是训练分类器网络参数 θ \theta θ,具体的极大极小目标函数为 min ⁡ θ max ⁡ x ′ J ( f θ ( g φ ∗ ( x ′ ) ) , y ) ⟶ θ ∗ \min\limits_{\theta}\max\limits_{x^{\prime}}J(f_{\theta}(g_{\varphi^{*}}(x^{\prime})),y)\longrightarrow \theta^{*} θminxmaxJ(fθ(gφ(x)),y)θ其中 θ ∗ \theta^{*} θ表示的分类器模型网络参数 θ \theta θ进行对抗训练成熟之后的参数。此时最大化生成对抗样本的损失函数即为上面的提到 L a t t a c k L_{attack} Lattack,最小化分类器损失函数即是正常的交叉熵函数 L c L_{c} Lc。阶段二相关的算法流程图如下所示
  • min ⁡ \min min- max ⁡ \max max整体进行对抗训练:一次对抗训练的过程为先生成对抗样本,然后训练对抗变换网络,再生成对抗样本,最后训练分类器模型参数 θ \theta θ,。具体的目标函数为 min ⁡ θ max ⁡ x ′ min ⁡ φ max ⁡ x ′ J ( f θ ( g φ ) , y ) ⟶ φ ∗ , θ ∗ \min\limits_{\theta}\max\limits_{x^{\prime}}\min\limits_{\varphi}\max\limits_{x^{\prime}}J(f_{\theta}(g_{\varphi}),y)\longrightarrow \varphi^{*}, \theta^{*} θminxmaxφminxmaxJ(fθ(gφ),y)φ,θ其中 φ ∗ \varphi^{*} φ θ ∗ \theta^{*} θ为训练成熟的参数。 将分阶段对抗训练的损失函数 L a t t a c k L_{attack} Lattack L t L_{t} Lt L c L_c Lc融合在一次对抗训练中。整体对抗训练的算法流程图如下所示

3 实验方法

选取的网络结构是 V G G 19 \mathrm{VGG19} VGG19,选取的数据集是 C K + \mathrm{CK+} CK+,学习率为 0.0002 0.0002 0.0002,训练的 e p o c h \mathrm{epoch} epoch 100 100 100。生成对抗攻击的算法中的参数中 γ \gamma γ取值为 1 1 1。训练对抗变换网络超参数中 α 1 \alpha_1 α1 1 1 1 α 2 \alpha_2 α2取值为 0.0001 0.0001 0.0001。选取的 b a s e l i n e \mathrm{baseline} baseline算法有正常训练, p g d \mathrm{pgd} pgd对抗训练, f a s t \mathrm{fast} fast对抗训练。具体的实验结果如下表所示,本文提出的两种方法对抗训练的效果并不是很好。

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道2024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值