子空间对抗训练

1 引言

该论文是关于关于对抗训练的文章,论文的代码已经开源。对抗训练是一种可以有效抵御对抗攻击的方法,然而其存在一个严重问题,即在训练过程中,模型会出现过拟合现象,PGD攻击的鲁棒精度突然会下降到0%。在该论文中,作者从一种新的优化角度来处理这个问题,作者首先揭示了每个样本的快速增长梯度与过拟合之间的密切联系,这也可以用于理解多步自适应算法中的过拟合现象。为了控制梯度的增长,作者提出了一种新的对抗训练的方法,即子空间对抗训练,它将对抗训练约束在经过严谨提取的子空间中。实验结果显示,该方法成功地解决了这种模型过拟合问题,并显著提高了模型的鲁棒性,而且时间能耗上也比PGD-10小很多。

论文链接:https://arxiv.org/abs/2111.12229
代码链接:https://github.com/nblt/Sub-AT

2 相关介绍

对抗训练是目前抵御对抗攻击提高模型鲁棒性最有效的方法。给定一个带有参数 w {\bf{w}} w的神经网络 f ( x f({\bf{x}} f(x,其中对抗训练数学形式如下所示 min ⁡ w E ( x , y ) ∼ D [ max ⁡ δ ∈ B ( x , ϵ ) L ( f ( x + δ , w ) , y ) ] \min\limits_{ {\bf{w}}}\mathbb{E}_{({\bf{x}},y)\sim \mathcal{D}}\left[\max\limits_{\delta\in \mathcal{B}(\bf{x},\epsilon)}\mathcal{L}(f({\bf{x+\delta},w}),y)\right] wminE(x,y)D[δB(x,ϵ)maxL(f(x+δ,w),y)]其中 B ( x , ϵ ) \mathcal{B}({\bf{x}},\epsilon) B(x,ϵ)是一个以半径为 ϵ \epsilon ϵ的范数球, L \mathcal{L} L是一个损失函数。对于单步对抗训练来说,内部生成对抗样本的计算公式如下所示 x a d v = x + ϵ ⋅ s g n ( ∇ x L ( f ( x , w ) , y ) ) {\bf{x}}^{\mathrm{adv}}={\bf{x}}+\epsilon\cdot \mathrm{sgn}(\nabla_{\bf{x}}\mathcal{L}(f({\bf{x}},{\bf{w}}),y)) xadv=x+ϵsgn(xL(f(x,w),y))但是对抗训练一个重要的问题的在于可能会出现严重的过拟合现象,其主要原因在于参数量过大。针对这个问题,之前大多数工作关注在于神经网络训练在低维流形的本质。在低维子空间对神经网络训练可以能够在大大减小参数量的同时使得神经网络模型能够达到一个好的分类性能。

3 论文方法

当模型过拟合的现象出现的时候,在测试集中的模型的测试准确率会陡然下降。对抗训练时,神经网络在训练数据中获得了对抗信息,这会使得有害于模型对正常样本的泛化能力,导致正常分类准确率下降,同时也会丢失对于由PGD生成的新的对抗样本的泛化能力。由此可知,对抗信息的学习很难学习,它会导致神经网络在学习过程中出现巨大的波动,从而最终过拟合。
由于对抗样本学习的困难性,作者主要关注每个样本梯度的演化并通过平均梯度范数去分析模型的训练状态。作者主要在本文中去记录利用fast对抗训练方法去抵御PGD-20攻击的平均范数,可以发现当过模型的拟合现象出现时,平均梯度和准确率的会同时突然增大,这个现象也暗示着当模型的过拟合现象出现时,平均梯度范数会突然增大,导致神经网络在学习训练数据的过程中出现巨大的波动,从而导致模型的泛化能力下降。

为了进一步探究梯度增长跟过拟合之间的关系,作者更详细地记录了过拟合现象出现之后的统计数据。由下图可以发现,不管学习的多大,最终模型都会出现过拟合现象,但是一个小的学习率可以使得模型有一个更好的鲁棒性而且也会推迟过拟合现象的出现。所以,对于学习的选取时非常重要的,选取一个合适的学习率它可以通过控制平均提梯度范数的大小从而减缓模型过拟合现象。

3.1 控制梯度大小

由以上的数据分析可知,在模型的训练过程中,如何控制每个样本梯度的大小是非常重要的。论文的核心思想是在一个低维子空间里去限制对抗训练过程中的梯度的大小而不是在整个参数空间中。在该思想下,一个急需要解决的问题就是怎样获得这样一个可以进行有效对抗训练的子空间。最近的研究有研究者提出一个DLDR的算法,它可以有效从训练过程中提取用于优化的低维子空间,主要过程可以分为如下两步:

  • 步骤一: 在模型训练过程中采样获得模型参数向量 { w 1 , w 2 , ⋯   , w t } \{ {\bf{w}}_1,{\bf{w}}_2,\cdots,{\bf{w}}_t\} { w1,w2,,wt},其中每个参数向量的维度为 N N N
  • 步骤二: 对参数矩阵 [ w 1 , w 2 , ⋯   , w t ] [{\bf{w}}_1,{\bf{w}}_2,\cdots,{\bf{w}}_t] [w1,w2,,wt]进行奇异值分解并获得有 d d d维子空间的正交基 [ u 1 , u 2 , ⋯   , u d ] [{\bf{u}}_1,{\bf{u}}_2,\cdots,{\bf{u}}_d] [u1,u2,,ud]

在该论文中,作者主要应用DLDR算法去提取可以有效对抗训练的子空间,这里需要注意的是采样模型参数的时候需要在模型过拟合出现之前。然后,在这个提取子空间里对神经网络的参数进行优化,这样可以有效缓解模型过拟合现象,并能够使模型获得更好的鲁棒性。

  • 采样策略: 对于DLDR算法,作者在每个训练批次中均匀采样两次。在每个采样批次中,模型将获得最好的分类性能。在训练初始阶段,由于子空间没有很好的评估出来,所以采样效果不是很好。

  • 训练性能: 如下图所示 ,子空间对抗训练可以很好将平均梯度范数数值在一个很低的区间里,这不仅可以有效地解决过拟合问题同时耶大大提高了模型的鲁棒性。另外,子空间对抗训练对模型学习率的选取也没有那么严苛,在一个较大学习率区间内模型学习都可以进行很好的收敛。

  • 计算分析: 子空间对抗训练的计算开销分为两部分:DLDR和子空间对抗训练。DLDR又包含两个步骤采样和分解,其中跟采样相比,分解的计算开销可以忽略不计。子空间对抗训练与标准的对抗训练计算开销相当。虽然子空间对抗训练的时间开销要比正常对抗训练的时间开销要大一点,但是训练效果却是要好很多。

4 实验结果

下表所示为不同对抗训练方法在CIFAR-10和CIFAR-100数据集上的结果。作者将子空间对抗训练方法应用于不同的基本对抗训练方法中,并从相应的训练轨迹中提取子空间。可以发现训练在200个的epoch的学习率下,Fast AT和梯度截断FGSM AT仍然会遇到严重的灾难性过度拟合现象。在没有任何其他正则化技术的情况下,论文中提出的子空间对抗训练的方法可以使得模型获得更好的鲁棒性。


如下表所示作者总结了不同学习率的训练结果,并对应汇总了对抗训练的时间能耗。可以发现简单地通过增加训练步长和半径,子空间对抗训练可以显著提高模型对对抗攻击攻击的鲁棒性,而不会遭受灾难性的过度拟合或额外的时间开销,另外与PGD-10对抗训练相比,子空间对抗训练只需要总训练时间的七分之一,这是一个相当大的优势。

从下图的结果可知,子空间对抗训练成功地解决了大学习率的过度拟合问题,并进一步提高了模型的鲁棒性,这表明使用大步长的学习率确实有利于提高模型的鲁棒性。

如下图所示,在一定范围内,较大步长的学习率的训练持续提高了对不同半径攻击的鲁棒性(尤其是对于较大半径的攻击),表明模型的鲁棒性得到了真正的提高。然而,正如预期的那样,也存在局限性,因为过度的扰动将损害训练数据的宝贵信息,也会导致模型性能退化。

5 总结

论文中出现的生词
collapse: 崩溃 fluctuation: 波动
abrupt: 突然的 coincide: 重合
excessive: 过分的 postpone: 推迟
supress: 去除 heuristic: 启发性
delicate: 精致的 overhead: 开销
supress: 去除 heuristic: 启发性
negligible: 忽略不计的 rewind:重新倒带

猜你喜欢

转载自blog.csdn.net/qq_38406029/article/details/124772641