fgsm——跟线性回归一样好理解的对抗攻击方法
一、前言
昨天开组会,借用线性回归讲了一波fgsm,发现效果还不错,于是今天跑过来水一篇博客(●’◡’●)
二、正文
线性回归
在开始讲fgsm之前呢,我先大概讲一波线性回归,方便引出fgsm,并不是线性回归教程,所以说不懂线性回归的同学还是先去看一看哈
目标:最小化损失函数
优化方法:梯度下降
参数的更新方式为
这里的原理是让参数往梯度的相反方向走,通过此方式让损失函数最小化
由线性回归过渡到fgsm
众所周知(/狗头嘿嘿),fgsm是一种基于梯度的攻击手段
目标:与线性回归相反,最大化损失函数
ps:这里的最大化不是真正的最大化
线性回归最小化损失函数的方式为:
与线性回归相反,若要增大损失函数,只需要让‘参数’往梯度相同的方向走
为什么‘参数’要加引号??
在线性回归中,训练样本已知,而模型参数未知;
在白盒攻击下,模型参宿已知,而对抗样本未知。
因此,这里的对抗样本即为‘模型参数’,只是这个‘模型参数’的目标是为了最大化损失函数
参数更新方式对比:
可以看到,最大的区别就是,’-‘变成了’+‘,因为一个目标是最小化损失函数,另一个目标是最大化损失函数
博主你这公式怎么跟别人的不一样莫非你在瞎逼逼??
请大家看清楚所谓别人的公式
有什么区别呢?不都是x加上一定比例的梯度嘛?是不是很奇妙?(●’◡’●)
小尾巴
本文纯属用于入门fgsm,若要深入理解请参考原论文
若有不足,请不吝指教