[paper]Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks

2023-05-16

本文提出了两种特征压缩方法:

  1. 减少每个像素的颜色位深度
  2. 使用空间平滑来减少各个像素之间的差异

特征压缩通过将与原始空间中许多不同特征向量相对应的样本合并为单个样本,从而减少了对手可用的搜索空间。通过将DNN模型对原始输入的预测与对压缩输入的预测进行比较,特征压缩可以很好的检测出对抗样本。本方法对于计算资源要求不高,可以与其他防御措施互补,并且可以结合联合检测框架使用。

Our approach, which we call feature squeezing, is driven by the observation that the feature input spaces are often unnecessarily large, and this vast input space provides extensive opportunities for an adversary to construct adversarial examples. Our strategy is to reduce the degrees of freedom available to an adversary by “squeezing” out unnecessary input features. The key idea is to compare the model’s prediction on the original sample with its prediction on the sample after squeezing, as depicted in Figure 1. If the original and squeezed inputs produce substantially different outputs from the model, the input is likely to be adversarial. By comparing the difference between predictions with a selected threshold value, our system outputs the correct prediction for legitimate examples and rejects adversarial inputs.

特征压缩核心思想:特征输入空间通常不需要太大,因为过大的特征输入空间会为对手生成对抗样本提供更多可能。 策略是通过“压缩”不必要的特征来降低对手生成对抗样本的自由度。 关键思想是将模型对原始样本的预测与压缩后对样本的预测进行比较。如果原始输入和压缩后的输入产生了与模型实质上不同的输出,则输入可能是对抗性的。 通过将预测之间的差异与选定的阈值进行比较,系统会为合法样本输出正确的预测,并拒绝对抗样本的输入。
在这里插入图片描述
本文证明,通过预测非自适应对抗样本的正确标签,特征压缩可以显著增强模型的鲁棒性,同时保留合法输入的准确性,从而可以准确的检测静态对抗样本。
主要贡献是通过研究了特征压缩的两个方法:减少颜色位深度以及局部和非局部空间平滑实验表明,特征压缩可帮助DNN模型对11种不同的对抗样本攻击(不了解防御的情况)进行防御。 特征压缩是其他对抗防御的补充,因为不会改变基础模型,并且可以很容易地与其他防御(例如对抗训练)组合在一起。

L ∞ L_\infty L范数表示所有维度上最大变化的的度量。
L ∞ L_\infty L范数攻击表示可以改变所有像素,但对每个像素上的最大改变是受限的。

