Adversarial Visual Robustness by Causal Intervention

2023-11-10

Motivation

  1. 机器能够利用人看不见的pattern对目标进行分类,当测试时pattern不变,那么这些pattern是有益的,被称为predictive features,而当他们在攻击中被篡改时,他们就是混淆因子。本文希望通过因果干预,去除混淆因子对输入图片的影响。但这是困难的,因为本任务中的混淆因子不可见,因此本文提出用工具变量来实现因果干预。
  2. 受视网膜成像的启发,本文认为人的视觉系统之所以能够免受混淆因子的影响,是因为存在Retinopic Sampling,简单来说,Retinopic Sampling和成像相关,和混淆因子无关。我们希望通过建立R和X的关系,用R表示的X去除C的影响,进而求得鲁棒的X和Y之间的关系。

实现

R的详细定义见附录B,本文在4.3推出P(Y|do(X)) =w_{rx}^{-1}w_{ry}x,进一步定义w_{ry}=g_{ry}(x,r),可得:

最后本文发现上式收敛困难,因此借用non-linear instrumental variable estimation methods中的Asymptotic-Variance Convergence (AVC) loss帮助收敛:

这篇文章6.17挂上arxiv,感觉是用来占坑的半成品。代码在:https://github.com/KaihuaTang/Adversarial-Robustness-by-Causal-Intervention.pytorch


摘要:

  • 对抗训练常用于防御对抗样本。但由于是被动防御,因此无法免疫未知攻击。为了积极防御,我们需要对对抗样本有更基础的了解,不能仅限于bounded threat model。
  • 本文提供一个因果视角:confounder在学习中无处不在。因此,改善鲁棒性的方法是因果干预。由于confounder是不可见的,我们提出使用工具变量(instrumental variable)来实现干预。
  • 本文的鲁棒训练方法叫做:Causal intervention by instrumental Variable (CiiV)。CiiV有一个可导的Retinotopic sampling layer和consistency loss,保证模型不会梯度混淆(Gradient Obfuscation)
  • 在MNIST,CIFAR-10和mini-ImageNet数据上,本方法都证明了有效性。

引言:

  • 防御存在的问题:(1)lack fair benchmarking (e.g. adaptive adversary);(2)misconduct the attack (e.g., obfuscated gradient),通过给attaker错误的梯度使基于梯度下降的对抗样本失效。因此,大部分有效的防御方法仍然是Adversarial Training。而对抗训练是否有效,又取决于是否有尽可能多的,来自不同攻击方法产生的对抗样本。
  • 对抗训练是主动免疫,无法应对不断进化的攻击方法。对抗样本不是bugs,而是predictive features,仅能被机器利用。人类的神经元数量和复杂度远超机器,提取的特征更多,为什么人类可以自动忽略predictive features。
  • 本文认为adversarial attacks是confounding effects。一些人无法察觉的模式(pattern),例如局部纹理,small edges和faint shadows等,当和标签相关时,就是confounder;当训练和测试的confounder是一致时,被视作predictive feature。由于它不可能被观测,考虑引入R(Retinotopic sampling)作为工具变量,去除C对X的影响。在工程上的时候,还需要consistency loss。

近期工作:

  • Adversarial Examples. Defenders用于提高对抗鲁棒性,一些defenders受biological vision systems启发。整体来说,可以分为五类:(1) adversarial training; (2) data augmentation; (3) generative classifier; (4) de-nosing; (5) certified defense. 
  • Causality in Computer Vision. 因果推理常用做缓解数据偏见。造成对抗扰动的混淆因子通常是不可见。

