explaining and harnessing adversarial examples

Goodfellow 大神 2015年在 ICLR上的 神作。开始拜读

1、对抗样本

对抗样本是指,从人眼来看,与哪些模型正确估计的模型相差不大,但是模型却估计错误,甚至错的很离谱,前沿的算法模型,不管是基于机器学习,还是基于神经网络的,都很容易在对抗样本上估计错误。

在实际中训练神经网络时,确实出现一个怪象,就是,往往在测试集上性能特别好,但是在实际应用中,性能比较低。有一种可能是,模型没有学习到真正的隐喻特征,所以在遇到数据分布中,出现概率很低的数据,识别性能很低。

2、FGSM的符号

输入样本是 xxx

对抗样本是 x^=x+η\hat{x} = x +\etax^=x+η

现在来对 η\etaη 进行定义和限制,输入的 xxx 受精度限制,应为输入图片的RGB都是8个字节的,因此最小的精度为 1/2551/2551/255,可以称这个精度为 eee,小于这个的精度的都不被识别。

那么,如果,η\etaη 中的每个维度都小于精度,即
∥η∥∞<e \|\eta\|_\infty < e∥η∥∞<e

插一个解释,这种是最大范数约束,即向量η\etaη中的绝对值最大的元素,不能超过 e。

接下来往下说,那对于 xxx 和 x^=x+η\hat{x} = x +\etax^=x+η 来说,我们期望模型的输出估计应该是一致的。

w⊤x^=w⊤x+w⊤η \mathbf{w}^{\top} \hat{x} = \mathbf{w}^{\top}x + \mathbf{w}^{\top} \etaw⊤x^=w⊤x+w⊤η

所以针对 正常的 xxx 来说,经过一层卷积之后,扰动 η\etaη 变成

w⊤η \mathbf{w}^{\top} \etaw⊤η

现在就是想让这种扰动最大化

w⊤η=max⁡∣ηi∣<e∑iwiηi \mathbf{w}^{\top} \eta = \max\limits_{|\eta_i|<e}\sum_{i}w_i \eta_iw⊤η=∣ηi∣<emaxi∑wiηi

首先,要求 w⊤η\mathbf{w}^{\top} \etaw⊤η 的最大值,可以把向量www和η\etaη每个维度对应相乘,那么要想整个数值最大,最基本的,应该是wiw_iwi和ηi\eta_iηi 二者同向,同向一定产生正值,反向一定产生负值,有负值存在的情况下,w⊤η\mathbf{w}^{\top} \etaw⊤η,一定不是最大值。所以
η=sign(w)\eta = sign(w)η=sign(w)

就很好理解了。

再次观察 w⊤η\mathbf{w}^{\top} \etaw⊤η,来估计下,整个变化有多大,假如 www 的维度为n,每个维度的平均大小为m , η\etaη 中每个维度的扰动都取最大值 e,那么w⊤η\mathbf{w}^{\top} \etaw⊤η之后,扰动可以增加 emnemnemn

背后的意思是,每个维度的扰动都很小,但是有n个维度,每个维度都在同方向加贡献,那扰动就会成倍的增加,Goodfellow 论文里的核心观点之一:

对抗样本不是模型太复杂,而是模型太"线性 + 高维"

一个简单的线性模型也有对抗样本,如果模型的输入维度非常高,

2、FGSM

η=ϵ sign⁡ ⁣(∇xJ(θ,x,y)) \eta = \epsilon \, \operatorname{sign}\!\left(\nabla_x J(\theta, x, y)\right) η=ϵsign(∇xJ(θ,x,y))

相关推荐
海上彼尚3 分钟前
Nodejs也能写Agent - 22.LangGraph篇 - 上下文工程
前端·javascript·人工智能·langchain·node.js
Tangyuewei22 分钟前
单 Agent 不够用了:AI 编程进入舰队模式
人工智能
艾斯特_23 分钟前
工作流与多Agent协作:LangGraph、MCP和A2A的应用分层
人工智能·python·ai
悟天特斯26 分钟前
智慧楼宇AI节能:从数据采集到智能决策的全链路实践
大数据·人工智能
腾视科技AIoT29 分钟前
私有云时代来临:AI NAS如何重塑你的数字生活?
人工智能·ai·生活·nas·企业存储·ainas·家庭存储
IT小盘31 分钟前
04-大模型流式输出原理-SSE与Python实现
开发语言·网络·人工智能·python
阳光是sunny36 分钟前
LangGraph实战教程:预定义状态MessagesState与AgentState
前端·人工智能·后端
网络工程小王38 分钟前
【HCIE-AI】11.模型 昇腾迁移适配-精度调试-性能调优
人工智能·学习·华为·迁移学习·昇腾
不如语冰1 小时前
AI大模型入门-Python进阶-上下文管理与with语句
开发语言·数据结构·数据库·人工智能·pytorch·redis·python