L 2 L_2 L2范数对应于 x x x x ′ x^{'} x之间的欧几里得距离。
在图像许多像素上添加大量微小的变化时,该距离可以保持很小。

L 0 L_0 L0表示 x x x x ′ x^{'} x之间变化的像素总数,而不是摄动量。

较大的位深度会使显示的图像更接近自然图像,但是通常不需要太大的色彩深度来解释图像(人们识别大多数黑白图像没有问题)。本文使用三种流行的图像分类数据集(MNIST,CIFAR-10和ImageNet)研究了位深度压缩。实验发现即使将原始图像的位深度从8位(每个RGB通道)减少到更小,也不会显著降低人类对图像的可识别性。但如果位深度小于4,确实会造成一些人类可观察到的损失。这是因为即使减少到每个通道相同的位数,我们也会丢失更多的彩色图像信息。经过实验发现位深度压缩到4位足以消除许多对抗样本,同时保留了对正常图像的准确性。即证明了降低位深度确实可以在不损害分类精度的情况下减小对抗样本生成的可能性。
在这里插入图片描述

局部平滑利用相邻像素来平滑每个像素。 通过选择加权相邻像素的不同机制,可以将局部平滑方法设计为高斯平滑,均值平滑或中值平滑方法。中值平滑在应对根据 L 0 L_0 L0范数的生成的对抗样本时特别有效。
本文使用的是中值平滑。中值平滑是在图像的每个像素上运行一个滑动窗口,其中中心像素被窗口内相邻像素的中值代替。 中值平滑没有减少图像中像素的数量,而是将像素值分布在附近的像素上。边缘上的像素采用反射填充。 中值平滑实质上是通过使相邻像素更相似来将特征进行压缩。中值平滑特别有效地去除图像中稀疏出现的黑白像素(被称为椒盐噪声),同时很好地保留对象的边缘。

非局部平滑不同于局部平滑,因为它可以在更大的区域而不是相邻的像素上平滑相似的像素。对于给定的图像色块,非局部平滑可在图像的较大区域中找到几个相似的色块,并用这些相似色块的平均值替换中心色块。假设噪声的平均值为零,对相似色块进行平均将在保留对象边缘的同时消除噪声。与局部平滑类似,在平均操作中,有几种可能的方式可以对相似的色块进行加权,例如高斯,均值和中位数。
本文使用高斯核的一种变体。非局部平滑方法的参数通常包括搜索窗口大小(用于搜索相似块的较大区域),块(patches)大小和滤波器强度。

实验结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[paper]Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks 的相关文章

随机推荐

  • AI自主图像生成 之 stable-diffusion(Anaconda+pycharm)本地部署

    无需订阅专栏 AI自主图像生成 之 stable diffusion 运行效果展示 一 介绍与实验效果 文章末尾包含 1 我已打包到百度云的部署验证成功并包含模型权重的代码文件 可直接链接完成python环境配置的anaconda环境下使用
  • AI自主图像生成 之 stable-diffusion—运行效果展示

    stable diffusion用途 xff1a 输入文字描述 xff0c 输出对应图片 The chicken with the hair parted in the middle and the suspenders is playin
  • python画甘特图

    1 使用plotly 安装包下载 span class token keyword import span plotly span class token punctuation span express span class token
  • bat 打开exe文件,并显示进度条

    如下 C camera flow njl CAM exe是你的exe文件路径 180 就是 180 s xff0c 即三分钟显示完毕 chcp span class token number 65001 span span class to
  • 基于opencv的掩膜生成 python

    代码将遍历JPG dir文件夹中的所有jpg文件 xff0c 并对于每一个jpg文件 xff0c 读取同名的JSON文件 xff0c 然后根据JSON文件中记录的标注区域的坐标在JPG图像上绘制掩膜图像 最后 xff0c 将掩膜图像保存到O
  • 用 Python 解数独(Sudoku)

    芬兰数学家因卡拉花费3个月时间设计出的世界上迄今难度最大的数独 数独是 9 横 9 竖共有 81 个格子 xff0c 同时又分为 9 个九宫格 规则很简单 xff1a 每个空格填入 1 9 任意一个数字 xff0c 需要保证每个横排和竖排以
  • alembic 如何使用?

    在之前的数据库操作中 xff0c 我们新增一个字段是不是每次都得删除数据库表 xff0c 然后再重新将新创建的数据库表映射到数据库中 这样操作是不是很蛋疼 xff1f 是吧 xff1f 于是sqlalchemy作者拜尔为了解决这一问题 xf
  • ROS中用opencv库实现物体中心点提取

    老师搞了个很简陋的双目摄像头 xff0c 只能输出两个摄像头的图像 xff0c 所以为了提取定位物体中心坐标 xff0c 还得算个深度距离 先对两个摄像头图像处理一下 xff0c 基于阈值分割 xff0c 然后提取个轮廓 xff0c 计算个
  • linux c语言高级编程-目录操作

    目录操作总共有以下几个函数 xff1a 1 创建目录 int mkdir const char pathname mode t mode 2 删除目录 int rmdir const char pathname 3 查看目录状态 int s
  • BeagleBone Black使用(一):狗板简介

    前言 BeagleBone 与 Arduino 和 Raspberry Pi xff08 树莓派 xff09 可以说是目前应用最广泛的三大嵌入式开源平台 而 BeagleBone 在一定程度上可视为融合了 Arduino 与树莓派的优点 x
  • 慧数汽车大数据分析:车市竞争将由打造爆款向构建“产品矩阵”转型

    在车企只要完成年销量三十万辆的目标时 xff0c 只需认认真真培育出一款爆款车就足够了 xff0c 如哈弗H6 完成年销量50万辆的目标时 xff0c 只需认认真真培育出一两款爆款车就足够了 xff0c 如哈弗H6 43 哈弗H2 但为什么
  • 4.10 Python tuple元组详解

    元组 xff08 tuple xff09 是 Python 中另一个重要的序列结构 xff0c 和列表类似 xff0c 元组也是由一系列按特定顺序排序的元素组成 元组和列表 xff08 list xff09 的不同之处在于 xff1a 列表
  • 使用ROS和RealSense直接获取点云

    点云获取 Realsense获取内参创建ROS工作环境创建ROS工作包package向package中添加cpp代码catkin make编译失败失败1 使用ROS订阅节点 xff08 rgb和depth xff09 ROS包安装升级Rea
  • 集成单点登录

    随着现在的系统越来越多 xff08 OA考勤 xff0c 学生宿舍管理等等 xff09 在使用中是不是还在为一次一次的登录而烦恼 xff1f 或者忘了密码而尴尬 xff0c 现在 xff0c 有一个好东西来解决这个问题了 那就是单点登录 单
  • PID算法入门与C语言代码实现

    PID算法的入门理解以及C代码实现 在结束了自控原理的学习后 xff0c 了解到PID算法是一种万能算法 xff0c 在课设中也是经常使用到的一种算法 xff0c 所以想具体的来进行以下总结与学习 xff0c 如果有错漏的地方 xff0c
  • 【Ubuntu18.04安装px4+mavros(解决mavros报错问题)】

    Ubuntu18 04安装px4 43 mavros xff08 解决mavros报错问题 xff09 安装ros melodic重新安装gazebo9 19安装mavros安装px4 我的电脑为联想R7000P2021款 xff0c 之前
  • 嵌入式面试题3

    1 讲一下STM32时钟系统 时钟系统类似于脉搏 xff0c 控制着CPU的命脉 xff0c STM32的时钟源又不像51的时钟源那么单一 xff0c 因为STM32的MCU较为复杂 xff0c 且外设较多 xff0c 并不是所有的外设都需
  • 将 linuxmint 20.2 设置成 mac 主题

    将 linuxmint 20 2 设置成 mac 主题 1 安装Adapta Nokto主题2 安装Numix Circle图标3 安装plank4 设置主题和图标5 设置字体 使用 vmware 安装 LinuxMint20 2 并打造
  • [转载][paper]Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey

    文章目录 摘要 深度学习是当前人工智能崛起的核心 在计算机视觉领域 xff0c 它已经成为从自动驾驶汽车到监控和安全等各种应用的主力 虽然深度神经网络在解决复杂问题方面取得了惊人的成功 通常超出了人类的能力 xff0c 但最近的研究表明 x
  • [paper]Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks

    本文提出了两种特征压缩方法 xff1a 减少每个像素的颜色位深度使用空间平滑来减少各个像素之间的差异 特征压缩通过将与原始空间中许多不同特征向量相对应的样本合并为单个样本 xff0c 从而减少了对手可用的搜索空间 通过将DNN模型对原始输入