0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于先验指导的对抗样本初始化方法提升FAT效果

CVer 来源:ECCV 2022 作者:ECCV 2022 2022-12-19 09:42 次阅读

中科院信工所/中山大学操晓春教授课题组,香港中文大学(深圳)吴保元教授课题组,腾讯AI Lab共同提出的一种基于先验指导的对抗样本初始化方法已被ECCV2022接收。对抗训练是抵御对抗样本攻击最有效的方法之一。标准的对抗训练往往使用多步的方法来生成对抗样本,如PGD。然而,这需要花费大量时间来计算梯度。为了提高对抗训练的效率,快速对抗训练(FAT)应运而生。但FAT往往存在灾难性遗忘的问题,例如在FAT中后段,训练模型在对抗攻击下的鲁棒准确率会突然急剧下降。针对这个问题,本文通过比较标准对抗训练与FAT的训练过程,发现导致FAT出现灾难性遗忘的原因是FAT中产生的对抗样本(AEs)的攻击成功率在训练中逐渐变低。作者通过提出一种基于先验指导的(Prior-Guided)对抗样本初始化方法来解决FAT中的灾难性遗忘的问题,从而提升FAT的效果。

1. 问题背景

传统的对抗训练可以归类为一个最小最大化优化问题:

其中表示参数为的模型,为损失函数,表示在输入空间上添加的对抗扰动,其大小可以被限制。从而多步的对抗攻击方法可以被定义为:

其中表示在第次迭代时的扰动,表示攻击步长,为将输入影射到的投影。

尽管多步的对抗训练方法可以有效提高模型的鲁棒性,但这往往需要大量时间和计算资源来生成训练中的对抗样本。随后,快速对抗训练通过单步快速梯度符号(FGSM)的方法被提出用以提升生成对抗样本的效率:

其中是最大扰动强度。尽管基于FGSM的对抗训练方法起到了较好的加速效果,但是具有灾难性遗忘的问题,即在使用基于FGSM的方法对抗训练一段时间后,训练模型的鲁棒性会迅速消失,无法抵御PGD所产生的对抗样本的攻击。Wong等人提出了在基于FGSM的对抗样本生成中加入随机初始化,即

其中表示随机初始化,是一个高斯分布。而Andriushchenko等人的工作表明生成对抗样本时添加随机初始化并不能防止灾难性遗忘的发生。

2. 基本先验指导的对抗初始化

2.1 审视灾难性遗忘

对抗训练的灾难性遗忘是指在快速对抗训练中后期模型的鲁棒准确率突然降低到的现象,如下图右所示

dcbe4060-7f1e-11ed-8abf-dac502259ad0.png

这种现象最先由Wong等人发现,随后他们又发现使用FGSM生成对抗样本时使用随机初始化可以延缓灾难性遗忘发生的时间,但是随着训练的进行,灾难性遗忘还是无法避免。

为了研究灾难性遗忘发生的原因,本文首先对基于PGD的标准对抗训练(SAT)以及基于FGSM的快速对抗训练(FAT)中途所生成的对抗样本进行比较和研究。通过观察上图左,本文发现:(1)由标准的FGSM-AT与添加随机初始化的FGSM-RS生成的对抗样本的攻击成功率(ASR)分别在第20个和第74个epoch降低到,从而导致了灾难性遗忘的发生。这预示着如果对抗训练途中生成的对抗样本丧失了攻击性,则模型的鲁棒性会迅速降低;(2)通过比较FGSM-AT与FGSM-RS发现加入随机初始化可以延缓灾难性遗忘的发生,但是无法避免;(3)PGD-2-AT中没有发生灾难性遗忘。由于PGD-2-AT可以认为是带有对抗初始化(adversarial initialization)的FSGM,因此对抗初始化可以提高所生成的对抗样本的质量,尽管进行对抗初始化需要额外的梯度计算。

2.2 基于先验指导的对抗初始化

通过上述观察,本文作者转而思考如何有效的得到对抗初始化而不需要额外的计算开销。作者提出可以使用训练过程中的历史对抗扰动,来作为当前时刻的初始化。而这种历史对抗扰动可以认为是不需要进行额外计算就能得到的先验知识。本文探索了三种利用历史对抗扰动的策略,即(1)先前batch生成的扰动;(2)先前epoch生成的扰动;(3)所有epoch产生的扰动的动量,分别命名为FGSM-BP,FGSM-EP和FGSM-MEP。

