[advGAN]Generating Adversarial Examples With Adversarial Networks

article/2025/10/29 18:29:18
这周读论文。。读的是这篇反正。这个内容比较新,网上也没啥有特别有价值的参考内容,把学习笔记发上来,希望能有一点点帮助

嗯似乎是提出了用GAN以解决神经网络安全性的问题。。。



  • 白盒攻击
攻击者能够获知机器学习所使用的算法,以及算法所使用的参数。攻击者在产生对抗性攻击数据的过程中能够与机器学习的系统有所交互。
  • 黑盒攻击
攻击者并不知道机器学习所使用的算法和参数,但攻击者仍能与机器学习的系统有所交互.比如可以通过传入任意输入观察输出,判断输出。

FGSN,好像是一个挺牛的算法。。

已发现深度神经网络(DNN)容易受到对输入的小幅度扰动造成的对抗性例子的影响。 这种敌对的例子可能会误导DNN以产生对手选择的结果
已经提出了不同的攻击策略来产生敌对性的例子,但是如何以更高的感知质量和更有效率地产生它们需要更多的研究努力
有点云里雾里。。。。

Adversarial Examples 对抗样本
好像是一个用来欺骗网络的样本? 有啥用?
文章发现,通过在原图是加入一些 不可察觉的非随机扰动 ,可以极大改变网络的预测结果。这些扰动是通过最大化预测误差来训练获得输入的,称这种输入为对抗样本。
https://www.zhihu.com/question/49129585 如何看待机器视觉的“对抗样本”问题,其原理是什么?)

原文对对抗样本的解释

attack algorithms

白盒和黑盒 感觉可能就是一个过程可见和一个过程不可见吧。。

论文的重点来了! 贡献如下 (良心论文啊)

1.与以前的基于优化的方法不同,我们训练一个有条件的对抗网络来直接产生敌对的例子,这些例子都是感性逼真的,并且针对不同的目标模型实现了最先进的攻击成功率
2.我们证明AdvGAN可以通过训练蒸馏模型来攻击黑盒模型。 我们建议动态训练带有查询信息的蒸馏模型,实现高黑箱攻击成功率和有针对性的黑箱攻击,这对于基于转移性的黑盒攻击来说很难实现。
3.我们使用最先进的防御方法来抵御敌对的例子,并证明AdvGAN在当前防御下实现更高的攻击成功率。
4.我们在Ma˛dry等人的MNIST挑战(2017a)上应用AdvGAN,在半白盒设置中发布的鲁棒模型的准确率为88.93%,黑盒子设置的准确率为92.76%,赢得挑战中的顶级位置( Ma˛dry等,2017b)。


Here we review recent work on adversarial examples and generative adversarial networks
Adversarial Examples: FGSM 应用一阶损失函数来构建对抗样本 ; the cross-entropy loss:交叉熵损失 ; objective function:目标函数

Black-box Attacks
transferability phenomenon:可转移现象 ;目前大部分的黑盒攻击策略都是依据这玩意
我们的AdvGAN可以执行黑盒攻击 但是不依赖转移性

Generative Adversarial Networks
这个。。没啥好讲的,,


进入正题!
3.2是讲白盒攻击的 3.3是讲黑盒攻击的
GENERATING ADVERSARIAL EXAMPLES WITH ADVERSARIAL NETWORKS
PROBLEM DEFINITION:
instance:例子

这个歪歪扭扭的X是特征,Rn是特征空间,n是特征数量。假设(x_i,y_i)是训练集内的第i个实例
。。。
反正就是要搞出一个x让输出不对 就对了!

ADVGAN FRAMEWORK:
框架如图:

有一个生成器G,一个辨别器D,还有一个要被愚弄的NN f 。。
把x 和 G(x)一起丢进Discriminator里。
D是干啥用的呢?用于区分生成的数据和原始实例x。D的目标是鼓励生成的实例与原始类中的数据无法区分。(有点抽象, 不太好理解)
为了愚弄NN我们先实现一个白盒攻击
对抗损失函数:

这个式子仔细一看!卧槽居然是和GAN的模型是一样的

感觉这个L_GAN就是用来衡量x和x+G(x)相近程度的呀
注意 这里的x是从真实的x里面抽取的



这个L_adv是啥呢,
这个东西就叫他 l _f 吧

