Helper-based Adversarial Training: Reducing Excessive Margin to Achieve a Better Accuracy vs. Robust

文章研究了深度网络在对抗训练中引起的决策边界的变化,文章发现,对抗训练会导致某些对抗性的边界无端增加,从而损害准确性,基于这种现象,本文提出了一种新的的算法:Helper-based Adversarial Training (HAT)。通过在训练过程中加入额外的错误标记来减少这种影响,我们提出的方法在不影响鲁棒性的情况下,提高了显著的精度,与现有的防御相比,他在准确性和鲁棒性之间取得了更好的权衡。

本文的一个逻辑方向是:

首先,证明了AT会导致在标准训练网络计算的输入空间的敌对方向上的边缘余量过度增加

其次,确定了过度的边缘余量与AT导致的精度下降之间的关系

最后,提出了新的AT方案来减少方向裕度,在不丧失鲁棒性的情况下,获得更好的准确性。

参数:

输入空间:\chi \subseteq \mathbb{R}^d

\theta参数化的神经网络f_{\theta}:\chi\rightarrow \mathbb{R}^c,C 是输出类别的数量

F_\theta = arg\max_kf_\theta(x)_k:f_\theta对x的预测的类

给定分类器F_\theta(x),输入x和单位向量\widehat{r}\in\mathbb{S}^{d-1},沿\widehat{r}方向的x处的边缘\mu定义为:

 标准网络:只在干净样本上训练的网络;鲁棒网络:通过对抗训练训练的网络

初始对抗方向:

标准的网络f_{\theta },输入数据集\left \{ \left ( x_i,y_i \right ) \right \}_{i=1}^n

初始对抗方向的集合定义为:\Re _{init}=\left \{ r_{i}/\left \| r_{i} \right \|_2 \right \}_{i=1}^n,

 AT会导致边缘剩余

首先在toy和cifar10上面进行实验,结果表明,AT在初始对抗方向上会导致多余的边缘增加,而不是达到所需鲁棒性象征性增加,其次,数据证明,边缘的增加和clean精度的降低之间存在直接的联系

采用两种理论来假设:沿着初始对抗方向的猛烈增长与clean精度降低直接相关的,在实际中,边缘越大,准确率的下降的也就越大

  • 用Ortiz-Jimene等人的观察补充了假设:具有小边界的输入空间的方向,以及在标准网络情况下的初始对抗方向,与网络学习到的鉴别特征相关。这些方向对于网络的性能是至关重要的,因此沿着这些方向急剧增加的边缘余量可能是clean精度降低的原因。
  • 第二,我们使用TRADES 在CIFAR-10上训练一个鲁棒网络,使用不同的权衡参数β值。随着β的增加,我们观察到沿Rinit的裕度增加和相应的清洁精度降低,这进一步证实了我们的假设。最后,我们也承认,在TRADES的情况下,随着边缘余量的增加,稳健准确性也会提高。

Helper-based Adversarial Training

对抗训练在初始对抗方向上引发了无理由裕度增加,从而阻碍了网络在这些方向上使用高度鉴别特征,本文提出了一种Helper-based AT简称HAT,以减少过多的方向裕度,为此,引入了额外的训练样本,称为helper样本,这些样本是在对抗训练过程中动态生成的,特别是,通过外推训练过程中发现的对抗扰动来构造一个helper样本,并且(可能是错误的)被一个标准训练的网络标记,

通过让网络预测对抗样本x'的正确标签yi。沿任何对抗性方向推进至决策边界,并在helper样本上预测\widetilde{y_i}\left ( \widetilde{y_i}\neq y_i \right )usually以相对保留标准网络所建模的鉴别特征,与对抗性训练相反,这允许在某种程度上防止不期望的裕度过度增加,从而可以在干净样本上实现显著更好的性能。

与现有的对抗训练方案相比,HAT持续降低了准确性和鲁棒性之间的差距约2-4%。

loss

loss由三部分组成:

  1. clean样本上的CE损失
  2. 以标量\beta加权的对抗样本上的KL发散损失
  3. \gamma加权的helper样本上的额外CE损失

HAT算法:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
build-helper-maven-plugin:jar:1.8是一个用于构建Java项目的Maven插件。该插件提供了一些辅助功能,以帮助简化和优化项目构建过程。 首先,build-helper-maven-plugin:jar:1.8可以帮助我们在构建过程中处理一些非常规的任务。例如,它可以通过添加额外的源代码目录来扩展项目的结构,以便在构建过程中包含其他源代码。这对于多模块项目或需要集成外部代码库的项目非常有用。 此外,该插件还提供了一些用于处理资源文件的功能。我们可以使用该插件来复制或移动资源文件到特定的目录,以便在构建过程中正确地包含这些文件。这对于需要在构建期间处理和转换资源文件的项目非常有用,例如压缩JavaScript或CSS文件。 另一个重要的功能是build-helper-maven-plugin:jar:1.8可以帮助我们在构建过程中处理依赖关系。它可以自动将特定的依赖项添加到项目配置中,以便在编译和运行时正确地解决这些依赖项。这对于需要从其他模块或项目引入代码或库的项目非常有用。 除了以上提到的功能,build-helper-maven-plugin:jar:1.8还提供了其他一些辅助功能,如将构建生成的文件添加到构建输出中,生成版本号等。 综上所述,build-helper-maven-plugin:jar:1.8是一个功能强大的Maven插件,可以帮助我们更轻松地构建和管理Java项目。通过提供一些辅助功能,它提高了项目的灵活性和可维护性,使我们能够更加高效地进行构建过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值