Prior From the Previous Batch (FGSM-BP):将上一个batch所生成的对抗扰动存储下来作为当前batch生成对抗样本时的初始化,公式如下:

其中代表第个batch所添加的对抗扰动。

Prior From the Previous Epoch (FGSM-EP):将上一个epoch所生成的对抗扰动存储下来作为当前epoch生成对抗样本时的初始化,公式如下:

其中代表第个epoch所添加的对抗扰动。

Prior From the Momentum of All Previous Epochs (FGSM-MEP):为了充分利用整个训练过程中的历史对抗扰动信息,作者提出使用使用先前所有training epoch中所生成的扰动的动量来作为当前epoch生成对抗样本时的初始化,公式如下:

2.3 Prior-guided Initialization based Regularization

本文还提出了一种基于先验指导初始化的正则化方法来提升模型的鲁棒性。给定先验指导下的初始化,FGSM可以产生当前时刻的对抗扰动。不论是先验指导下的初始化还是当前时刻的扰动都可以用来生成对抗样本。因此迫使这两种方式生成的对抗样本具有相同的输出结果有助于提升所学模型函数的光滑性。所提出的正则项可以加入到训练损失中去来更新模型参数,如下所示:

其中代表上述三种方法之一所生成的先验指导的初始化,代表FGSM使用作为初始化所生成的对抗扰动,是一个常系数项。上述公式中第一项为对抗样本上的交叉熵损失,第二项为与 d的输出之差的距离。第二项的目的是使得学到的模型不仅对当前生成的对抗样本鲁棒,而且对历史的对抗样本也鲁棒。这样,所提出的正则项显式的迫使模型函数在样本周围更加光滑,从而提升模型鲁棒性。

2.4 理论分析

由于在非凸优化问题中梯度的范数与收敛性有关,因此更小的对抗扰动的范数上界有助于对抗训练更快地收敛到局部最小值。本文给出了基于先验指导初始化所生成的对抗扰动的范数上界,即,如下图所示,这比FGSM-RS提出的更小。

dcd4f634-7f1e-11ed-8abf-dac502259ad0.png

3. 实验

3.1 实验设置

本文共使用ResNet-18,WideResNet34-10在CIFAR-10和CIFAR-100上,PreActResNet18在Tiny ImageNet上,以及ResNet-50在ImageNet上评估所提方法的有效性。

CIFAR-10结果

dcead698-7f1e-11ed-8abf-dac502259ad0.png

CIFAR-100结果

dd0c4594-7f1e-11ed-8abf-dac502259ad0.png

Tiny ImageNet结果

dd224d9e-7f1e-11ed-8abf-dac502259ad0.png

ImageNet结果

dd44b1cc-7f1e-11ed-8abf-dac502259ad0.png

消融实验

为了验证所提出的基于经验指导的正则化方法的有效性,本文使用ResNet18在CIFAR-10上进行了消融实验,结果如下。

dd639600-7f1e-11ed-8abf-dac502259ad0.png

4. 总结

在本文中,我们从初始化的角度研究了如何提高对抗样本的质量,并提出采用历史生成的对抗扰动来初始化对抗样本。它可以在没有额外计算成本的情况下生成有效的对抗样本。此外,我们还提出了一种简单而有效的正则化方法提高模型的鲁棒性,从而防止当前扰动与先验引导的初始化偏差太大。正则化项利用历史和当前的对抗性扰动来指导模型学习。广泛的实验评估表明,所提出的方法可以防止灾难性的过度拟合,并以较低的计算成本优于最先进的FAT 方法。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储
    +关注

    关注

    13

    文章

    4296

    浏览量

    85801
  • 函数
    +关注

    关注

    3

    文章

    4327

    浏览量

    62573

原文标题:ECCV 2022 | 一种基于先验指导的对抗样本初始化方法

