论文原文:One pixel attack for fooling deep neural networks
论文链接:https://arxiv.org/abs/1710.08864
代码:https://github.com/Hyperparticle/one-pixel-attack-keras
Adversarial Attack
AdvGAN
论文链接:https://arxiv.org/abs/1801.02610
在实际的训练过程中:
One Pixel Attack
通过损失函数来看,两者区别就是约束部分:
是让产生的perturbations的L0范数小于d(d=1),即perturbations种只有一个像素点不为0,也就是对抗样本实际上只改变了一个像素点。
现在问题来了,How do we find the exact pixel and value?有一种笨拙的办法,将224*224个像素点一一更改,找到最优的那个值。但是时间会很长,因为你每次改变你的像素值,都要放到model里去检测一下。下面作者很聪明,将差分进化算法应用了进来。
Differential Evolution
差分进化算法一共分为4部分:
使用DE 有什么好处:
1.有更高的几率可以找到全局最优点。因为变异产生的种群具有多样性的特点且至少使用了一组候选方案。
2.需要目标模型很少的信息,相比于FGSM来说,DE不需要梯度信息,因此不需要model太多细节。
DE具体到one pixel attack上要如何应用?
文章图片部分来源于李宏毅YouTube视频。
如有问题,或论文下载,请关注公众号和qq群,欢迎大家进行技术交流,我们还有一些”黑“技术待你探索: