让它认错图像,需要对图像做多少修改?(上)

夏毅编译

量子生产 | 公众号QbitAI

为了让神经网络识别错误的图像,你需要做多少改变?

一个像素就够了。

日本的一项研究表明,改变图像上的单个像素可以使神经网络识别错误的图像,甚至诱导它返回特定的结果。

该研究由日本九州大学的苏嘉伟、Danilo Vasconcellos Vargas 和 Kouichi Sakurai 共同完成。他们不仅写了一篇论文,详细介绍了通过改变一个像素来欺骗神经网络的魔术,而且还开源了相应的 Keras 实现。这种技术被称为“单像素攻击”。

可惜VGG I出名了,连猫都认错了

在 CIFAR-10 和 ImageNet 数据集上,单像素攻击的成功率分别为 68.36% 和 41.22%。

一个像素,如何攻击神经网络?

实验在 CIFAR-10 和 ImageNet 数据集上进行。我们以 CIFAR-10 为例进行说明。CIFAR-10 是一个图像识别数据集,包含 10 个类别的 60,000 个 32 × 32 像素的 RGB 彩色图像。该数据集上的神经网络的任务是正确预测图像所属的类别。

单像素攻击的目标是通过从图片中选择一个像素,改变其颜色,改变神经网络输出的类别标签,降低对正确类别的置信度,并增加对某些类别的置信度来创建对抗性图像其他类别。信心。也就是说,让神经网络将其分配给错误的类。

任务看似简单像素生存者2全部代码,但是,32×32=1024像素,我应该选择哪一个呢?换成什么颜色?

研究人员使用了一种称为差分进化(DE)的进化算法。

具体来说,首先通过随机修改像素生成400个对抗样本并输入到神经网络中;然后,将这些修改后的像素的位置和颜色组合起来,生成 400 个对抗样本并输入到神经网络中;接下来,如果一个新样本相对于父样本降低了神经网络对正确类别的置信度,则父样本将被替换为该样本上的修改像素作为当前已知的最优解。

之后,将上述三个步骤重复几次,然后在最后一次迭代中,选择降低神经网络对正确类的置信度的对抗样本。

如果有其他类的置信度高于正确类的最终置信度,则我们成功。最终选择的样本就是我们想要的结果。

在全连接神经网络(AllConv)中像素生存者2全部代码,Network

在in Network(NiN)、VGG16、和AlexNet的测试中,这种方法取得的成功率如下表所示:

表中的针对性攻击是指使神经网络在攻击中将图像误认为特定类别

一些研究人员也在 ImageNet 上使用了这种方法,将图像尺寸统一为 227×227,大约是 CIFAR-10 图像尺寸的 50 倍。

ImageNet 上的测试表明,这种欺骗神经网络的方法也适用于更高分辨率的图像。

根据该论文,DE 方法不像基于梯度的方法那样容易陷入局部最小值,并且不需要关于攻击目标系统的太多信息,因此生成的对抗样本适用于各种神经网络。

相关链接

论文一:欺骗深度神经网络的像素攻击

Keras 实现

开头提到的对抗性补丁

– 结束-

真诚招聘

Qubit正在招聘编辑/记者到北京中关村工作。我们期待有才华和热情的学生加入我们!相关详情请在QbitAI公众号(QbitAI)对话界面回复“招聘”二字。

Qubit QbitAI·今日头条署名作者

վ’ᴗ’ ի 追踪人工智能技术和产品的新发展

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论