Preliminaries

  • 因果图:R: retinotopic(Retinotopy,视网膜拓扑映射) sampling;C: confounding perturbation;X: image;Y: prediction;X <- C -> Y: confounder C 会影响X和Y的分布,例如:图片中线条的分布;X -> Y: robust prediction model
  • Causal Intervention:存在三种干预:backdoor adjustment,front-door adjustment和instrumental vairable。 前两者假设confounders或mediators是可观测的,因此,鉴于adversarial robustness的特性,本文使用instrumental variable.
  • Instrumental Variable :如Figure 2(b)所示,一个有效的instrumental variable应该满足:(1)和confounder variable是正交的;(2)它仅能通过X来影响Y。因此,instrumental variable能够从R->X->Y中提取X->Y的causal effect(不受C的干扰(已经被d-separated))。感谢colliding junction R-> X <- C。
  • 以最常见的2SLS(Two-Stage Least Squares)为例,第一步是用工具变量R做自变量,对X进行回归,得出一系列参数,将X分为由Z决定的,和与Z无关的两部分,这两者是正交的。工具变量的定义是和X相关,和C无关,因此Z决定的部分就是和C无关的部分。之后使用X'=γZ代替原来的X。
  • 混淆梯度:这种防御方式可能会导致对对抗样本防御安全感的错误判断;梯度掩码:该机制的核心思想在于构建一个没有有用的梯度的模型,如使用最近邻算法(KNN)而不是深度神经网络(DNN)。

Approach

biological reitna:photoreceptors,bipolar cell和多种神经元。

