【Feature Denosing】Feature Denoising for Improving Adversarial Robustness

2023-05-16

摘要

对图像分类系统的对抗攻击,给卷积网络带去挑战的同时,也提供了一个理解他们的机会。

对抗扰动使得网络提取的特征包含噪声。受这个观察启发,我们执行feature denoising。具体来说,本文使用non-local means或其他滤波器模块来去噪。

当和对抗训练结合时,我们的方法在白盒和黑盒攻击中取得了SOTA。在ImageNet上,10-iteration PGD白盒攻击,前人工作是27.9%,我们提高到了55.7%,即使是在2000-iteration PGD白盒攻击,我们的方法叶取得了42.6%的正确率。我们的方法在CAAD 2018上取得了第一名:在48种unkown attackers下,取得了50.6%的分类正确率。

代码开源在:https://github.com/facebookresearch/ ImageNet-Adversarial-Training。

 

1. 引言

对抗攻击和它造成的影响。

对抗扰动虽在像素空间上变化不大,但会导致网络feature map上产生大量“噪声”。

本文探索feature denoising方法用于改善卷积网络面对对抗攻击的鲁棒性。本文给卷积网络增加了用于denoise feature maps。网络经过对抗训练,学习如何减少feature-map的扰动。

总的来说,本文发现,使用non-local means[2]的网络denosing最好,使得模型很接近self-attention[23]和non-local networks[24]。消融实验发现,使用mean filters, median filters和bilateral filters用于feature denosing,也改善了对抗鲁棒性。说明特征降噪是个很好的设计想法。

 

2. 近期工作

对抗训练 [6,10,16]。训练时,在线生成对抗攻击图片,用作训练数据。对抗训练是目前防御白盒攻击的SOTA。Adversarial logit paring (ALP) [10]是一种对抗训练,鼓励网络对干净图片和攻击图片的logit predicitons相似。ALP可以解释为:使用clean image的logit prediction作为参考,对攻击图片的logit prediciton去噪。

其他方法。pixel denoising [15]提出使用high-level features指导pixel denoiser;与之相对的,我们的方法是直接对特征去噪。[8]通过不可微图像处理转换图片,例如:image quilting [4],total variance minimization(总方差最小)[17]和量化。这些防御在黑盒攻击中是有效的,但在白盒攻击中,他们可以被绕过,因为攻击者可以近似他们不可微计算[1]。不同于[8],本文的方法是可微的,但是仍然可以提高对白盒攻击的鲁棒性。

 

3. Feature Noise

对抗攻击通过增加扰动生成对抗图片,使用范式限制扰动的大小,使得人类无法察觉这些轻微的扰动。

虽然在像素层面这种扰动被限制得很小,但是在特征层面并没有这样的限制。因此在伴随着前向传播,特征的扰动逐渐增加,导致本不应该存在的激活出现。

In other words, the transformations performed by the layers in the network exacerbate the perturbation, and the hallucinated activations can overwhelm the activations due to the true signal, which leads the network to make wrong predictions.

对抗图像的特征图,在没有相关视觉内容而是噪声的区域中被激活。假如strong activations表示语义信息的存在,这解释了为什么模型的预测被修改。

 

4. Denosing Feature Maps

在卷积网络的中间层增加denosing blocks。端到端的对抗训练使得网络可以(部分)消除依赖数据的特征图噪声,即由攻击者产生的噪声。

效果最好的denosing blocks是受self-attention transformers [23]启发,它通常用于机器翻译和视频分类的non-local网络。除了non-local means,我们还实验了bilateral filtering, mean filtering和median filtering。

4.1 Denosing Block

图4的设计受self-attention和non-local blocks的启发。denosing block中只有non-local means在降噪,1x1卷积和残差连接是为了feature combination。残差结构是为了保存signal。

4.2 Denoising Operations

(1)Non-local mean:

non-local neural networks参考:https://zhuanlan.zhihu.com/p/33345791。用下面这张图很好理解。f(.)计算i与每个点的相似性,g(.)如果有可以看作是特征映射,C(.)是归一化函数。

包含Gaussian (softmax) sets和Dot product sets。

这里,θ(.)是1x1的卷积,而attention中是全连接。

(2)Bilateral filter:这里的Ω是i点邻域。

(3)Mean filter:average pooling with a stride of 1

(4)Median filter:通常用于去除salt-and-pepper噪声和outliers of similar kind。

 

5. Adversarial Training

本文使用PGD作为白盒攻击来生成对抗训练的图片。

采用分布式训练,128张GPUs,每个GPU包含32张图片。

 

6. Experiments

baselines是ResNet-101/152,增加了4个denosing blocks,每个都增加在last residual block of res2, res3, res4和res5后面。

效果最好的是non-local with gaussian。

 

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

【Feature Denosing】Feature Denoising for Improving Adversarial Robustness 的相关文章

随机推荐

  • Panads(四):数据清洗——对缺失值的处理

    文章目录 一 处理缺失值的四个函数二 使用1 1 数据样子1 2 处理 一 处理缺失值的四个函数 isnull函数 xff1a 检测是否是空值 xff0c 可用于df和series notnull函数 xff1a 检测是否是空值 xff0c
  • 单片机数字钟(调时,调时闪烁,万年历,年月日)超详细解析

    2019 07 13 单片机数字钟 xff08 调时 xff0c 调时闪烁 xff0c 万年历 xff0c 年月日 xff09 超详细解析 发表日期 xff1a 2019 07 13 单片机开发板 xff1a 巫妖王2 0 xff0c 使用
  • MATLAB轨迹规划 发给ROS中机器人实现仿真运动

    MATLAB轨迹规划 发给ROS中机器人实现仿真运动 现象如图所示 xff1a 0 matlab 与 ROS 通信 xff1a https blog csdn net qq 40569926 article details 11216287
  • 树莓派 Ubuntu mate 16.04使用VNC开启远程桌面

    1 安装 vncserver sudo apt span class token operator span get span class token operator span y install vnc4server 2 启动 vncs
  • js for in 循环出现bug

    这样使用for in循环时可能会有一种bug for let item in list 原因 xff1a for in循环会把某个类型的原型 prototype 中方法与属性给遍历出来 xff0c 所以这可能会导致代码中出现意外的错误 解决
  • 面试官:Spring中用了哪些设计模式?

    spring中常用的设计模式达到九种 xff0c 我们举例说明 以后再也不怕面试官问我 xff1a Spring中用了哪些设计模式了 1 简单工厂模式 又叫做静态工厂方法 xff08 StaticFactory Method xff09 模
  • 论文笔记 | Learning Deep Features for Discriminative Localization

    作者 Bolei Zhou Aditya Khosla Agata Lapedriza Aude Oliva Antonio Torralba Bolei Zhou Abstract 受到NIN 的启发 xff0c 将global aver
  • stm32 编码器配置

    stm32f103 void TIM4 Encoder Config void GPIO InitTypeDef GPIO InitStructure span class hljs comment span TIM TimeBaseIni
  • 树莓派部署(三):安装teamviewer远程软件

    安装teamviewer远程软件 下载Teamviewer安装因受网络原因影响 xff0c 国外源安装依赖失败则需要切换源一 修改文件二 安装依赖三 安装Teamviewer三 启动Teamviewer 不用命令行启动可忽略 下载Teamv
  • 【数字图像处理】MATLAB实现直方图均衡化

    直方图均衡化的MATLAB实现 目录 1 回顾 直方图均衡化2 代码实现 1 回顾 直方图均衡化 基本原理 直方图均衡化方法的基本思想是 xff1a 对在图像中像素个数多的灰度级进行展宽 xff0c 而对像素个数少的灰度级进行缩减 xff0
  • 【NCC】之一:从Pearson相关系数到模板匹配的NCC方法

    文章目录 lt center gt NCC Normalized Cross Correlation 1 Pearson相关系数 2 协方差 covariance 3 方差 variance 4 模板匹配中的NCC方法5 实现过程6 测试结
  • ST-Link使用和配置总结

    xff08 1 xff09 ST Link实物参考图 xff08 2 xff09 ST Link 引脚介绍和接线方式 ST Link SWD引脚连接方式 参考链接1 xff1a https blog csdn net xinghuanmei
  • CentOS安装CMake

    文章目录 1 问题背景2 前言3 步骤 1 问题背景 最近想玩玩CLion远程调试JDK源码 xff0c 需要用到CMake xff0c 因此来安装 2 前言 需要先看CLion支持哪个版本的CMake xff0c 再下载对应的版本 本文采
  • 跟丛博,学习CMMI2.0

    CMMI2 0 xff0c 三天的学习非常高强度 xff0c 学习了两门课 xff1a 2天的Foundations of Capability和1天的Building Development Excellence 内容多 xff0c 讲义
  • strtok的实现与原理

    该函数包含在 34 string h 34 头文件中 函数原型 xff1a char strtok char str constchar delimiters 函数功能 xff1a 切割字符串 xff0c 将str切分成一个个子串 函数参数
  • Java入门小知识(++a和a++的区别)

    关于java中 43 43 a和a 43 43 的区别 与C语言中的一致 43 43 a xff1a 先进行自增运算 xff0c 在进行表达式运算 a 43 43 xff1a 先进行表达式运算 xff0c 在进行自增运算 下面用一个实例来加
  • Linux VNC搭建方法

    首先介绍下VNC xff0c VNC是类似于向日葵的远程桌面控制工具 xff0c 非常好用 本文详细介绍了VNC的搭建方法与使用教程 yum安装指令 yum install y tigervnc server 复制服务文件放到配置文件夹下
  • (Linux)Ubuntu查看系统版本

    uname a 查看操作系统的发行版号和操作系统版本 Command uname a Result Linux SERVER 5 19 0 35 generic 36 Ubuntu SMP PREEMPT DYNAMIC Fri Feb 3
  • aes-128 速度测试

    官方白皮书 xff1a Intel Advanced Encryption Standard AES New Instructions Set pdf https software intel com zh cn articles inte
  • 【Feature Denosing】Feature Denoising for Improving Adversarial Robustness

    摘要 对图像分类系统的对抗攻击 xff0c 给卷积网络带去挑战的同时 xff0c 也提供了一个理解他们的机会 对抗扰动使得网络提取的特征包含噪声 受这个观察启发 xff0c 我们执行feature denoising 具体来说 xff0c