深度学习中的Adversarial Examples(基于Python实现)

随着深度学习研究的深入,相关应用已经在许多领域展现出惊人的表现。一方面,深度学习的强大能力着实吸引着学术界和产业界的眼球。另外一方面,深度学习的安全问题也开始引起广泛地关注。对于一个给定的深度神经网络,经过训练,它可能在具体任务上(例如图像识别)表现出较高的准确率。但是在原本能够被正确分类的图像中引入稍许(人眼不易察觉)扰动,神经网络模型就可能被误导,从而得出错误的分类结果。例如,下图中最左侧的熊猫图片本来可以被正确分类,向其中加入一定的扰动,结果会得到右侧的熊猫图片。在人眼看来,它仍然是熊猫,但是神经网络模型却以相当高的置信率将其识别成了长臂猿。最右侧这个经过精心调整的能够误导神经网络模型的图像就被称为是恶意样本(Adversarial Example),或简称AE。


本文主要介绍两种最基本也最流行的恶意样本(Adversarial Example)的生成算法,我们将在理解原理的基础上用Python编程实现它们。环境是Ubuntu 18.04,深度学习模型以残差神经网络ResNet为例。欢迎关注白马负金羁的博客 ,为保证公式、图表得以正确显示,强烈建议你从该地址(http://blog.csdn.net/baimafujinji)上查看原版博文。本博客主要关注方向包括:数字图像处理、算法设计与分析、数据结构、机器学习、数据挖掘、统计分析方法、自然语言处理。
 


Fast gradient sign method (FGSM)

我们在之前的文章(文章链接)里曾经介绍过一些关于AE的内容。彼时,我们只是调用了现成的API来演示它。下面我们将追根溯源,详细讲解经典的AE生成算法背后的原理,并一步一

猜你喜欢

转载自blog.csdn.net/baimafujinji/article/details/99918724