首先, l_f是损失函数,啥都可以,例如cross-entropy loss (这里应该是这个损失函数就NN用来调整参数的损失函数,区分开黑白盒)
这个L_adv的作用似乎是用来鼓动NN f朝着t靠近( 有点不懂 没错就是靠着t 因为输出t就是最终目标!现在我们探讨的是目标攻击
我觉得这里应该写错了


这个L_hinge ,大概是用来控制稳定性的?
c是我们自定义的边界,文中没有给出参考的数字

反正最后吧三个加在一起,用DG二人博弈梯度下降应该就OK了 大概就这个意思吧


不管 先往下看
BLACK-BOX ATTACKS WITH ADVERSARIAL NETWORKS
Static Distillation:
这上来一个副标题就看不懂。。。黑盒攻击 假设没有对手的数据和模型的先验知识。
那么就建立一个蒸馏模型f(x)

f(x)和b(x)分别表示给定训练图像x的 蒸馏模型的输出 和 黑盒模型的输出,
反正就是要模拟出一个黑盒中的模型咯

Dynamic Distillation:
只有使用所有原始训练数据对蒸馏模型进行训练是不够的,因为尚不清楚黑盒和蒸馏模型在生成的对抗示例上有多近,而这些示例在训练集中尚未出现。(感觉还可以理解啊


动态蒸馏的 每次迭代分为两步。
1.Update Gi given a fixed network

f0为静态蒸馏出来的f 那么就可以得到G 和 D
2.Update fi given a fixed generator Gi:


想想似乎可行。。。



问题::
怎么样才算是成功的攻击?
个人见解::生成的x+G(x)在肉眼上与x无分辨,但是却可以扰乱NN的判断

那么似乎每次攻击都要去判断一下生成的X+G(X)是否与X相同??

这玩意的缺点是什么?
首先如果上面的猜想是正确的话那就是一个缺点。。。但这个应该是每个对抗样本都有的缺点
二 GAN有的缺点他都有。。。
三蒸馏的f时候真的能和黑盒中的NN无限接近??


http://chatgpt.dhexx.cn/article/Dxl8TIet.shtml

相关文章

Adversarial Learning

GAN KL散度,JS散度 传统GAN 在辨别器最优时,生成器的loss为 根据KL,JS散度, 但是如果两个分布完全没有重叠的部分,或者它们重叠的部分可忽略时 JS散度始终未log2 而这对于梯度下降方法意味着——梯度为0 生成样本分布的支撑集就…

Adversarial Detection methods

文章目录 Kernel Density (KD)Local Intrinsic Dimensionality (LID)Gaussian Discriminant Analysis (GDA)Gaussian Mixture Model (GMM)SelectiveNetCombined Abstention Robustness Learning (CARL)Adversarial Training with a Rejection Option Energy-based Out-of-distr…

【小家Spring】Spring AOP各个组件概述与总结【Pointcut、Advice、Advisor、Advised、TargetSource、AdvisorChainFactory...】

每篇一句 基础技术总是枯燥但有价值的。数学、算法、网络、存储等基础技术吃得越透,越容易服务上层的各种衍生技术或产品 相关阅读 【小家Spring】Spring AOP原理使用的基础类打点(AopInfrastructureBean、ProxyProcessorSupport、Advised、AjType&…

ADDA: Adversarial Discriminative Domain Adaptation

ADDA原理理解 ADDA中源域和目标域经过不同的映射来实现对齐。 ADDA的目标函数包括三项: 1.源域的分类误差项 2.域分类器的分类误差项 3.生成器在目标域的误差项 1.源域的分类误差项 源域数据在经过映射Ms后的分类误差最小: 2.域分类器的分类误差项 …

IllegalStateException: Cannot find current proxy: Set 'exposeProxy' property on Advised to 'true'

在使用 Async 注解实现异步线程的时候,为了能够在同类中调用,使用AopContext获取类的实例,结果报错: 调用如下: GetMapping("test03")public void testAsync03() throws InterruptedException {log.info(&…

ADVISOR - 1

文章目录 1. ADVISOR 是什么1. 2 ADVISOR 可以用来做什么1.3 ADVISOR 不能做什么 1. ADVISOR 是什么 它是基于 MATLAB/Simulink 开发的一系列模型、数据以及脚本,能帮助我们快速分析传统车、纯电车以及混动车的性能和油耗。 能找到的最新的 ADVISOR 版本是 2003&a…

Advisor-Advisee Relationship

一、实习目的及要求 此次实习的任务中有Advisor-advisee Relationships (AARs)和通过分别计算AAR的概率而取得的共同作者关系。在数据中,用八个4位代码表示作者。 数据从合作双方的学术经历,合作经历的角度提取了特征。例如,如果已知A与B在…

ADV

悦谷首城 我司是专业的房产服务公司,主要从事北京拆迁安置房买卖中介、房屋租赁中介、代办房屋权证、房屋产权过户手续、垫资开发商房款,收拆迁房子指标,房产信息咨询等业务。公司经营上追求规模化、规范化、服务一体化。公司本着“诚信为本…

【Spring源码三千问】Advice、Advisor、Advised都是什么接口?

Advice、Advisor、Advised都是什么接口? 前言版本约定正文Advice、Advisor、Advised 类图AdviceMethodInterceptor AdvisorPointcutAdvisor AdvisedSpring AOP 代理类可以转换为 Advised 类型 小结 前言 在看 Spring AOP 的源码时,经常可以看到 Advice、…

【小家Spring】Spring AOP原理使用的基础类打点(AopInfrastructureBean、ProxyProcessorSupport、Advised、AjType)

每篇一句 没被洪水灌溉过,你怎么能证明这个城市的下水道架构师合理的呢? 相关阅读 【小家Spring】探索Spring AOP中aopalliance的Joinpoint、MethodInvocation、Interceptor、MethodInterceptor… 【小家Spring】Spring AOP原理使用的基础类打点&#x…

Spring AOP名词解释Advice,Pointcut,Advisor,Joinpoint,Advised是什么?

Advice advice解释为通知,需要执行的增强逻辑方法。 advice规范接口如图,分为了before,after等等,为什么没有around呢,因为是通过interceptor实现的。 这里可以看出,AfterAdvice最终会被转换包装成AfterR…

Advised,Advisor,Advice,Pointcut

2019独角兽企业重金招聘Python工程师标准>>> Advised->在Spring中创建了AOP代理之后,就能够使用org.springframework.aop.framework.Advised接口对它们进行管理。 任何AOP代理都能够被转型为这个接口,不论它实现了哪些其它接口 Advisor-&g…

Spring AOP编程官方文档解读之操作Advised对象

Spring AOP编程官方文档解读目录 文章目录 org.springframework.aop.framework.Advised是啥?看一下下面这个类结构图 可以看到无论是ProxyFactoryBean还是ProxyFactory最终都实现了这个接口、这个接口中的方法非常的多,我们随便看一下 public interfac…

arduino知识点梳理(二)——INPUT_PULLUP模式

参考文章1 参考文章2 arduino的引脚模式有三种: INPUT——输入模式OUTPUT——输出模式INPUT_PULLUP——输入上拉模式 Arduino 微控制器自带内部上拉电阻。如果需要使用内部上拉电阻,则应使用pinMode()将引脚设置为输入上拉(INPUT_PULLUP&am…

Pull Up Field(字段上移)

两个子类拥有形同的字段 重构:将该字段移至超类

HAL库 output level 和 pull up/ pull down 的区别

从标准库过来的朋友可能对这两个选型有点分不清除 GPIO output level 即输出模式下初始化后端口的电位(高或低) GPIO Pull-up/Pull-down 即输入模式下的电位,例如按键检测

处理概括关系之一 :Pull Up Field(值域上移)

两个subclasses 拥有相同的值域。 将此一值域移至superclass。 动机(Motivation) 如果各个subclass 是分别开发的,或者是在重构过程中组合起来的,你常会发现它们拥有重复特性,特别是值域更容易重复。这样的值域有时拥有…

Push pull, open drain circuit, pull up, pull down resistor

Push pull 就以下面這個 電路來說, 因為沒有 pull up resistor, 所以 output voltage 由 low 往 high 的速度會較快。有兩個電晶體,一個on,一個 off, 可以 current sourcing,也可以 current sinking&#x…

上拉(Pull Up )或下拉(Pull Down)电阻详解

上拉(Pull Up )或下拉(Pull Down)电阻(两者统称为“拉电阻”)最基本的作用是:将状态不确定的信号线通过一个电阻将其箝位至高电平(上拉)或低电平(下拉&#x…

BetterScroll 2.x 的 pulldown 使用、pullup使用

官方文档:https://better-scroll.github.io/docs/zh-CN/plugins/ BetterScrol滚动原理 有唯一的子节点子节点必须超出包裹的高度new BScroll(‘容器名’) html内容必须已经渲染完成 绿色部分为 wrapper,也就是父容器&#xff…