如何系统地欺骗图像识别神经网络( 二 )


因为 ? 是“不可检测”的(或者几乎不可检测) , 所以它在视觉上对图像应该没有什么不同 。 但是 , 每一个变化都是按照 sign 函数构建的 , 这样加权和的变化是最大的 。
因此 , 我们将 -? 或 +? 添加到输入向量的每个元素上 , 这是一个足够小的变化 , 以至于它不可检测 , 但使用 sign 函数构造 , 从而使变化最大化 。
许多小组件加起来可能会变得非常大 , 特别是如果它们是一种智能的方式构造的话 。
让我们考虑一下在上一个例子中 ?=0.2 时这种情况的影响 。 我们可以得到 3 个单位的差额(总和为 -4) 。
如何系统地欺骗图像识别神经网络文章插图
这是相当可观的 , 特别是考虑到 perbutation 向量对原始输入向量的微小变化 。
如何系统地欺骗图像识别神经网络文章插图
让我们考虑一下在上一个例子中 ?=0.2 时这种情况的影响 。 我们可以得到 3 个单位的差额(总和为 -4) 。
如果权重向量具有 n 个维数 , 并且元素的平均绝对值为 m , 则激活值将增长为 ?nm 。 在高维图像中(如 256×256×3) , n 的值为 196608 。 m 和 ? 可以非常小 , 但仍会对输出产生重大影响 。
这种方法非常快 , 因为它只通过 +? 或 -? 来改变输入:但是它这样做的方式如此有效 , 以至于完全愚弄了神经网络 。
如何系统地欺骗图像识别神经网络文章插图
在上图中 , 0.007 的 ? 对应于 GoogLeNet 转换为实数之后的 8 位图像编码的最小为的大小 。 来源: Goodfellow 等人 。
Goodfellow 等人在应用 FGSM 时发现了有趣的结果:

  • ?=0.25 时 , 浅层 SoftMax 分类器的错误率为 99.9% , MNIST 上的平均置信度为 79.3% 。
  • ?=0.1 时 , 对预处理的 CIFAR-10 的错误预测 , CNN 的错误率为 87.15% , 平均置信度为 96.6% 。
显然 , 这些对抗性的输入会导致严重的错误率 , 但也许更令人担忧的是高置信度 。 这些网络不仅做出了错误的预测 , 还对自己错误的输出“充满了信心” 。 这显然是有问题的:想象一下 , 教一个犹豫不决回答 2×4=6 的学生和一个自豪地宣布答案的学生之间的区别 。
这些对抗性的输入 / 样本可以解释为高维点积的一个特性:当需要在其中分配和的像素数量较多时 , 加权和可以更大 , 而对每个单独像素的改变也会更小 。
事实上 , 对抗性样本是网络过于线性的结果 。 毕竟 , 这样的变化(比如说)对一个由 sigmoid 函数组成的网络的影响微乎其微 , 因为在大多数地方 , perbutation 的影响都是递减的 。 具有讽刺意味的是 , 正是这种特性——死亡梯度(dying gradients)ReLU 和其他容易受到对抗性输入影响的无界函数的兴起 。
本文中提出的其他要点包括: