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))