文章出处:【微信号:CVer,微信公众号:CVer】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ARM Cortex M架构的基本初始化过程是怎样的?

    ARM Cortex M架构的基本初始化过程是怎样的?
    发表于 11-30 08:03

    请问基于studio cubemx生成的基本初始化代码会被使用吗?

    按照新手教程,使用基本的finsh组件;再cubemx设置了相应的配置;连接终端 控制台正常使用,但是没有 logo打印出来。请问 基于 studio,然后再进行cubemx的配置,cubemx生成的基本初始化代码会被使用么? 与driver目录的关系是啥?
    发表于 02-21 10:41

    手机模块初始化向导

    手机模块初始化向导:为了刚好的对手机模块进行初始化,所以把最基本的向导写下来.本向导适用于本公司的西门子TC35I和华为GT9000模块。一、在初始化手机模块前,请先确定DT
    发表于 09-18 09:41 17次下载

    基于SQL的数据库初始化通用方法

    如何对开发的网络测量系统的数据库部分进行初始化,一直是影响测量系统使用的一个难题。文章总结了几种对应用程序的数据库部分进行初始化安装的方法,比较了它们的不足,提出
    发表于 09-26 17:07 0次下载

    RDA1846S初始化设置

    RDA1846S初始化设置RDA1846S初始化设置RDA1846S初始化设置
    发表于 01-15 17:08 0次下载

    LCD1602初始化流程图及程序的两种方法

    本文介绍LCD1602初始化程序及其LCD1602初始化流程、具体步骤实现的两种方法,供电子爱好者及实验使用。
    发表于 10-08 10:01 4.8w次阅读
    LCD1602<b class='flag-5'>初始化</b>流程图及程序的两种<b class='flag-5'>方法</b>

    UCOS_III_配置与初始化

    UCOS_III_配置与初始化
    发表于 12-20 22:53 5次下载

    objc源码中NSObject如何进行初始化

    + alloc 和 - init 这一对我们在 iOS 开发中每天都要用到的初始化方法一直困扰着我, 于是笔者仔细研究了一下 objc 源码中 NSObject 如何进行初始化。 在具体分析对象
    发表于 09-26 09:58 0次下载

    基于深度学习的人脸跟踪自动初始化首帧方法

    针对机器学习领域的人脸跟踪研究,其人脸首帧初始化由人工手动标注的问题,提出了一种基于深度学习的人脸跟踪自动初始化首帧方法。通过建立栈式稀疏自编码神经网络,对大量未标注的样本采用近似恒等
    发表于 11-21 09:01 13次下载
    基于深度学习的人脸跟踪自动<b class='flag-5'>初始化</b>首帧<b class='flag-5'>方法</b>

    基于WRED协议的TCP连接初始化的优化方法

    的优化方法。该方法解决了连接优化的三个关键问题:如何识别和标记SYN包,如何在交换机上为SYN包预留空间以及需要预留多少空间。与原TCP相比,优化后TCP连接建立的时间极大地减少。实验表明TCP连接初始化优化
    发表于 11-29 14:18 0次下载
    基于WRED协议的TCP连接<b class='flag-5'>初始化</b>的优化<b class='flag-5'>方法</b>

    基于先验约束和统计的图像修复算法

    匹配和算法的时效性两个方面进行改进,提出新的图像修复算法。在样本块精确匹配方面,改进算法对图像进行预处理以获得图像的先验信息,并利用先验信息约束算法偏移映射图的初始化,从而转变Patc
    发表于 03-29 17:42 4次下载

    8259a初始化的步骤及代码介绍

    本文首先介绍了8259a工作初始化的步骤及程序,其次介绍了通过OCW对8259A进行操作方法,最后介绍了8259A初始化编程。
    的头像 发表于 05-23 14:24 3w次阅读
    8259a<b class='flag-5'>初始化</b>的步骤及代码介绍

    在51平台下初始化文件的引入导致全局变量无法初始化的问题如何解决

    本文档的主要内容详细介绍的是在51平台下初始化文件的引入导致全局变量无法初始化的问题如何解决。
    发表于 08-20 17:31 0次下载
    在51平台下<b class='flag-5'>初始化</b>文件的引入导致全局变量无法<b class='flag-5'>初始化</b>的问题如何解决

    ADC初始化测定方法

    测试ADC初始化时间的方法
    发表于 12-05 14:45 1次下载

    实战经验 | Keil、IAR、CubeIDE 中变量不被初始化方法

    关键词:不被初始化,编译环境 目录预览 1、前言 2、IAR 实现变量不初始化方法 3、Keil 实现变量不被初始化方法 4、CubeIDE
    的头像 发表于 11-24 18:05 4216次阅读