GAN & 对抗样本

关于对抗样本的解释

对于对抗样本为何能够攻击成功,目前有以下三种解释:

  • 高维空间的线性模型解释:当输入为图像时,沿着梯度方向很小的线性运动就可以导致深度神经网络增加很大的扰动,权重向量 ω \omega ω和对抗样本 x ′ x′ x的内积 ω T x ′ = ω T x + ω T n \omega^Tx'=\omega^Tx+\omega^Tn ωTx=ωTx+ωTn,在 n n n维情况下会产生 n n n倍的扰动,以至于改变最终输出结果。(Explaining and harnessing adversarial examples)
  • 数据流形中的低概率区域解释:对抗样本是从总体样本所在概率空间的某一子空间中抽样得到的,因此,对于这些在训练阶段只学习了一些局部子区域,且训练样本个数有限的分类算法而言,对抗样本已经超出了分类器所能学习的概率分布。(A Boundary Tilting Persepective on the Phenomenon of Adversarial Examples)
  • 模型决策边界解释:线性分类器并不总是遵循线性解释的结果,作者认为分类决策边界超出了样本数据的子流形,因此存在对抗样本。(A Boundary Tilting Persepective on the Phenomenon of Adversarial Examples)

GAN原理简介

GAN的整体过程如图所示:
在这里插入图片描述
生成对抗网络( GAN): 给定一批样本,训练一个系统能够生成类似的新样本。其核心思想是博弈论中的纳什均衡,判别器D的目的是判断数据来自生成器还是训练集,生成器的目的是学习真实数据的分布,使得生成的数据更接近真实数据,两者不断学习优化最后得到纳什平衡点。

GAN生成对抗样本的发展

  • 2017,Shumeet Baluja等人提出了对抗变换网络(Adversarial Transformation Networks,ATN)来生成对抗样本,产生了比计算噪声更多样化的扰动。但缺点是,ATN生成的对抗样本,会残留有目标类别的典型模式,如植物纹理、动物眼睛和皮毛等,可迁移性差,扰动较大,存在图像边缘模糊的问题。(2018AAAI-Adversarial transformation networks: Learning to generate adversarial examples)

  • Avishek等人在ATN的基础上进行了GAN训练,生成模型在人脸识别中产生了效果良好的攻击。(2018IEEE MMSP-Adversarial Attacks on Face Detectors using Neural Net based Constrained Optimization)

  • Zhengli Zhao等人在构建GAN训练时使用了不同目标的判别器,试图生成更加自然的对抗扰动。(2018ICLR-Generating Natural Adversarial Examples)

  • Chaowei Xiao等人在GAN方向上做出了较为标准化的工作,提出了advGAN,通过生成器、判别器、目标模型三部分进行了生成对抗训练,使生成器能够生成扰动叠加到原始样本上,实现通用的对抗样本生成。(2018-Generating Adversarial Examples with Adversarial Networks)

  • Puneet Mangla等人提出需要充分利用原始样本的潜在特征进行对抗样本的生成,训练生成接近输入分布的对抗样本,在上一个的基础上使用一个目标模型 M M M中间的卷积层 f f f作为特征提取,提出了advGAN++。(2019-AdvGAN++ : Harnessing latent layers for adversary generation)

  • Xiaosen Wang等人提出了提出了一种新的生成攻击模型,称为AT-GAN(对抗迁移生成对抗网络),以估计对抗样本的分布,通过学习对抗样本的分布,从而从随机噪声中生成不受限制的对抗样本。(2019-AT-GAN: A Generative Attack Model for Adversarial Transferring on Generative Adversarial Nets)

  • Feng CHEN等人将掩码机制(Mask Mechanism)引入GAN体系结构的生成器网络中以优化约束问题,提出FF-GAN,选择对分类器重要的特征进行扰动。(2020IJCNN-Few-Features Attack to Fool Machine Learning Models through Mask-Based GAN)

  • Guoping Zhao等人针对图像检索(CBIR)、人脸搜索(Face Search)、人员重新识别(ReID)等方向的对抗攻击,提出无监督对抗攻击GAN(UAA-GAN),专注于扰动样本的深层视觉特征。(2019-Unsupervised Adversarial Attacks on Deep Feature-based Retrieval with GAN)

  • Lingyun Jiang等人提出了周期一致对抗性GAN(CycleAdvGAN),训练两个生成器分别进行对抗样本生成和恢复对抗样本,可以进行攻防一体地模型训练。(2020SCN-Cycle-Consistent Adversarial GAN: the integration of adversarial attack and defense)

  • Zilong Lin等人针对IDS检测系统提出IDSGAN等。(2018-IDSGAN: Generative Adversarial Networks for Attack Generation against Intrusion Detection)

  • GAN生成的样本具有边缘锐利、更富有多样性的优点,在半监督学习中得到了广泛的应用。但是GAN 也存在训练不稳定,生成的样本容易变形的问题。
  • 在训练GAN时,对生成器额外增加对抗性约束、距离约束,使产生图像在足够真实前提下,对目标模型成功产生对抗攻击效果。
gan对抗样本代码是指用生成对抗网络(GAN)生成对抗样本的实现代码。 GAN是一种机器学习模型,由生成器和判别器组成,能够生成逼真的图像和数据。GAN对抗样本指的是通过对抗学习的方式,生成与原始训练样本相似但能够对抗分类模型的样本。 实现GAN对抗样本的代码通常可以分为以下几个步骤: 1. 数据准备:首先需要准备原始的训练数据集,该数据集包含了各类别的正样本。 2. GAN模型搭建:根据具体的需求,搭建生成器和判别器的网络结构。生成器通常使用反卷积网络,判别器使用卷积网络。可以使用深度学习框架如TensorFlow或PyTorch来创建模型。 3. 训练GAN模型:使用原始数据集对GAN模型进行训练。训练的目标是使生成器生成的样本尽可能接近真实样本,而判别器能够准确区分真实样本和生成样本。训练过程中,需要分别更新生成器和判别器的参数。 4. 生成对抗样本:在训练好的GAN模型中,可以使用生成器来生成对抗样本。输入一些噪声或随机向量作为输入,生成器将生成与原始样本相似但对抗分类器的样本。 5. 对抗样本测试和攻击:生成的对抗样本可以用于测试和攻击分类模型。将对抗样本输入到分类模型中,观察其分类结果。对抗样本测试的目的是为了评估分类模型对对抗样本的鲁棒性。 以上是关于GAN对抗样本代码的基本流程。根据实际需求和具体的数据集,代码实现可能会有所差异,但以上步骤是大致的框架。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值