注:本知识点仅供大家参考和快速了解这门课,每一节均为笔者听后仅总结细节和重点(而无基础知识),李宏毅老师的课程非常好,详细学习的读者还是请自行一一观看学习。作业代码也在持续整理。
以下顺序均参照视频顺序,无缺无改
解决方法就是Global attribution,基本精神是对各个特征进行重要性的求和,方法被称为Layer-wise relevance propagation(LRP),要求每层的值的和相同。
Noisy gradient——Solution:SmoothGrad 在一张图片上个加点肉眼看不出区别的noise就可以做到模型分类不同。解决方法就是SmoothGrad,通过多组在每个pixel都加不同的noise后取梯度的平均
解释CNN图像分类的原因,已整理完
希望ML模型不过效果好,还能抵抗来自人类恶意的攻击。
在 x ′ 和 x 0 x'和x^0 x′和x0区别越小的限制下,希望可以得到这样的 x ′ x' x′,它能使得神经网络f判断出错误的答案,其损失函数也就正好是原本损失函数的负数。
对于 x ′ 和 x 0 x'和x^0 x′和x0的限制条件有常见的上图两种:
L2-normL-infinity 可以看出L-infinity的改变效果是更容易被人类看出来的我们已知攻击模型的损失函数,该怎么实际找到一个 x ⋆ x^{\star} x⋆呢?
方法也是梯度下降,不过还要考虑对于 x ⋆ 和 x 0 x^{\star}和x^0 x⋆和x0的限制,当 当前 x t 和 x 0 x^{t}和x^0 xt和x0差别大于阈值 ϵ \epsilon ϵ时,通过穷举 x t 和 x 0 x^{t}和x^0 xt和x0差距小于等于 ϵ \epsilon ϵ内的所有的点找出和当前 x t x^{t} xt差距最小的点作为替代。
攻击实验往往会很成功,其背后的原因并未完全明晰。但攻击实验成功是体现了这样的现象的,如上图所示,每一个类别(降维后)背后的“范围”是很窄的,当改变了很小的值后也是很容易产生较大的类别判断变化的,至于训练神经网络为何有这样的现象还不得而知。
攻击方法多种多样,如上图所列
不同方法的差异主要在两点:
Optimization Methods 优化方法不同Constraints 限制不同FGSM是其中最简单的方法,仅对每一维梯度差值进行正负的判断,正数就替换为+1,负数就替换为-1,仅攻击一次即可
上述讲的攻击模型都是在已知神经网络参数的基础上算梯度进行攻击的,相当于白盒攻击White Box Attack。
那也就是说只要保护好神经网络的参数就可以安全了么?事实上还可以做黑盒攻击Black Box Attack 比如说对于影像辨识的黑箱模型,如ImageNet数据集训练出来的,就可以用同样的训练资料去重新训练一个神经网络Proxy Network,用这个Proxy Network去计算梯度,找出能成功攻击Proxy Network的影像拿去攻击黑箱模型
在现实世界中,是真的有可能成功的,如戴一副特殊的眼镜就可以改变人脸辨识系统的结果(现实中是要考虑很多限制的,如角度、色度等)。当然除了影像,语音和文字也有成功攻击的例子。
对于攻击,有这样两种防御方法:
Passive defense:不对神经网路做任何的改变,再另外加保护函数来阻挡攻击(Anomaly Detection异常检测)Proactive defense:在训练模型时就要考虑到被攻击的情况在输入图像给模型前,先经过Filter函数过滤,可以是平滑化,也可以是特殊的神经网络。
将每次会攻击成功的数据当作训练集再做训练,循环T次。