实验

  1. Threat models: FGSM,PGD-20,PGD-20 (l2)和C&W
  2. Defenders:Adversarial Training (AT):FGSM-AT,PGD-20-AT,PGD-20-AT(l2)。Non-AT:Mixup、BPFC和RS (参考:https://blog.csdn.net/mtandhj/article/details/108738418)。
  3. Anti-Obfuscated-Gradient Attack:一般不对抗训练就不容易出现混淆梯度。一般来说混淆梯度的防御方法是将测试梯度和原始求得的梯度区分开,使他们不像。而BPDA就是怼混淆梯度的攻击方法。
  4. Adaptive Attack

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

Adversarial Visual Robustness by Causal Intervention 的相关文章

  • 西门子PN协议分布式IO模块

    BL200Pro版本支持OPC UA MQTT和Modbus TCP协议 分布式I O模块系统由于具有可靠度高 容易扩展 设置容易 网络布线方便等特性 适用于分散地区的应用 广泛应用于数据收集和各种控制 产品广泛应用于物联网 智慧工厂 智慧
  • 【进程间通信(三)】共享内存(system v)

    一 共享内存通信的实现原理 其实进程之间通信的本质就是让通信双方看见同一份内存 这样当这份内存的数据发生改变的时候 双方进程都能直接观察到结果 这份内存存放在共享数据区 由操作系统提供并维护 共享内存的特性是只会储存进程之间通信产生的临时变
  • 从Qt谈到C++(一):关键字explicit与构造函数

    原文 http blog csdn net guodongxiaren article details 24455653 主题 Qt 提出疑问 当我们新建了一个Qt的widgets应用工程时 会自动生成一个框架 包含了几个文件 其中有个ma
  • 关于sshd服务无法开启的问题集合

    SSHD服务开启问题集合 报错1 错误 systemctl restart sshd Failed to restart sshd service Interactive authentication required See system
  • 沈师 PTA 数据库题目及部分解析 第一章

    判断题 1 一个数据库只有一个模式和一个内模式 T 2 数据模型是由数据结构 数据操作和完整性约束三部分组成的 T 3 由于数据库中的数据是不断更新的 因此关系模式是相对变化的 F 解析 关系模式不会相对变化 变化的是实例 4 数据库中的数
  • linux中vim/gvim的安装与verilog,systemverilog语法高亮显示

    linux中vim gvim的安装参考如下链接 https blog csdn net Stone Age article details 47276995 utm source blogxgwz8 安装完后 在用户目录下vim和gvim都
  • SpringBoot集成redis

    一 下载安装redis 1 官网地址 https redis io 2 GitHub地址 https github com MicrosoftArchive redis tags 3 安装 自行安装 二 SpringBoot集成redis
  • 【odoo】创建带用户类型的odoo用户,基于xml

  • 3dmax卡顿、卡死 怎么解决?

    一般3dmax容易卡 主要有下面几个原因 1 Win10自带的微软输入法引起的 2 3dmax病毒引起的 3 3d场景太多垃圾引起的 4 模型太大 5 显卡驱动或显示模式不正确 如果是Win10自带的微软输入法引起的 只需要将Win10下面
  • 【web漏洞】PHP反序列化

    目录 知识点 反序列化常用方法 序列化的 构造payload 运行顺序 反序列化的 实现payload 运行顺序 绕过 wakeup tostring 知识点 序列化 serialize 对象的状态信息转换为可以存储或传输的形式的过程 在序
  • CUDA_NVCC_FLAGS set

    NVIDIA CUDA C 编译器 nvcc 基于每个内核 既可以用来产生特定于体系结构的 cubin 文件 又能产生前向兼容的 PTX 版本 每个 cubin 文件针对特定的计算能力版本 并且仅与相同主要版本号的 GPU 架构向前兼容 例
  • 网页制作神器—ElementUI(小白入门超详细)

    目录 一 前置准备 初始化Vue 项目 二 引入ElementUI 三 使用ElementUI 一 前置准备 1 安装相关环境 使用VsCode或者webstrom初始化Vue 项目 软件环境下载地址 软件 坚果云 同步 备份 无限空间 v
  • 一些工具类

    1 字符串处理工具类 1 1 StrUtils package com study java8 util Classname StrUtils Description 字符串工具类 Date 2023 9 9 9 37 Author jsz
  • Windows7 64位系统下安装 latex:texlive2019 和 texstudio

    1 下载及安装texlive2019 a 网上下载方法很多 TeX套装下载来这里 http www latexstudio net texsoftware b https www tug org texlive c https mirror
  • Ubuntu+Python环境做上位机

    最近需要制作程控电阻箱的上位机 使得大学毕业后就不再接触硬件的我无从下手 拿到机器后不知道怎么与其进行通信 Google上的资料也很少 现将我的环境搭建过程记录下来 希望对和我一样的小白有所帮助 软件环境 Ubuntu 16 04 pyth
  • AcWing4908. 饥饿的牛

    输入样例1 1 5 1 2 输出样例1 2 样例1解释 两捆干草在第 11 天早上被送到了牛棚 所以贝茜第 1 2 天有干草吃 输入样例2 2 5 1 2 5 10 输出样例2 3 样例2解释 两捆干草在第 1 天早上被送到了牛棚 所以贝茜
  • Spring简述

    Sping是什么 Spring主要模块 IOC DI依赖注入的三种方式 AOP 术语 Sping是什么 Spring是一个轻量级的开源框架 主要作用是为了简化开发 它以IOC 控制反转 和AOP 面向切面编程 为内核 Spring主要模块

随机推荐

  • 计算机辅助教学考博,2018年华中科技大学3319计算机辅助设计与制造考博大纲

    资源大小 0 1 10 0 MB 资源类型 rar 发布时间 2020 5 14 23 35 45 资源评分 资源简介 2018年华中科技大学3319计算机辅助设计与制造考博大纲 下载流程 考研真题 点击 考研试卷 下载 考博真题 点击 考
  • 物理机ubuntu系统--远程控制-不接显示器-使用虚拟显示器-设置分辨率1920*1080

    liunx系统与intel显卡驱动不兼容的机制问题 导致有些机器无法在没有显示器的情况下 不能进行远程 向日葵和TeamViewer都不行 因此使用虚拟显示器的软件Xorg 反正网上很多资料 本文只是添加图片 更加详细的过程 以及遇到的情况
  • STM32开发笔记02---新建库函数工程

    架构图 创建工程 首先我们先创建一个资料夹example 路径最好配置为全英文 然后分别在example资料夹内再创建6个资料夹 分别是 Doc Libraries Listing Output Project User 然后开启keil
  • Ethereum账户私钥管理之导出、导出keystore 文件

    目录 前言 一 理解keystore文件的导出 导入 二 导出keystore文件 三 导入keystore文件 并还原成为私钥
  • 软件体系结构实验报告-比较不同的软件架构风格

    报告内容 调试分析KWIC 理解不同架构风格 1 画出每一种风格对应程序的静态结构图 如类图 2 打印出程序的执行过程 3 使用一个较大的输入文本 测试每一种风格程序的性能 4 结合程序 总结每一种架构风格的特点 一 画出每一种风格对应程序
  • JS中将数组作为值添加到对象中

    1 条件 已有对象 myobject key1 value1 key2 value2 key3 value3 已有数组 myarray 1 2 3 4 5 6 2 需求 myobject key1 value1 key2 value2 ke
  • Windows删除Maven本地资源库中lastUpdate和repositories文件的脚本

    一 脚本 1 删除 lastUpdated的文件的脚本 1 在桌面新建txt文档 将后缀改为 bat 文件名称随意 2 添加内容如下 echo off set REPOSITORY PATH C softwore apache maven
  • 02.02.19

    做一件事开始觉得痛苦 别怕继续做下去 因为你已经进入到一个新的阶段 你在融入 因为这种痛苦是付出过的人才体会的到的 开始变得轻松但发现自己更渺小又是一个阶段 你已经融入了 继续的就是坚持 保持一颗 幼稚 上进 的心 走到最后 转载于 htt
  • VUE 实现两个select联动效果

    两个下拉框 当选择A的时候B会跟着联动 template代码
  • docker安装ros的一点记录

    docker本没有图形化界面 但是ros很多时候都要用到rviz来看数据 比较烦人的一件事情 ros的镜像本身的图形化显示本身给人一种没有做完的感觉 需要再做些事情才能正确显示 首先 ros的rviz显示需要opengl的正确支持 而ope
  • mysql [42000][1071] Specified key was too long; max key length is 767 bytes

    今天在MySQL中建立表的时候 报了一个错误 说是key太长了 超戳了767个字节 但是建表语句并有超过指定的长度啊 CREATE TABLE XXL JOB QRTZ JOB DETAILS SCHED NAME VARCHAR 120
  • (二)Ubuntu系统Pytorch环境配置

    1 前言 2 安装miniconda 3 安装Pytorch 4 安装CUDA和cuDNN 5 验证 环境配置系列 一 Ubuntu安装详细教程 从镜像制作到NVIDIA驱动安装全流程 超详细的图文教程 二 Ubuntu系统Pytorch环
  • 图解算法使用python吴灿铭 pdf_图解算法

    像小说一样有趣的算法入门书 算法是解决问题的一步步流程 也是计算机科学领域的核心主题 如今程序员 常用的算法已经经过了前人的探索 检验及证明 如果你想搞明白这些算法 又不想被困在繁琐的证明中 本书正是你的不二选择 这本图示丰富 引人入胜的实
  • 【数据结构】零基础树状数组笔记

    参考和引用 树状数组学习笔记 树状数组 数据结构详解与模板 可能是最详细的了 树状数组 简单介绍 树状数组小结 AcWing 241 楼兰图腾 的题解 树状数组求逆序对模板 转 树状数组逆序对 树状数组的作用 树状数组 也叫做二叉索引树 或
  • CMake 入门与进阶

    目录 cmake简介 cmake的下载 cmake 的使用方法 示例一 单个源文件 cmake生成的中间文件以及可执行文件都放在build目录下 示例二 多个源文件 示例三 生成库文件 动态库和静态库 修改库文件名字 最低版本要求 示例四
  • Set接口介绍

    文章目录 前言 一 Set接口 1 Set接口特点 2 Set的实现类 Set接口提供的方法API 二 HashSet 1 HashSet的特点 2 HashSet的属性 3 HashSet的构造函数 4 HashSet方法 三 Linke
  • java中的循环

    java中的循环有四种 循环由四部分组成 1 初始部分 循环判断的变量 2 循环条件 布尔表达式 3 循环操作 循环执行的代码 4 迭代部分 更新循环变量 1 while循环 while的特点 首次判断不满足 则一次都不会执行 先判断 再执
  • 渗透测试之指纹识别(CMS、CDN、WAF)

    目录 什么是指纹识别 1 cms指纹识别 2 cdn指纹识别 3 WAF指纹识别 什么是指纹识别 通过关键特征 识别出目标的CMS系统 服务器 开发语言 操作系统 CDN WAF的类别 版本等等 其中主要识别以下的信息 1 CMS信息 比如
  • C3PO数据库连接池

    一 数据库连接池原理 连接池基本的思想是在系统初始化的时候 将数据库连接作为对象存储在内存中 当用户需要访问数据库时 并非建立一个新的连接 而是从连接池中取出一个已建立的空闲连接对象 使用完毕后 用户也并非将连接关闭 而是将连接放回连接池中
  • Adversarial Visual Robustness by Causal Intervention

    Motivation 机器能够利用人看不见的pattern对目标进行分类 当测试时pattern不变 那么这些pattern是有益的 被称为predictive features 而当他们在攻击中被篡改时 他们就是混淆因子 本文希望通过因果