The Enemy of My Enemy is My Friend: Exploring Inverse Adversaries for Improving Adversarial Training

Alt

Question

提出问题: However, it may have a negative impact if a natural example is misclassified(当自然样本(natural example)被错误分类时,传统对抗训练方法可能引发负面影响。)

因为一些对抗训练方法会尝试让模型的对抗样本(adversarial example)和自然样本的输出概率分布尽可能相似。然而,如果自然样本本身就被误分类了,那么这种分布对齐(distribution alignment)可能会把对抗样本也引导到错误的分类区域,进一步削弱模型的鲁棒性。

分布对齐的目的

  • 传统对抗训练中的分布对齐(如TRADES方法)试图让自然样本和对应的对抗样本之间的输出概率更加接近,以增强模型的鲁棒性。
  • 这种方法的假设是自然样本的分类是正确的,因此对齐有助于防止对抗样本落入错误的分类区域。

问题出现的原因

  • 如果自然样本本身已经被模型误分类(如自然样本的标签与模型的预测结果不一致),这种对齐过程可能适得其反。
  • 对抗样本会因为分布对齐被引导到自然样本的错误分类区域,进一步扩大误分类的影响。

负面影响

  • 错误分类的自然样本会对对抗训练过程中的分布对齐产生误导作用,导致模型对这些样本的鲁棒性下降。
  • 这种不必要或有害的对齐可能让模型难以在训练过程中有效学习正确的分类边界。

Method

针对该问题, 文章提出了逆对抗训练(Inverse Adversarial Training, IAT),核心是引入“逆对抗样本(Inverse Adversarial Examples)”

1. 逆对抗样本的概念

逆对抗样本的提出是为了克服传统对抗训练中分布对齐的局限性,具体表现为以下特点:

  • 定义:

    • 逆对抗样本是一种逆向生成的对抗样本,其目标不是最大化分类损失,而是最小化分类损失,将样本引导到其所属类别的高置信区域(high-likelihood region)
    • 它们远离决策边界,使模型对这些样本的预测更加准确,从而弥补自然样本误分类带来的负面影响。
  • 生成方式:

    • 使用类似于传统对抗样本生成的方法(如PGD),但目标函数是最小化损失:
      xinvt+1=ΠB(x,ϵ′)(xinvt−α⋅sign(∇xinvtLinv(xinvt,y))) x_{\text{inv}}^{t+1} = \Pi_{B(x, \epsilon')} \left( x_{\text{inv}}^t - \alpha \cdot \text{sign} \left( \nabla_{x_{\text{inv}}^t} \mathcal{L}_{\text{inv}}(x_{\text{inv}}^t, y) \right) \right) xinvt+1=ΠB(x,ϵ)(xinvtαsign(xinvtLinv(xinvt,y)))

      其中:

      • xinvtx_{\text{inv}}^txinvt:当前迭代生成的逆对抗样本;
      • Linv\mathcal{L}_{\text{inv}}Linv:逆对抗损失函数,通常是交叉熵损失的变种;
      • ϵ\epsilonϵ:逆对抗扰动的最大范数;
      • α\alphaα:步长。
    • 还加入了特征层的正则化项,确保逆对抗样本远离决策边界。


2. 逆对抗训练(IAT)的框架

逆对抗训练的核心是将逆对抗样本引入到对抗训练中,通过调整损失函数来实现对样本的重新分布,使模型更鲁棒:

  • 主要思想

    • 通过最小化逆对抗样本的损失,将对抗样本拉向其正确的高置信区域;
    • 避免了误分类样本对分布对齐的误导作用。
  • 损失函数

    • 逆对抗训练的目标函数为:
      LIAT=LCE(fθ(xadv),y)+λ⋅LKL(p(t)∣∣fθ(xadv)) \mathcal{L}_{\text{IAT}} = \mathcal{L}_{\text{CE}}(f_\theta(x_{\text{adv}}), y) + \lambda \cdot \mathcal{L}_{\text{KL}}(p^{(t)} || f_\theta(x_{\text{adv}})) LIAT=LCE(fθ(xadv),y)+λLKL(p(t)∣∣fθ(xadv))

      其中:

      • xadvx_{\text{adv}}xadv:标准对抗样本;
      • p(t)p^{(t)}p(t):使用动量机制的逆对抗样本概率分布;
      • LCE{L}_{\text{CE}}LCE:交叉熵损失;
      • LKL{L}_{\text{KL}}LKL:Kullback-Leibler (KL) 散度,用于对齐对抗样本和逆对抗样本的分布。
  • 动量机制

    • 为了稳定训练,论文引入了逆对抗样本概率分布的动量机制,通过历史分布的加权平均,减少预测波动:
      p(t)={fθ(xinv),if t<Tγ⋅p(t−1)+(1−γ)⋅fθ(xinv),if t≥T p^{(t)} = \begin{cases} f_\theta(x_{\text{inv}}), & \text{if } t < T \\ \gamma \cdot p^{(t-1)} + (1 - \gamma) \cdot f_\theta(x_{\text{inv}}), & \text{if } t \geq T \end{cases} p(t)={fθ(xinv),γp(t1)+(1γ)fθ(xinv),if t<Tif tT

      • γ\gammaγ:动量因子,用于控制平滑程度。

3. 类特定的逆对抗样本(Class-Specific Inverse Adversaries)

为降低逆对抗样本生成的计算成本,文章提出了一种类特定的逆对抗扰动方法:

  • 方法

    • 让同一类别的样本共享一个通用的逆对抗扰动,而不是针对每个样本生成单独的扰动。

    • 通过PGD方法对每一类的扰动进行优化,以找到一个通用方向,使该类别样本的损失最小化:
      zc=arg⁡min⁡∥zc∥∞<ϵ′1Nc∑i=1NcLinv(xi+zc,yc) z_c = \arg\min_{\|z_c\|_\infty < \epsilon'} \frac{1}{N_c} \sum_{i=1}^{N_c} \mathcal{L}_{\text{inv}}(x_i + z_c, y_c) zc=argzc<ϵminNc1i=1NcLinv(xi+zc,yc)

      • zcz_czc:类别 cc 的通用逆对抗扰动;
      • xix_ixi:属于类别 cc 的自然样本;
      • NcN_cNc:类别 cc 的样本数量。
  • 优点

    • 显著降低了逆对抗样本生成的计算开销;
    • 减少了样本间的个体差异对训练的影响。

4. 实验结果
  • 论文通过实验验证了该方法的有效性:
    • 鲁棒性提升:相比于传统方法(如TRADES和MART),逆对抗训练在多个数据集上的鲁棒性和自然准确率都有显著提升。
    • 计算效率:类特定逆对抗扰动方法显著降低了计算成本,使得该方法在大模型和大数据集上更易实现。
Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