深度学习之对抗样本

目前的深度卷积神经网络(CNN)在多个视觉相关的任务中都达到或超过了人类的水平,例如图片的分类、人脸识别等。同时,CNN也是容易被愚弄的,我们可以通过一定的手段骗过CNN,使其分类错误。

例如上面例子中,一个熊猫图像,原本神经网络可以将其正确分类为熊猫,而加上了一些看似白噪声的干扰,就使得神经网络以99%的置信度将其归类为长臂猿。

这种愚弄神经网络的方法就是对抗样本(adversarial examples)。这种方法在安全领域受到十分密切的关注,因为随着人工智能应用的普及,其安全性就越来越重要,如果一个AI很容易被骗过,那么将非常容易被黑客利用。例如,垃圾邮件发送者可以通过欺骗AI来防止被过滤掉,而更严重的例子是,自动驾驶技术中就包括了行人、车辆的识别,如果黑客使用对抗样本使得AI误以为路面上没有人,那就将造成重大交通事故。

这里介绍一种简单的产生对抗样本的方法,其示意图如下(此处展示的是希望将人物误分类为书柜)

我们的目标是:给定左边上面一张图(例如用户照片或者路面的雷达影像),想要产生一张与原始照片非常接近的,同时使得神经网络误分类的照片。

学习的目标就是左边下面的那张噪声图片,记为N图。这可以通过梯度下降的方法做到,其流程为:

初始化N图为随机噪声

将N图与原始照片叠加,然后输入网络,得到神经网络的分类值

计算神经网络的分类值对N图中各像素的梯度(这可以在tensorflow中轻松的得到)

使用梯度下降更新N图

重复第2、3、4步,直到神经网络以99%的置信度分类错误

下面是一些结果,所有这些图片都会被分类为鸵鸟。

显然,神经网络被我们愚弄了。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180126A021KC00?refer=cp_1026

同媒体快讯

相关快讯

扫码关注云+社区