CW攻击(论文笔记)

2023-12-21 13:10
文章标签 笔记 攻击 论文 cw

本文主要是介绍CW攻击(论文笔记),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

 

摘要

1.介绍

2.背景

2.1 攻击模型

2.2 神经网络和符号

2.3 攻击样例

2.4 距离度量

3 攻击算法

3.1 L-BFGS

3.2 FGSM

3.3 JSMA

3.4 Deepfool

4. 实验

5. 作者的方法

5.1 目标函数

 5.2 盒约束

5.3 各种方法的评估


摘要

摘要大概介绍了对抗学习的背景以及本文的创新点。神经网络很容易受到攻击,我们在输入一个样本x到一个模型model中,只要在x上添加少量噪声,就可以在人看不出来的情况下改变模型model的输出。背景可以参照《Adversarial Learning Targeting Deep Neural Network Classification: A Comprehensive Review of Defenses Against Attacks》,这是一篇介绍比较全面的综述论文。最近提出了一种蒸馏算法,这个算法可以提高神经网络的鲁棒性,使当前的算法的攻击成功率从95%降低到0.5%。本文提出了三种新的攻击算法,成功攻击了蒸馏和未蒸馏的神经网络,且成功率达到了100%。

这边安利李宏毅老师的机器学习课程,里面也讲到了对抗学习的入门知识。

原文链接:https://arxiv.org/abs/1709.03842

1.介绍

介绍大概讲了下载神经网络应用非常广,但是又非常容易收到攻击,防御蒸馏算法是一种非常厉害的算法,击败了现有的攻击算法(FGSM和JSMA)。作者构造了三种攻击(基于L_1L_2L_\infty距离度量)的算法。还建议了使用搞置信度对抗样本评估模型的鲁棒性。也评估了目标函数的选择。

2.背景

2.1 攻击模型

没啥好讲的

2.2 神经网络和符号

假设神经网络是一个函数F(x),是一个m分类器,输入是一个n为向量,输出是一个有后验概率组合的向量y。输出是经过softmax函数处理的。神经网络有n层,每一层都是一个子函数F_i,数据网络可以表示为:

F = softmax \circ F_n \circ F_{n-1} \circ ... \circ F_1

每一层函数

F_i = \sigma(\theta_i \cdot x ) + \hat{\theta_i}

2.3 攻击样例

作者提出了三种选择攻击的目标类的方法。

  • 平均情况:随机选择不正确的标签
  • 最好情况:选择攻击难度最小的标签
  • 最坏情况:选择攻击难度最难的标签

2.4 距离度量

距离度量函数为L_p,可定义为

L_p = {||x - x'||}_p

{||x - x'||}_p定义为

{||x'||}_p = (\sum_{i=1}^{n}{|v_i|^p})^\frac{1}{p}

L_\infty定义为max(|x_1 - x_1'|,|x_2 - x_2'|,...,|x_n - x_n'|)

3 攻击算法

3.1 L-BFGS

Szegedy等作者将攻击的问题转化为约束最小化问题,给定一个imagex,找到另外一个imagex0,imagex和imagex0距离相似,但是输出标记不同。这个问题定义为

minimize      ||x - x'||_2^2

such that     C(x') = l

                    x' \in [0,1]^n

这个问题很难处理,这个作者转化为

minimize      c \cdot ||x - x'||_2^2 + loss_{F,l}(x')

such that     x' \in [0,1]^n

3.2 FGSM

这个比较简单,略

3.3 JSMA

对于一对像素点(p,q),定义了两个参数

\alpha_{pq} = \sum_{i \in \{ p,q \}}{\frac{\partial Z(x)_t}{\partial x_i}}

\beta_{pq} = (\sum_{i \in \{ p,q \}} \sum_{j} {\frac{\partial Z(x)_t}{\partial x_i}) -\alpha_{pq}

这个算法选择

(p^*,q^*) = argmax_{(p,q)}(-\alpha_{pq} \cdot \beta_{pq}) \cdot (\alpha_{p,q} > 0) \cdot (\beta_{pq} < 0)

3.4 Deepfool

Deepfool是一种基于超平面分类的攻击算法。比较复杂,想知道参考原著。

4. 实验

图4.1

 图4.1是运用的模型的结构和超参数。作者训练的模型的准确率达到了99.5%和80%。

5. 作者的方法

作者将问题转化为

minimize D(x,x+\delta)

such that C(x+\delta) = t

                x + \delta \in [0,1]^n

\delta是加入的扰动,t是攻击的标签,D是距离度量,作者使用了L_0L_2L_\infty。这样问题就转化为了优化问题。

5.1 目标函数

C(x+\delta) = t是一个高度非线性的等式,很难求解上述公式,所以作者采用了目标函数f替代,并且C(x+\delta) = t当且仅当f(x+\delta) \leq 0。下列列举了一些目标函数f

f_1(x')= -loss_{F,t}(x') + 1

f_2(x')=(\underset{i \neq t}{max}(F(x')_i) - F'(x')_t)^+

f_3(x') = softplus(\underset{i \neq t}{max}(F(x')_i) - F'(x')_t) - log(2)

f_4(x') = (0.5 - F(x')_t)^+

f_5(x')=-log(2F(x')_t)^+

f_6(x') = (\underset{i \neq t}{max}(Z(x')_i) - Z'(x')_t)

f_7(x') = softplus(\underset{i \neq t}{max}(Z(x')_i) - Z'(x')_t) - log(2)

(e)^+表示max(e,0), softplus(x)表示log(1+exp(x))loss_{F,s}(x)代表x的交叉熵损失。

优化问题进一步转化为

 minimize D(x,x+\delta)

such that f(x+\delta) \leq 0

                x + \delta \in [0,1]^n

不等式优化可以转化为等式优化问题

 minimize D(x,x+\delta) + c \cdot f(x+\delta)

such that x + \delta \in [0,1]^n

 如果D(x,x+\delta)实体化后,问题就变成了给出x,求\delta的问题了。公式中c是一个常数,用来调节优化效果和噪声大小的偏重。作者做了c和攻击成功概率关系的实验。

图5.1

 5.2 盒约束

对于任何的\delta,需要保证0 \leq x_i + \delta \leq 1,为了保证这个条件,作者研究了三种方法解决这个问题。

1)Projected gradient descent

2)Clipped gradient descent

f(x+\delta)替代为f(min(max(x+\delta,0),1))

3)Change of variables

\delta_i转化为\frac{1}{2}(tanh(w_i)+1)-x_i,因为tanh(x)的值域在-1到1之间,所以保证了\delta_i + x_i的值在0到1之间。

5.3 各种方法的评估

之后就是一些实验和评估,不赘述了。

这篇关于CW攻击(论文笔记)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/520111

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi